Build or consume Model Context Protocol (MCP) servers and clients in .NET using the official MCP C SDK, including stdio, Streamable HTTP, tools, prompts, resources, and capability negotiation.

MITAuto-check passedAgent Workflows

Install MCP

skills CLI
$ npx skills add managedcode/dotnet-skills --skill mcp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install managedcode/dotnet-skills mcp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/managedcode/dotnet-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/catalog/Libraries/MCP/skills/mcp .claude/skills/mcp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
mcp
GitHub stars
486
Token cost
~3.5k tokens
SKILL.md length
1,240 words
Files
4 (incl. references)
Skills in repo
81
Repo updated
First seen
Licence
MIT

At a glance

Build or consume Model Context Protocol (MCP) servers and clients in .NET using the official MCP C SDK, including stdio, Streamable HTTP, tools, prompts, resources, and capability negotiation.

  • Works in 9 steps: Pick the package and transport first. → Model the MCP surface explicitly. → Prefer attribute discovery for… → …
  • : .NET MCP servers
  • SKILL.md covers Trigger On, Use This Skill Instead Of, Documentation and References, plus 7 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

MCP is an agent skill from managedcode/dotnet-skills. Build or consume Model Context Protocol (MCP) servers and clients in .NET using the official MCP C SDK, including stdio, Streamable HTTP, tools, prompts, resources, and capability negotiation. USE FOR: .NET MCP servers or clients; stdio versus HTTP transport choices; tools, resources, prompts, completions, and capability negotiation. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test…

Its SKILL.md is about 3.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including reference files (for example `manifest.json`, `references/patterns.md` and `references/security.md`). Compatibility notes: Requires the official MCP C SDK packages (ModelContextProtocol.Core, ModelContextProtocol, or ModelContextProtocol.AspNetCore) on .NET 8+; current guidance…

It sits in Agent Workflows, covering MCP servers. It works with Model Context Protocol, .NET and C#. The repository describes itself as: Installable .NET skill catalog and CLI for Codex, Claude Code, GitHub Copilot, and Gemini. The licence is MIT.

When your agent uses it

  • : .NET MCP servers
  • Stdio versus HTTP transport choices
  • Capability negotiation
  • : unrelated stacks

Example prompts

  • “/mcp”

Requirements

  • Compatibility (from SKILL.md): Requires the official MCP C# SDK packages (`ModelContextProtocol.Core`, `ModelContextProtocol`, or `ModelContextProtocol.AspNetCore`) on .NET 8+; current guidance targets the v2.2 SDK and MCP 2026-07-28.

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Pick the package and transport first.
  2. Model the MCP surface explicitly.
  3. Prefer attribute discovery for straightforward servers.
  4. For HTTP servers, use the ASP.NET Core transport and map the endpoint directly.
  5. When consuming a server, use McpClient.CreateAsync(...) and stay capability-aware.
  6. Treat optional features as negotiated capabilities, not assumptions.
  7. Keep HTTP guidance current.
  8. Treat the .NET AI MCP quickstarts as bootstrap examples.
  9. Respect current error and serialization rules.

What it can do on your machine

Read from SKILL.md and the folder at commit 535dd55. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are csharp and mermaid).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • csharp.sdk.modelcontextprotocol.io
    • github.com
    • modelcontextprotocol.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Requires the official MCP C# SDK packages (`ModelContextProtocol.Core`, `ModelContextProtocol`, or `ModelContextProtocol.AspNetCore`) on .NET 8+; current guidance targets the v2.2 SDK and MCP 2026-07-28.

    From compatibility in the SKILL.md frontmatter.

Context cost

MCP loads about 3.5k tokens when it runs, and up to ~8.3k if it reads all its reference files. Until then it costs about 143 tokens; SKILL.md has 1,240 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~143
When it runs · the whole SKILL.md, loaded when a task matches
~3.5k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~8.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from managedcode/dotnet-skills at commit 535dd55, republished under its MIT licence (© managedcode). 1,240 words, ~3,516 tokens.

Download SKILL.mdSave it as .claude/skills/mcp/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
mcp
description
Build or consume Model Context Protocol (MCP) servers and clients in .NET using the official MCP C# SDK, including stdio, Streamable HTTP, tools, prompts, resources, and capability negotiation. USE FOR: .NET MCP servers or clients; stdio versus HTTP transport choices; tools, resources, prompts, completions, and capability negotiation. DO NOT USE FOR: unrelated stacks; generic tasks that do not need this specific guidance. INVOKES: inspect the repository context, edit targeted files, and run relevant build, test, lint, or validation commands when changes are made.
compatibility
Requires the official MCP C# SDK packages (`ModelContextProtocol.Core`, `ModelContextProtocol`, or `ModelContextProtocol.AspNetCore`) on .NET 8+; current guidance targets the v2.2 SDK and MCP 2026-07-28.

