Todo MCP服务器(支持MCP服务器的.NET最小API)
目录
- 目录 - 概述 - 架构图 - 特性 - 工具和MCP客户端 - 先决条件 - 创建一个名为的新项目 TodoMCPServer - 添加所需的NuGet包 - 更新 Program.cs 配置MCP服务器 - 映射REST端点并添加MCP工具 - 如何运行应用程序 - 1.克隆和导航,如果你只想在现有项目中尝试它 - 2.恢复依赖关系 - 3.运行应用程序 - 4.访问接口 - 5.替代发射方法 - 包的依赖 - Web API REST端点 - 端点详细信息表 - Swagger用户界面使用 - MCP工具详细信息 - MCP工具表 - 请求流提示 - MCP JSON配置文件和用法 - - Visual Studio MCP支持 - - - Claude桌面配置 - Claude Desktop对Todo MCP的回应 - Gemini代码辅助配置 - Gemini Code协助对Todo MCP的响应 - 配置比较 - 测试MCP工具 - 使用MCP检查器进行测试 - 部署到Azure应用服务 - 选项A:使用Azure CLI - 选项B:使用Visual Studio - 在Azure中测试Todo REST API - 保护您的端点(可选) - 监视器和标尺 - 端到端流程图 - 客户端通信流程 - 项目结构 - MCP连接故障排除 - 安全说明 - 参考文献
概述
TodoMCPServer是一个现代化的。NET 10应用程序,它将传统的REST API与 模型上下文协议(MCP) 用于待办事项列表管理的服务器功能。该项目既是一个标准的web API,也是一个支持MCP的服务,可以与人工智能助手(如Claude Desktop、Gemini Code Assist和其他兼容MCP的工具)集成。
TodoMCPServer是一个综合实现,它将Todo-web API与模型上下文协议(MCP)服务器支持相结合。该项目演示了如何通过MCP用AI代理工具功能扩展传统的REST API,允许AI助手直接与您的应用程序交互。
架构图
在VS Code中需要美人鱼扩展名
flowchart TD
A[Client Applications] --> B{Interaction Layer}
B --> C[REST API
11 Endpoints]
B --> D[MCP Server
11 Tools]
C --> E[Business Logic Layer]
D --> E
E --> F[Data Access Layer]
F --> G[In-Memory EF Context]
H[Swagger UI] --> C
I[Claude Desktop] --> D
J[VSCode Gemini Code Assist] --> D
K[VSCode GitHub Copilot] --> D
L[Visual Studio GitHub Copilot] --> D
classDef client fill:#3c4556,stroke:#5d6b84,stroke-width:2px,color:#d1d9e8
classDef layer fill:#2a3244,stroke:#3c4556,stroke-width:2px,color:#d1d9e8
classDef interface fill:#2e4a6e,stroke:#4a7bb9,stroke-width:2px,color:#d1d9e8
classDef decision fill:#4a3a7a,stroke:#7b6aa8,stroke-width:2px,color:#d1d9e8
classDef data fill:#2c554c,stroke:#4a8c7d,stroke-width:2px,color:#d1d9e8
class A client
class H,I,J,K,L client
class B decision
class C,D interface
class E,F layer
class G data特性
- 双接口:REST API(11个端点)和MCP服务器(11个工具)
- 现代堆栈: .具有最小API体系结构的NET 10
- 数据库:具有内存数据库提供程序的实体框架核心
- API文档:OpenAPI/Swagger UI集成
- MCP服务器支持:MCP服务器支持使用HTTP和STDIO传输类型
- MCP集成:为主要AI开发工具预配置了Claude Desktop、Gemini Code Assist、Visual Studio Github Copilot和VSCode MCP客户端
- \*\*MCP检查器支持\*\*:使用HTTP或STDIO传输类型的MCP检查器轻松测试MCP工具
- 交叉平台的:在任何支持的平台上运行。净值10
工具和MCP客户端
     
 ](https://visualstudio.microsoft.com/) ](https://code.visualstudio.com/) 
先决条件
- .NET 10 SDK 或以后
- Visual Studio 2025+ 或 VS Code 使用C#开发工具包
- Git 用于版本控制
- 对于MCP测试: VS代码中的GitHub副本, 克劳德桌面, 双子座代码助手,或任何与MCP兼容的客户端
创建一个名为的新项目 TodoMCPServer
dotnet new webapi -n TodoMCPServer
cd TodoMCPServer添加所需的NuGet包
使用以下命令安装所需的软件包:
以下是此项目中使用的NuGet包:
| 包 | 版本 | 描述 |
|---|---|---|
Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore | 10.0.5 | ASP。NET Core中间件用于实体框架核心错误页面。 |
Microsoft.AspNetCore.OpenApi | 10.0.5 | 提供用于为使用ASP.NET构建的web API生成和提供OpenAPI文档的API。NET核心。 |
Microsoft.EntityFrameworkCore.InMemory | 10.0.5 | 实体框架核心内存数据库提供程序。 |
ModelContextProtocol | 1.2.0 | 一种用于在客户端和服务器之间同步模型的协议。 (not needed in this project) |
ModelContextProtocol.AspNetCore | 1.2.0 | ASP。NET Core中间件 ModelContextProtocol. |
Scalar.AspNetCore | 2.13.8 | 中间件,用于公开Swagger UI的嵌入式版本,以可视化您的web API并与之交互。 |
参见以下比较ModelContextProtocol对比ModelContextProtocol.AspNetCore这里
安装以下软件包:
dotnet add package Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore --version 10.0.5
dotnet add package Microsoft.AspNetCore.OpenApi --version 10.0.5
dotnet add package Microsoft.EntityFrameworkCore.InMemory --version 10.0.5
dotnet add package ModelContextProtocol.AspNetCore --version 1.2.0
dotnet add package ModelContextProtocol --version 1.2.0
dotnet add package Scalar.AspNetCore --version 2.13.8注意:Asp实际上不需要ModelContextProtocol。Net Core项目。
更新 Program.cs 配置MCP服务器
builder.Services
.AddMcpServer() // Add MCP server services support
.WithStdioServerTransport() // Use stdio transport for local AI clients
.WithHttpTransport() // Use HTTP transport for web-based clients [not needed if deploying to Azure App Service]
.WithToolsFromAssembly(); // Automatically register all MCP tools in the assembly\[!警告\] 注:。WithStdioServerTransport()需要注释掉,以允许部署到Azure App Service,因为那里不支持stdio传输,否则它将在启动过程中抛出错误。
映射REST端点并添加MCP工具
创建一个新类 Tools\TodoService.cs 并实现用于todo操作的MCP工具。每个工具对应于一个REST API端点。
using ModelContextProtocol.AspNetCore.Tools;
using TodoMCPServer.Models;
public static class TodoService
{
public static void MapEndPoints(this IEndpointRouteBuilder app)
{
app.MapGroup("/todoitems");
app.MapGet("/", TodoTools.GetAllTodos)
.WithSummary("Get All Todo Items")
.WithDescription("Retrieve all todo items, optionally filtered by status query parameter (e.g., ?status=completed).");
app.MapPost("/complete", TodoTools.CompleteTodoItem)
.WithSummary("Complete Todo Item")
.WithDescription("Mark a todo item as complete by its ID.");
// Rest of the code
}
}
[McpServerToolType]
public static class TodoTools
{
// Get all todo items
[McpServerTool(Name = "get_all_todos"), Description("Retrieve all todo items optionally filtered by status.")]
public static async Task
> GetAllTodos(string? status, TodoDb db)
{
if (string.Equals(status, "completed", StringComparison.OrdinalIgnoreCase))
{
return await db.Todos.Where(t => t.IsComplete).ToListAsync();
}
else
{
return await db.Todos.ToListAsync();
}
}
// Other MCP tool implementations go here...
}
如何运行应用程序
1.克隆和导航,如果你只想在现有项目中尝试它
git clone https://github.com/cpateldev/TodoMCPServer.git
cd TodoMCPServer2.恢复依赖关系
dotnet restore3.运行应用程序
dotnet run
# or for development with hot reload
dotnet watch run4.访问接口
- Swagger 用户界面: http://localhost:5000/scalar/v1
- REST API: http://localhost:5000/
- MCP服务器:通过端口5000上的stdio传输提供
5.替代发射方法
- Visual Studio:打开
TodoMCPServer.sln然后按F5 - VS Code:打开文件夹并使用
.NET Core Launch配置
Web API REST端点
API遵循RESTful约定,有11个端点用于全面的Todo管理。
端点详细信息表
| # | HTTP方法 | 端点 | 描述 | 参数 | 请求正文 | 响应类型 |
|---|---|---|---|---|---|---|
| 1 | 获取 | /todoitems/ | 获取所有待办事项 | status (查询,可选)-按状态筛选 | 无 | 数组 Todo |
| 2 | 发布 | /todoitems/{id}/changestatus | 更改待办事项状态 | id (路径,必填), isComplete (可选) | 无 | 单 Todo |
| 3 | 获取 | /todoitems/completed | 获取所有已完成的待办事项 | 无 | 无 | 数组 Todo |
| 4 | 获取 | /todoitems/{id} | 按ID获取特定待办事项 | id (路径,必填)-待办事项ID | 无 | 单 Todo |
| 5 | 获取 | /todoitems/ids | 按ID获取多个待办事项 | ids (查询,必填)-ID数组 | 无 | ID数组 Todo |
| 6 | 获取 | /todoitems/search/{name} | 按名称搜索待办事项 | name (路径,必填)-搜索词 | 无 | 数组 Todo |
| 7 | 发布 | /todoitems/add | 添加新待办事项 | 无 | Todo 对象 | 单个 Todo |
| 8 | 补丁 | /todoitems/update/{id} | 更新特定待办事项 | id (路径,必填)-待办事项ID | Todo 对象(部分更新) | 单个 Todo |
| 9 | 发布 | /todoitems/batchupdate | 批量更新待办事项 | 无 | 数组 Todo 对象 | 数组 Todo |
| 10 | 删除 | /todoitems/delete/{id} | 删除特定待办事项 | id (路径,必填)-待办事项ID | 无 | 单 Todo (已删除项目) |
| 11 | 获取 | /todoitems/exists/{id} | 检查待办事项是否存在 | id (路径,必填)-待办ID | 无 | boolean |
标量API资源管理器使用
- 打开 http://localhost:5000/scalar/v1 在您的浏览器中。
- 浏览可用REST端点的列表。
- 单击任何端点以查看详细信息、参数和示例有效载荷。
- 选择“试用”以发送实时请求并查看实时响应。
- 查看每个端点的请求/响应模式和示例数据。
Scalar UI为测试和探索API提供了交互式OpenAPI/Swagger体验。
MCP工具详细信息
MCP服务器提供11个镜像REST API功能的工具,使人工智能助手能够与Todo系统交互。
MCP工具表
| # | 工具名称 | 描述 | 输入参数 | 返回类型 | HTTP等效值 |
|---|---|---|---|---|---|
| 1 | get_all_todos | 检索所有待办事项(可选按状态筛选)。 | status (字符串,可选) | 列表 | 获取/待办事项/ |
| 2 | get_todo_by_id | 根据待办事项的ID检索待办事项 | id (int) | Todo | GET/todoitems/{id} |
| 3 | get_todos_by_ids | 按ID检索多个待办事项。 | ids (int\[\]) | 列表 | GET/todoitems/ids |
| 4 | search_todos_by_name | 按名称搜索待办事项。 | name (字符串) | 列表 | GET/todoitems/搜索/{name} |
| 5 | 添加待办事项 | 添加一个新的待办事项。 | todo (待办事项) | 待办事项 | 发布/待办事项/添加 |
| 6 | 更新待办事项 | 按id更新现有待办事项 | id (int), inputTodo (全部) | 全部 | PATCH /todoitems/update/{id} |
| 7 | batch_update_todo_items | 批量更新待办事项。 | todos (Todo\[\]) | 列表 | POST/待办事项/批更新 |
| 8 | 删除待办事项 | 按ID删除待办事项 | id (int) | 待办事项 | 删除/待办事项/删除/{id} |
| 9 | get_completed_todos | 检索所有已完成的待办事项。 | 无 | 列表 | GET/todoitems/已完成 |
| 10 | change_status_todo_item | 根据待办事项的ID更改其状态 | id (int), isComplete (bool,可选,默认为true) | Todo | POST/todoitems/{id}/changestatus |
| 11 | todo_exists | 按ID检查todo项目是否存在 | id (int) | bool | GET/todoitems/exists/{id} |
请求流提示
sequenceDiagram
participant Client as MCP Client Prompt (Github Copilot / Claude / Gemini)
participant MCPServer as Todo MCP Server
participant API as REST API Layer
participant DB as (EF Core) In-Memory DB
Client->>MCPServer: Prompt to Tool Request (e.g., get_all_todo)
MCPServer->>API: Process MCP Request
API->>DB: Execute Database Operation
DB-->>API: Return Data
API-->>MCPServer: Format Response
MCPServer-->>Client: Return Tool ResultMCP JSON配置文件和用法
Visual Studio Github复制副本配置
Visual Studio支持使用HTTP和stdio传输类型进行MCP集成。 创建新文件:\.mcp.json或%USERPROFILE%\.mcp.json。我们建议您使用Visual Studio编辑此文件,以便自动应用其JSON架构。
运输类型: http
{
"servers": {
"TodoMcpServer": {
"type": "http",
"url": "http://localhost:5000/api/mcp"
}
}
}Visual Studio MCP支持
与Visual Studio GitHub Copilot一起使用: http:
- 仅适用于Visual Studio 2026。
- 将配置放入
.mcp.json解决方案目录或用户配置文件目录中的文件。 - 使用VS 2026或使用
dotnet run或dotnet watch命令 - 点击
Startjson块上方的链接.mcp.json - 通过上图所示的GitHub Copilot AI助手面板访问todo工具
VS代码GitHub副本配置
VS Code支持使用HTTP和stdio传输类型的MCP集成。 .vscode\mcp.json运输类型: http
{
"servers": {
"TodoMcpServer": {
"type": "http",
"url": "http://localhost:5000/api/mcp"
}
}
}与VS Code GitHub Copilot一起使用: http:
- 确保在VS代码设置中chat.mcp.enabled为true。
- 将配置放入
.vscode\mcp.json。有关更多详细信息,请参阅VSCode MCP文档。 - 使用运行项目
dotnet run或dotnet watch命令 - 点击
Startjson块上方的链接.vscode\mcp.json - 通过AI助手面板访问todo工具
传输类型:stdio
{
"servers": {
"TodoMcpHttpServer": {
"type": "stdio",
"command": "dotnet",
"args": ["run", "--project", "ToDoMCPServer.csproj"]
}
}
}与VS Code GitHub Copilot一起使用: stdio
- 确保在VS代码设置中chat.mcp.enabled为true。
- 将配置放入
.vscode\mcp.json。有关更多详细信息,请参阅VSCode MCP文档。 - 点击
Startjson块上方的链接.vscode\mcp.json
- 不需要使用运行项目
dotnet run或dotnet watch命令as stdio transport将启动项目
- 在输出控制台中等待“MCP服务器已启动”消息
- 通过GitHub Copilot AI助手面板访问todo工具
GitHub Copilot对Todo MCP的回应
Claude桌面配置
运输类型: stdio only
claude-desktop-config.json{
"mcpServers": {
"TodoMcpHttpServer": {
"type": "stdio",
"command": "dotnet",
"args": [
"run",
"--project",
"
\\TodoMCPServer.csproj"
]
}
}
}使用Claude Desktop:
- 找到Claude配置:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或%APPDATA%\Claude\claude_desktop_config.json(Windows) - 使用上面显示的现有设置更新配置。确保提供完整的路径
TodoMCPServer.csproj - 重新启动克劳德桌面
- 使用自然语言,如“显示我的所有待办事项”或“为明天的会议创建一个新的待办事项”
Claude Desktop对Todo MCP的回应
Gemini代码辅助配置
\*\*运输类型: stdio only \*\*
.gemini\settings.json{
"mcpServers": {
"TodoMcpHttpServer": {
"type": "stdio",
"command": "dotnet",
"args": ["run", "--project", "ToDoMCPServer.csproj"]
}
}
}使用Gemini代码辅助:
- 打开VS Code>Gemini Code Assist聊天窗口
- 输入/mcp
- 打开命令面板(
Ctrl + Shift + P)并选择Developer: Reload Windows选项。 - Gemini Code Assist将显示settings.json中的MCP服务器。本例将显示11个工具
Gemini Code协助对Todo MCP的响应
配置比较
| AI MCP工具 | 配置位置 | 关键属性 | 注释 |
|---|---|---|---|
| VS代码:GitHub副本 | 项目>.vcode\\mcp.json | type,command, args或 http, url | 支持stdio或http传输 |
| 克劳德桌面 | 克劳德桌面配置 | type,command, args | 仅支持stdio传输 |
| VS代码:Gemini代码辅助 | 项目>.ggemini\\settings.json | type,command, args | 仅支持stdio传输 |
测试MCP工具
- 启动服务器:
dotnet run或dotnet watch - 连接客户端 使用上述配置之一
- 用自然语言测试:
- “完成所有待办事项” - “创建修复错误报告的待办事项” - “将待办事项#3标记为完成”
使用MCP检查器进行测试
- MCP检验员测试
- 使用 MCP检查员 通过发送请求和查看响应来直接测试MCP工具。 - 根据您的设置,配置MCP检查器以使用HTTP或stdio传输连接到TodoMCPServer。
- 运行MCP检查器并连接到Todo MCP服务器
- 打开PowerShell或终端并运行 npx -y @modelcontextprotocol/inspector 命令,请参阅下面的http和stdio传输示例 - 这应该会在浏览器中打开MCP检查器UI - 使用HTTP或stdio传输配置与Todo MCP服务器的连接,如下图所示
使用MCP检查器进行测试-HTTP
MCP检查员命令HTTP运输: > 对于http传输使用:http://localhost:5000/api/mcp,您必须首先使用以下命令启动服务器dotnet run命令。
npx -y @modelcontextprotocol/inspector http http://localhost:5000/api/mcpTesting using MCP Inspector - http
使用MCP检查器进行测试-STDIO
MCP检查员命令STDIO运输: > 对于stdio传输:单击ConnectMCP Inspector UI中的按钮,无需先启动服务器,因为stdio传输将启动服务器进程。 确保shell或终端的当前目录是项目目录,其中ToDoMCPServer.csproj文件已找到。
npx -y @modelcontextprotocol/inspector stdio "dotnet run --project ToDoMCPServer.csproj"______________________________________________________________________
部署到Azure应用服务
选项A:使用Azure CLI
- 登录:
az login- 创建资源组:
az group create --name TodoMcpRG --location eastus- 部署应用服务:
az webapp up --runtime "DOTNET|10.0" --sku B1 \
--name TodoMcpServerApp --resource-group TodoMcpRG此命令用于构建、发布和部署您的应用程序。
______________________________________________________________________
选项B:使用Visual Studio
- 在Visual Studio中配置发布配置文件。
- 右键单击项目→ 发布 → Azure应用服务(Windows/Linux).
- 选择订阅、资源组和应用服务计划。
- 发布。
______________________________________________________________________
在Azure中测试Todo REST API
- 休息:
curl https://TodoMcpServerApp.azurewebsites.net/todos- MCP工具:
- get_todos → 退回物品 - add_todo → 添加新项目
______________________________________________________________________
保护您的端点(可选)
添加JWT/OAuth身份验证:
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = "https://login.microsoftonline.com//v2.0";
options.Audience = "";
});
builder.Services.AddAuthorization();
app.MapMcp("api/mcp").RequireAuthorization();然后为您的服务器配置Azure AD应用程序注册。
______________________________________________________________________
监视器和标尺
- 启用 应用洞察 用于记录MCP请求。
- 配置 自动扩缩容 在应用程序服务计划中进行负载处理。
______________________________________________________________________
端到端流程图
flowchart TD
subgraph "MCP Clients Ecosystem"
A[Claude Desktop]
B[VS Code with MCP]
C[Cursor IDE]
D[Gemini Code Assist]
E[Custom MCP Client]
end
subgraph "Azure App Service Deployment"
F[Azure App Service
TodoMCPServer]
G[Web API Layer
ASP.NET Core 10]
H[MCP Server Layer
Stdio Protocol]
I[Business Logic
TodoTools.cs]
J[Data Access
Entity Framework]
subgraph "Database Options"
K1[Azure SQL Database]
K2[Cosmos DB]
K3[In-Memory
Dev/Test]
end
L[Azure Key Vault
Secrets Management]
M[Application Insights
Monitoring]
N[Azure Monitor
Logging & Alerts]
end
subgraph "Development & CI/CD"
O[GitHub Repository]
P[GitHub Actions
CI/CD Pipeline]
Q[Azure Container Registry]
R[Docker Container]
end
%% Client Connections
A -->|STDIO Protocol
over SSH/WebSocket| F
B -->|STDIO Protocol
VS Code Extension| F
C -->|STDIO Protocol
Integrated Client| F
D -->|STDIO Protocol
Google Extension| F
E -->|Custom MCP Protocol| F
%% Internal Azure Flow
F --> G
F --> H
G --> I
H --> I
I --> J
J --> K1
J --> K2
J --> K3
%% Security & Monitoring
F --> L
F --> M
M --> N
%% Deployment Flow
O --> P
P --> Q
Q --> R
R --> F
%% External Services
S[Azure Active Directory
Authentication]
T[Azure API Management
Optional Gateway]
U[Azure Front Door
CDN & WAF]
S --> F
T --> F
U --> F客户端通信流程
sequenceDiagram
participant C as MCP Client (Claude/VS Code)
participant APIM as Azure API Management (Optional)
participant AS as App Service
participant MCP as MCP Server
participant API as Web API
participant DB as Azure SQL
Note over C,DB: Initial Connection
C->>APIM: MCP Handshake Request
APIM->>AS: Forward Request
AS->>MCP: Initialize MCP Server
MCP-->>AS: Server Ready
AS-->>APIM: Handshake Response
APIM-->>C: Connection Established
Note over C,DB: Tool Execution Flow
C->>APIM: Tool Request (e.g., get_all_todos)
APIM->>AS: Forward with Auth
AS->>MCP: Parse & Validate Request
MCP->>API: Call Internal API
API->>DB: Database Query
DB-->>API: Results
API-->>MCP: Formatted Data
MCP-->>AS: MCP-formatted Response
AS-->>APIM: Response
APIM-->>C: Final Result项目结构
TodoMCPServer/
├── .gemini/ # gemini Code Assist configuration folder
│ └── settings.json # config for Gemini Code Assist (MCP)
├── .vscode/ # VS Code configuration (MCP + editor settings)
│ └── mcp.json # MCP configuration for Visual Studio GitHub Copilot
├── ClaudeDesktopConfig/ # Cache folder of Claude Desktop config (MCP)
│ └── claude_desktop_config.json # MCP configuration for Claude Desktop
├── Properties/ # project properties (auto-generated by .NET)
│ └── … # (typically AssemblyInfo, launchSettings, etc.)
├── images/ # static image assets (if any)
│ └── … # (files here)
├── Program.cs # main entry point (ASP.NET minimal API + MCP setup)
├── Readme.md # project README / documentation
├── ToDo.cs # model/entity class (Todo item)
├── ToDoDb.cs # EF Core in-memory DB context
├── TodoItemDTO.cs # Data Transfer Object for Todo (for API / MCP)
├── TodoMCPServer.csproj # .NET project file
├── TodoMCPServer.sln # Solution file
├── TodoMCPServer.http # HTTP request collection (e.g. for testing via REST)
├── TodoService.cs # REST minimal api endpoints + MCP Tools for Todo operations logic
├── appsettings.json # general configuration file
├── appsettings.Development.json # development-specific configuration
└── .mcp.json # MCP configuration for Visual Studio 2026 GitHub Copilot (placed at solution root or user profile root)MCP连接故障排除
- 服务器未启动:确保。NET 10 SDK已安装
- 连接被拒绝:检查端口5000是否可用
- 工具未出现:验证配置文件语法和路径
- 权限问题:确保项目的执行权限
- 数据库为空:内存中的数据库在重新启动时重置;可能需要种子数据
安全说明
- 仅限开发:应用程序重新启动时,内存中的数据库重置
- 无需认证:配置生产使用的身份验证
- 本地网络:默认情况下在本地主机上运行;网络访问更新
- 输入验证:确保所有输入在生产中得到验证
参考文献
- 模型上下文协议(MCP)
- 如何在C#和.NET中构建模型上下文协议(MCP)服务器。NET与实例 \*\*\*
- 用于模型上下文协议的官方C#SDK
- 释放模型上下文协议(MCP)的力量:人工智能集成中的游戏规则改变者 \*\*\*
- 使用C#创建一个最小的MCP服务器并发布到NuGet
- Visual Studio中的MCP服务器
- VS代码中的MCP服务器
- Claude桌面MCP配置
- Gemini代码辅助MCP配置
- C#SDK示例:MCP
- DevBlogs:用C构建模型上下文协议(MCP)服务器#
- 使用构建体育主题MCP服务器。网
- Azure应用服务:教程-AI模型上下文协议服务器(.NET)
- 连接到Foundry代理服务中的模型上下文协议服务器终结点(预览版)-Microsoft Foundry
- 如何使用MCP检查器
