CrestApps.OrchardCore.AgentSkills.Mcp 1.0.0-beta-0010

Suggested Alternatives

CrestApps.AgentSkills.Mcp.OrchardCore

This is a prerelease version of CrestApps.OrchardCore.AgentSkills.Mcp.
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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CrestApps.OrchardCore.AgentSkills.Mcp" Version="1.0.0-beta-0010" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="CrestApps.OrchardCore.AgentSkills.Mcp" Version="1.0.0-beta-0010" />
                    
Directory.Packages.props
<PackageReference Include="CrestApps.OrchardCore.AgentSkills.Mcp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add CrestApps.OrchardCore.AgentSkills.Mcp --version 1.0.0-beta-0010
                    
#r "nuget: CrestApps.OrchardCore.AgentSkills.Mcp, 1.0.0-beta-0010"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package CrestApps.OrchardCore.AgentSkills.Mcp@1.0.0-beta-0010
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=CrestApps.OrchardCore.AgentSkills.Mcp&version=1.0.0-beta-0010&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=CrestApps.OrchardCore.AgentSkills.Mcp&version=1.0.0-beta-0010&prerelease
                    
Install as a Cake Tool

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

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

  1. Skill files are packed into the NuGet package under contentFiles/any/any/.agents/skills/orchardcore/.
  2. NuGet copies these files into the project output directory on restore (typically bin/<config>/.agents/skills/orchardcore/).
  3. AddOrchardCoreSkills() registers IMcpResourceFileStore, IMcpPromptProvider, and IMcpResourceProvider as singletons.
  4. At runtime, providers use OrchardCore FileSystemStore to read files from the output directory — results are cached after the first call.
  5. 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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-0010 is deprecated because it is no longer maintained.
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