MCP C# SDK for .NET

Trigger On

  • building or consuming MCP servers from a .NET application or library
  • choosing between stdio and HTTP transport for MCP
  • exposing tools, resources, prompts, completions, or logging to an MCP host
  • connecting a .NET app to an existing MCP server and passing discovered tools into IChatClient
  • bootstrapping a minimal MCP client/server from the .NET AI quickstarts or publishing a server to the MCP Registry
  • implementing capability-aware flows such as roots, sampling, elicitation, subscriptions, session resumption, or enterprise managed authorization

Use This Skill Instead Of

  • Use mcp when protocol interoperability is the requirement.
  • Use microsoft-extensions-ai when you only need model/provider abstraction or local tool orchestration without the MCP wire protocol.
  • Use microsoft-agent-framework when the main problem is agent orchestration; combine it with mcp only when those agents must consume or expose MCP endpoints.
  • Use the .NET AI quickstarts for the very first vertical slice, then come back here to harden transport, capability negotiation, publishing, and host interoperability.

Documentation

References

Load only what the task needs:

  • references/patterns.md - current server/client patterns, transports, capabilities, filters, and chat-client integration
  • references/security.md - safe error handling, auth boundaries, stdio logging hygiene, and defensive tool/resource patterns

Package Selection

PackageChoose when
ModelContextProtocol.CoreYou only need a client or low-level server APIs and want the smallest dependency set.
ModelContextProtocolYou want the main SDK package with hosting, DI, attribute discovery, and stdio server support. Start here for most projects.
ModelContextProtocol.AspNetCoreYou are hosting a remote MCP server in ASP.NET Core over HTTP. This includes the main package.

Transport Selection

TransportUse whenNotes
StdioClientTransport / WithStdioServerTransport()The MCP server should run as a local child process.Best for local tooling and editor/agent integrations.
HttpClientTransport + HttpTransportMode.StreamableHttpThe server is remote or should be reachable over HTTP.Recommended HTTP transport; supports streaming and session resumption.
HttpTransportMode.SseYou must connect to an older SSE-only server.Legacy compatibility only; do not choose this for new servers.

Current v2.2 Notes

  • The August 2026 .NET AI MCP documentation separates a getting-started hub, client and server quickstarts, MCP Registry publishing, and a server-resource index. Use those pages to bootstrap a vertical slice, then return to the C# SDK docs here for exact transport, capability, authorization, and lifecycle behavior.
  • SDK v2.0.0 aligns with MCP 2026-07-28: HTTP is stateless by default, clients negotiate with server/discover before falling back to legacy initialize, Tasks move to ModelContextProtocol.Extensions.Tasks, and Roots, Sampling, and Logging are deprecated for the new protocol. Set HttpServerTransportOptions.Stateless = false only for an intentional stateful compatibility requirement.
  • SDK v2.1.0 adds an opt-in subscriptions/listen server handler, keeps AutoDetect usable after a provisional SSE failure, preserves HTTP status codes across target frameworks, and falls back to initialize when server/discover fails at the HTTP layer. Add custom notification streams only when both peers negotiate the extension.
  • SDK v2.2.0 adds HttpServerSessionMode so one ASP.NET Core endpoint can serve stateful and stateless clients across the MCP 2025-11-25 and 2026-07-28 protocol versions. Choose the mode explicitly, test both negotiated paths when compatibility matters, and upgrade before working around malformed percent-encoded request headers because the release fixes that decoding failure.
  • Before moving from v1.4.x, update structured-result consumers to accept non-object values directly, require Tool.inputSchema in custom payloads, move Tasks to the extension package, and test PKCE S256 plus issuer validation in OAuth metadata.
  • Enterprise managed authorization now has an SDK surface through IdentityAssertionGrantProvider for the Identity Assertion Authorization Grant flow. Use it only when the enterprise SSO and MCP authorization-server contract is part of the actual scenario.
  • StdioClientTransportOptions.InheritEnvironmentVariables controls whether child-process MCP servers inherit the parent environment. Set it intentionally when launching untrusted or third-party servers.
  • Streamable HTTP session DELETE is hardened to require the same authenticated user that opened the session. Do not build custom session cleanup paths that bypass that authorization check.
  • Stdio transport no longer logs child-process environment variables at trace level, but server authors should still treat environment variables as secrets.
