CrestApps.OrchardCore.AgentSkills.Mcp
1.0.0-beta-0010
dotnet add package CrestApps.OrchardCore.AgentSkills.Mcp --version 1.0.0-beta-0010
NuGet\Install-Package CrestApps.OrchardCore.AgentSkills.Mcp -Version 1.0.0-beta-0010
<PackageReference Include="CrestApps.OrchardCore.AgentSkills.Mcp" Version="1.0.0-beta-0010" />
<PackageVersion Include="CrestApps.OrchardCore.AgentSkills.Mcp" Version="1.0.0-beta-0010" />
<PackageReference Include="CrestApps.OrchardCore.AgentSkills.Mcp" />
paket add CrestApps.OrchardCore.AgentSkills.Mcp --version 1.0.0-beta-0010
#r "nuget: CrestApps.OrchardCore.AgentSkills.Mcp, 1.0.0-beta-0010"
#:package CrestApps.OrchardCore.AgentSkills.Mcp@1.0.0-beta-0010
#addin nuget:?package=CrestApps.OrchardCore.AgentSkills.Mcp&version=1.0.0-beta-0010&prerelease
#tool nuget:?package=CrestApps.OrchardCore.AgentSkills.Mcp&version=1.0.0-beta-0010&prerelease
CrestApps.OrchardCore.AgentSkills.Mcp
A runtime NuGet package that exposes Orchard Core agent skills to MCP (Model Context Protocol) servers using the MCP C# SDK.
This package loads skill files at runtime via OrchardCore's FileSystemStore and registers them as MCP prompts and resources through dedicated provider classes. It does not copy files to the solution — use the companion CrestApps.OrchardCore.AgentSkills package for local AI authoring.
Role in CrestApps.AgentSkills
CrestApps.OrchardCore.AgentSkills.Mcp is the Orchard Core runtime project in the CrestApps.AgentSkills repository. It solves the problem of exposing Orchard Core skills via MCP by loading the packaged skills and wiring them into an MCP server at runtime.
Install
dotnet add package CrestApps.OrchardCore.AgentSkills.Mcp
Usage
builder.Services.AddMcpServer(mcp =>
{
mcp.AddOrchardCoreSkills();
});
Register Services Only (No Eager Loading)
To register the skill services in DI without eagerly loading them:
builder.Services.AddOrchardCoreAgentSkillServices();
The consumer is then responsible for resolving IMcpPromptProvider and IMcpResourceProvider and attaching them to the MCP server.
With Custom Path
builder.Services.AddMcpServer(mcp =>
{
mcp.AddOrchardCoreSkills(options =>
{
options.Path = "./custom-skills";
});
});
Resolving Providers from DI
The file store and providers are registered as singletons and can be injected:
public sealed class MyService
{
private readonly IMcpPromptProvider _promptProvider;
private readonly IMcpResourceProvider _resourceProvider;
public MyService(
IMcpPromptProvider promptProvider,
IMcpResourceProvider resourceProvider)
{
_promptProvider = promptProvider;
_resourceProvider = resourceProvider;
}
public async Task ListPromptsAsync()
{
var prompts = await _promptProvider.GetPromptsAsync();
// ...
}
}
Requirements
- MCP C# SDK (
ModelContextProtocolNuGet package) - OrchardCore.FileStorage.FileSystem for file access
- An MCP server host (e.g., ASP.NET Core with
ModelContextProtocol.AspNetCore)
Architecture
Services
| Service | Lifetime | Purpose |
|---|---|---|
IMcpResourceFileStore |
Singleton | Marker interface wrapping OrchardCore FileSystemStore for skill file access |
McpSkillFileStore |
Singleton | Concrete implementation rooted at the skills directory |
IMcpPromptProvider |
Singleton | Reads SKILL.md files → cached McpServerPrompt instances |
IMcpResourceProvider |
Singleton | Reads SKILL.md + references/*.md files → cached McpServerResource instances |
What Gets Exposed
| MCP Type | Source | Description |
|---|---|---|
| Prompts | SKILL.md files |
Skill body content from Markdown files with front-matter |
| Resources | SKILL.md files |
Full skill file content (front-matter + body) |
| Resources | references/*.md files |
Additional reference documents for each skill |
Skills Included
The package includes all Orchard Core skills organized under the orchardcore/ directory:
| Skill | Description |
|---|---|
orchardcore.ai |
AI service integration and MCP enablement |
orchardcore.background-tasks |
Background task implementation and scheduling |
orchardcore.content-fields |
Content field types and configurations |
orchardcore.content-parts |
Content parts with settings and migrations |
orchardcore.content-queries |
Content querying with YesSql indexes |
orchardcore.content-types |
Content type creation, parts, fields, and stereotypes |
orchardcore.data-migrations |
Database migrations and content type updates |
orchardcore.deployments |
Deployment plans and import/export |
orchardcore.display-management |
Display drivers and view models |
orchardcore.graphql |
GraphQL API queries and custom types |
orchardcore.liquid |
Liquid template tags and filters |
orchardcore.localization |
Multi-language support and PO files |
orchardcore.media |
Media library and storage configuration |
orchardcore.modules |
Module scaffolding, features, and manifests |
orchardcore.navigation |
Admin menus and navigation providers |
orchardcore.placement |
Shape placement and alternates |
orchardcore.recipes |
Recipe structure, steps, and content definitions |
orchardcore.search-indexing |
Lucene/Elasticsearch search configuration |
orchardcore.security |
Authentication, authorization, and security headers |
orchardcore.setup |
Project creation and configuration |
orchardcore.shapes |
Shape rendering and templates |
orchardcore.taxonomies |
Hierarchical taxonomy management |
orchardcore.tenants |
Multi-tenancy configuration |
orchardcore.theming |
Theme scaffolding and layouts |
orchardcore.users-roles |
User management and permissions |
orchardcore.widgets |
Widget layers and placement |
orchardcore.workflows |
Workflow types and custom activities |
How It Works
- Skill files are packed into the NuGet package under
contentFiles/any/any/.agents/skills/orchardcore/. - NuGet copies these files into the project output directory on restore (typically
bin/<config>/.agents/skills/orchardcore/). AddOrchardCoreSkills()registersIMcpResourceFileStore,IMcpPromptProvider, andIMcpResourceProvideras singletons.- At runtime, providers use OrchardCore
FileSystemStoreto read files from the output directory — results are cached after the first call. - MCP clients can discover and use these prompts and resources via the MCP protocol.
Companion Packages
| Package | Purpose |
|---|---|
CrestApps.OrchardCore.AgentSkills |
Dev/design-time — copies skills to solution root for local AI authoring |
CrestApps.OrchardCore.AgentSkills.Mcp |
Runtime — exposes skills via MCP server |
Install both for the full experience.
License
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- CrestApps.AgentSkills.Mcp (>= 1.0.0-beta-0010)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.3)
- ModelContextProtocol (>= 0.8.0-preview.1)
- YamlDotNet (>= 16.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.0.0-beta-0010 | 114 | 2/18/2026 | |
| 1.0.0-beta-0009 | 65 | 2/18/2026 | |
| 1.0.0-beta-0008 | 67 | 2/17/2026 | |
| 1.0.0-beta-0007 | 170 | 2/12/2026 | |
| 1.0.0-beta-0006 | 70 | 2/11/2026 | |
| 1.0.0-beta-0005 | 75 | 2/11/2026 | |
| 1.0.0-beta-0003 | 118 | 2/9/2026 | |
| 1.0.0-beta-0001 | 77 | 2/7/2026 |