# C\# MCP SDK

Model Context Protocol (MCP) 官方 C\# SDK，由微软合作维护。让 .NET 开发者能够轻松构建 MCP 服务器与客户端，将工具、资源和提示词开放给 Claude、Cursor、Gemini 等 AI 代理。

Canonical URL: https://a2a-mcp.org/entry/csharp-mcp-sdk-zh

Language: zh

Category: Frameworks & SDKs

Updated: 2026-04-11

## 概览

**C# MCP SDK**（代码仓库：modelcontextprotocol/csharp-sdk）是由 Microsoft 合作开发的 Model Context Protocol **官方 .NET SDK**。它允许 .NET 开发者使用地道的 C# API 实现 MCP 服务器与客户端，使 AI 智能体能够便捷地连接到 .NET 应用、企业数据源、内部 API 及自定义工作流。

该 SDK 于 2026 年 3 月发布稳定的 v1.0 版本，全面支持 2025-11-25 MCP 规范。作为官方 MCP 生态中的 Tier 1 级别 SDK，它是 C#/.NET 团队参与日益发展的 MCP 生态系统的推荐方式。

## 核心特性

- **完整 MCP 规范支持**：实现最新的 2025-11-25 协议，包含工具（Tools）、资源（Resources）、提示（Prompts）、启发（Elicitation）、采样（Sampling）以及实验性任务（Tasks）。
- **三个 NuGet 包**：
  - `ModelContextProtocol.Core` — 客户端和底层服务器的轻量依赖。
  - `ModelContextProtocol` — 适用于大多数场景的全功能包。
  - `ModelContextProtocol.AspNetCore` — 与 ASP.NET Core 无缝集成，支持 HTTP/SSE 传输。
- **简易工具定义**：通过属性装饰方法或使用流式 API，将 C# 函数暴露为 MCP 工具，并自动生成 JSON Schema。
- **内置授权机制**：原生支持 OAuth 2.1、OpenID Connect 发现、PKCE 及增量范围同意。
- **多传输协议**：支持 stdio、HTTP、SSE 及 Streamable HTTP。
- **Microsoft.Extensions.AI 集成**：与 Semantic Kernel 及其他 .NET AI 库流畅互操作。
- **生产就绪**：提供可观测性、日志记录、依赖注入、HttpContext 访问及 AOT 兼容选项。
- **完善的文档**：完整 API 文档位于 csharp.sdk.modelcontextprotocol.io。

## 工作原理

### 构建 MCP 服务器（最小示例）
```csharp
using ModelContextProtocol;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddMcpServer()
    .WithHttpTransport()
    .WithTools<MyCustomTools>();

var app = builder.Build();
app.MapMcp();
app.Run();
```

简单定义工具：
```csharp
public class MyCustomTools
{
    [McpTool]
    public string GetWeather(string city) 
        => $"{city} 天气晴朗";
}
```

AI 智能体（如 Claude Desktop、Cursor 等）随后可自动发现并调用这些工具。

## 应用场景

- **企业数据集成**：安全地向 AI 智能体开放内部数据库、CRM 系统或业务 API。
- **面向智能体的 .NET 工具**：构建 MCP 服务器，使 AI 能控制 dotnet CLI、Roslyn 分析器、NuGet 包或 Azure 资源。
- **自定义 AI 工作流**：将遗留 .NET 服务连接到现代智能体应用。
- **混合 AI 应用**：将 MCP 与 Semantic Kernel 或 Microsoft.Extensions.AI 结合，提供丰富的智能体体验。
- **内部开发者工具**：创建组织专属的代码生成、部署或监控工具。

## 快速开始

1. 安装主包：
   ```bash
   dotnet add package ModelContextProtocol
   ```

2. 按照 [GitHub 仓库](https://github.com/modelcontextprotocol/csharp-sdk) 或 [SDK 文档](https://csharp.sdk.modelcontextprotocol.io/) 中的官方快速入门指南进行操作。

3. 探索 [microsoft/mcp-dotnet-samples](https://github.com/microsoft/mcp-dotnet-samples) 中的丰富示例。

该 SDK 适用于控制台应用程序、ASP.NET Core、Azure Functions 等。完全支持服务器和客户端实现。

## 优势

C# MCP SDK 将模型上下文协议的能力引入 .NET 生态系统，提供了熟悉的模式、强类型、依赖注入和企业级安全。它降低了 .NET 团队构建生产级 MCP 服务器的门槛，同时保持与更广泛的 MCP 生态系统（Claude、Cursor、Gemini CLI 等）的完全兼容性。

作为由微软维护的一级官方 SDK，它能及时获得与 MCP 规范演进保持同步的更新，并被广泛用于内部工具和公共 AI 集成。

**官方链接**：
- GitHub: https://github.com/modelcontextprotocol/csharp-sdk
- 文档: https://csharp.sdk.modelcontextprotocol.io/
- .NET 博客公告: https://devblogs.microsoft.com/dotnet/release-v10-of-the-official-mcp-csharp-sdk/

## Tags

- mcp
- csharp
- dotnet
- 框架
- 软件开发工具包
- 人工智能代理
- 微软
- 模型上下文协议
- 工具

## Sources

- [Project website](https://github.com/modelcontextprotocol/csharp-sdk)