mermaid
flowchart LR
    A["Need MCP interoperability in .NET"] --> B{"Role?"}
    B -->|"Expose MCP surface"| C{"Where will it run?"}
    B -->|"Consume an MCP server"| D{"Transport?"}
    C -->|"Local child process"| E["ModelContextProtocol\nAddMcpServer()\nWithStdioServerTransport()"]
    C -->|"Remote HTTP endpoint"| F["ModelContextProtocol.AspNetCore\nAddMcpServer()\nWithHttpTransport()\nMapMcp()"]
    D -->|"stdio"| G["StdioClientTransport\nMcpClient.CreateAsync()"]
    D -->|"HTTP"| H["HttpClientTransport\nAutoDetect or StreamableHttp"]
    E --> I["Register tools/resources/prompts"]
    F --> I
    G --> J["Check ServerCapabilities\nbefore optional features"]
    H --> J
Show full SKILL.md (575 more words)Show less

Workflow

  1. Pick the package and transport first.

    • Local child-process server: ModelContextProtocol + WithStdioServerTransport().
    • Remote server: ModelContextProtocol.AspNetCore + WithHttpTransport() + MapMcp().
    • Client-only app: start with ModelContextProtocol or ModelContextProtocol.Core.
    • Registry distribution: pair a minimal server with the MCP Registry publishing flow only after the server contract is stable.
  2. Model the MCP surface explicitly.

    • Tools: [McpServerToolType] + [McpServerTool]
    • Resources: [McpServerResourceType] + [McpServerResource]
    • Prompts: [McpServerPromptType] + [McpServerPrompt]
    • Use custom handlers or filters only for cross-cutting behavior, protocol extensions, or advanced routing.
  3. Prefer attribute discovery for straightforward servers.

csharp
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using ModelContextProtocol.Server;
using System.ComponentModel;

var builder = Host.CreateApplicationBuilder(args);
builder.Logging.AddConsole(options =>
{
    options.LogToStandardErrorThreshold = LogLevel.Trace;
});

builder.Services
    .AddMcpServer()
    .WithStdioServerTransport()
    .WithToolsFromAssembly();

await builder.Build().RunAsync();

[McpServerToolType]
public static class EchoTool
{
    [McpServerTool, Description("Echoes the message back to the client.")]
    public static string Echo(string message) => $"hello {message}";
}
  1. For HTTP servers, use the ASP.NET Core transport and map the endpoint directly.
csharp
using ModelContextProtocol.Server;
using System.ComponentModel;

var builder = WebApplication.CreateBuilder(args);

builder.Services
    .AddMcpServer()
    .WithHttpTransport()
    .WithToolsFromAssembly();

var app = builder.Build();
app.MapMcp("/mcp");
app.Run();

[McpServerToolType]
public static class EchoTool
{
    [McpServerTool, Description("Echoes the message back to the client.")]
    public static string Echo(string message) => $"hello {message}";
}
  1. When consuming a server, use McpClient.CreateAsync(...) and stay capability-aware.
csharp
using ModelContextProtocol.Client;
using ModelContextProtocol.Protocol;

var transport = new StdioClientTransport(new StdioClientTransportOptions
{
    Name = "Everything",
    Command = "npx",
    Arguments = ["-y", "@modelcontextprotocol/server-everything"],
});

await using var client = await McpClient.CreateAsync(transport);

IList<McpClientTool> tools = await client.ListToolsAsync();

if (client.ServerCapabilities.Prompts is not null)
{
    var prompts = await client.ListPromptsAsync();
}
  1. Treat optional features as negotiated capabilities, not assumptions.

    • Client capabilities: configure McpClientOptions.Capabilities for roots, sampling, and elicitation.
    • Server capabilities are inferred from registered features.
    • Check client.ServerCapabilities before using completions, logging, prompt list-change notifications, or resource subscriptions.
    • Use client.NegotiatedProtocolVersion or server.NegotiatedProtocolVersion only when version-specific behavior matters.
  2. Keep HTTP guidance current.

    • Streamable HTTP is the recommended transport for remote servers.
    • MapMcp() also serves SSE compatibility endpoints for older clients.
    • HTTP clients can use AutoDetect by default, or force StreamableHttp / Sse.
    • Session resumption is available for Streamable HTTP through McpClient.ResumeSessionAsync(...).
    • For authenticated Streamable HTTP sessions, cleanup and resume operations must preserve the same user boundary.
  3. Treat the .NET AI MCP quickstarts as bootstrap examples.

    • build-mcp-client and build-mcp-server are good starting points when the surrounding app is still MEAI-centric.
    • publish-mcp-registry is the distribution step, not the design step. Stabilize the protocol surface before publishing.
  4. Respect current error and serialization rules.

    • Tool exceptions normally come back as CallToolResult.IsError == true.
    • Throw McpProtocolException only for protocol-level JSON-RPC failures.
    • McpClientTool inherits from AIFunction, so discovered tools can be passed directly into IChatClient.
    • Experimental APIs use MCPEXP... diagnostics; suppress them intentionally, not globally by accident.
    • If you use a custom JsonSerializerContext, prepend McpJsonUtilities.DefaultOptions.TypeInfoResolver so MCP protocol types keep the SDK's contract.

Anti-Patterns To Avoid

Anti-patternWhy it causes troubleBetter approach
Picking HTTP transport for a purely local child-process scenarioAdds unnecessary hosting, auth, and deployment surfaceUse stdio for local/editor-hosted integrations
Treating SSE as the default remote transportLocks new work to legacy behaviorPrefer Streamable HTTP and keep SSE only for backward compatibility
Writing tools without [Description] metadataHosts and models lose schema clarityDescribe tool purpose and parameters explicitly
Returning huge binary/text payloads from every tool callBloats context and slows hostsReturn focused content and move large data to resources
Logging to stdout on stdio serversCorrupts the protocol streamSend logs to stderr
Assuming prompts/resources/logging/completions existBreaks against partial implementationsCheck negotiated capabilities first
Using filters for normal business logicMakes handlers opaque and hard to reason aboutKeep filters for cross-cutting policy, audit, or protocol plumbing

Deliver

  • a correctly packaged MCP server or client that matches the deployment topology
  • explicit tool/resource/prompt definitions with descriptions and bounded payloads
  • capability-aware handling for optional MCP features
  • validation notes for transport, auth boundary, and host/client interoperability

Validate

  • chosen package matches the topology: Core, ModelContextProtocol, or AspNetCore
  • stdio servers do not write logs or diagnostics to stdout
  • HTTP servers use MapMcp() and are tested at the final route, for example /mcp
  • tools, resources, and prompts use current [McpServer*] attributes or documented handler/filter alternatives
  • client code checks ServerCapabilities before using subscriptions, completions, logging, or prompt/resource list-change flows
  • Streamable HTTP is the default for new remote servers; SSE is used only for legacy compatibility
  • experimental APIs and custom serialization settings are reviewed intentionally rather than copied blindly

© managedcode, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files (references) in catalog/Libraries/MCP/skills/mcp of managedcode/dotnet-skills.

  • SKILL.md
  • manifest.json
  • references/patterns.md
  • references/security.md

Open the folder on GitHubat commit 535dd55

Compare with similar skills

MCP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

MCP compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
MCP this skillmanagedcode/dotnet-skills486—~3.5kAutomated safety check: PassMIT
MCP Csharpatherio-danp/cde-dotnetcc109—~1.2kAutomated safety check: NotesNone
Csharp MCP Server GeneratorILoveDotNet/ilovedotnet155—~560Automated safety check: PassCC0-1.0
Dotnet MCP Builderboshi-xixixi/TraeSkill274—~1.7kAutomated safety check: PassMIT
Dotnet MCP Buildergithub/awesome-copilot40k—~2.1kAutomated safety check: PassMIT
Agent Frameworkjihadkhawaja/Egroo178—~1.9kAutomated safety check: PassApache-2.0

Similar skills

  • MCP Csharp

    atherio-danp/cde-dotnetcc

    Create, debug, test, and publish MCP (Model Context Protocol) servers in C using the official ModelContextProtocol SDK — tools/prompts/resources, stdio vs HTTP transport, MapMcp hosting.

    109 GitHub stars~1.2k tokensUpdated 2 mo ago
    Agent WorkflowsAuto-check: notes
  • Csharp MCP Server Generator

    ILoveDotNet/ilovedotnet

    Generate a complete MCP server project in C with tools, prompts, and proper configuration

    155 GitHub stars~560 tokensUpdated yesterday
    Agent WorkflowsAuto-check passed
  • Dotnet MCP Builder

    boshi-xixixi/TraeSkill

    Build Model Context Protocol (MCP) servers in C/.NET against the current ModelContextProtocol 1.x NuGet packages.

    274 GitHub stars~1.7k tokensUpdated 4 mo ago
    Agent WorkflowsAuto-check passed
  • Dotnet MCP Builder

    github/awesome-copilot

    Official

    Build Model Context Protocol (MCP) servers in C/.NET against the current ModelContextProtocol 2.x NuGet packages.

    40k GitHub stars~2.1k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agent Framework

    jihadkhawaja/Egroo

    Build, extend, and debug AI agents in Egroo using the Microsoft Agent Framework (C .NET).

    178 GitHub stars~1.9k tokensUpdated 6 mo ago
    AI & LLM EngineeringAuto-check passed
  • Master C/.NET backend development patterns for building robust APIs, MCP servers, and enterprise applications.

    40k GitHub starsUsed in 7 repos~6.6k tokens
    Backend & APIsAuto-check passed

More from managedcode/dotnet-skills

All 81 skills in this repo
  • Analyzer Config

    managedcode/dotnet-skills

    Use a repo-root .editorconfig to configure free .NET analyzer and style rules.

    486 GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Archunitnet

    managedcode/dotnet-skills

    Use the open-source free ArchUnitNET library for architecture rules in .NET tests.

    486 GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Aspire

    managedcode/dotnet-skills

    Build, upgrade, and operate Aspire 13.5.x C or TypeScript application hosts with the current CLI, AppHost, ServiceDefaults, integrations, dashboard, testing, MCP, and deployment patterns for…

    486 GitHub stars~3.6k tokensUpdated today
    Auto-check passed
  • Aspnet Core

    managedcode/dotnet-skills

    Build, debug, modernize, or review ASP.NET Core applications with correct hosting, middleware, security, configuration, logging, and deployment patterns on current .NET.

    486 GitHub stars~2.1k tokensUpdated today
    Auto-check passed
  • Asynkron Profiler

    managedcode/dotnet-skills

    Use the open-source free Asynkron.Profiler dotnet tool for CLI-first CPU, allocation, exception, contention, and heap profiling of .NET commands or existing trace artifacts.

    486 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Azure Functions

    managedcode/dotnet-skills

    Build, review, or migrate Azure Functions in .NET with correct execution model, isolated worker setup, bindings, DI, and Durable Functions patterns.

    486 GitHub stars~2.6k tokensUpdated today
    Auto-check passed

Categories

Questions about MCP

What does MCP do?

Build or consume Model Context Protocol (MCP) servers and clients in .NET using the official MCP C SDK, including stdio, Streamable HTTP, tools, prompts, resources, and capability negotiation. MCP is an agent skill from managedcode/dotnet-skills.NET using the official MCP C SDK, including stdio, Streamable HTTP, tools, prompts, resources, and capability negotiation.

When should I use MCP?

MCP fits situations like: : .NET MCP servers; stdio versus HTTP transport choices; capability negotiation; : unrelated stacks.

How do I install MCP in Claude Code?

Run `npx skills add managedcode/dotnet-skills --skill mcp -a claude-code`. Or copy the skill folder (catalog/Libraries/MCP/skills/mcp in managedcode/dotnet-skills) into .claude/skills/mcp in your project. Claude Code loads it when a task matches its description.

How do I install MCP in Codex?

Run `npx skills add managedcode/dotnet-skills --skill mcp -a codex`. Or copy the skill folder (catalog/Libraries/MCP/skills/mcp in managedcode/dotnet-skills) into .agents/skills/mcp in your project. Codex loads it when a task matches its description.

Can I use MCP in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add managedcode/dotnet-skills --skill mcp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/mcp, .gemini/skills/mcp, .github/skills/mcp and .opencode/skills/mcp in your project.

What does MCP need to run?

SKILL.md names no scripts, command-line tools or credentials: MCP is instructions for the agent only. Compatibility (from SKILL.md): Requires the official MCP C# SDK packages (`ModelContextProtocol.Core`, `ModelContextProtocol`, or `ModelContextProtocol.AspNetCore`) on .NET 8+; current guidance targets the v2.2 SDK and MCP 2026-07-28..

Does MCP access the network?

SKILL.md names 3 domains. As links in the text: csharp.sdk.modelcontextprotocol.io, github.com and modelcontextprotocol.io. This is read from the text; nothing was executed.

Is MCP safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does MCP use?

MCP is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does MCP use?

About 3.5k tokens (SKILL.md is roughly 14k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.8k tokens, read only when the agent opens those files.

What are the alternatives to MCP?

Skills that share tags, products or a category with MCP: MCP Csharp (atherio-danp/cde-dotnetcc, 109 stars), Csharp MCP Server Generator (ILoveDotNet/ilovedotnet, 155 stars), Dotnet MCP Builder (boshi-xixixi/TraeSkill, 274 stars) and Dotnet MCP Builder (github/awesome-copilot, 40k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains MCP?

managedcode (a GitHub organization) maintains it in managedcode/dotnet-skills, which has 486 GitHub stars. The repository holds 81 skills in this directory. The repository was last updated on October 7, 2026.

Source: managedcode/dotnet-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.