使用说明
.NET MCP服务器
最低限度 MCP(模型上下文协议)HTTP服务器 实现于 .NET 9 这暴露了两个工具 创建 和 列表 已存储联系人 纪念。它专为教程和快速实验而设计,并包括使用以下工具进行测试的说明 克劳德桌面 通过 mcp-remote.
里面是什么
ManageContacts.McpServer/
├─ Tools/
│ └─ ContactTools.cs # MCP tools: create-contact, list-contacts
├─ Properties/
│ └─ launchSettings.json # Dev profile on http://localhost:5096
├─ appsettings.json
├─ ManageContacts.McpServer.csproj
└─ Program.cs # ASP.NET Core host + MCP HTTP transport (/mcp)
工具
命名空间: ManageContacts.McpServer.Tools.ContactTools
-
create-contact-
说明: 创建新联系人并将其存储在内存中。
-
参数:
fullName(字符串,必填) –联系人的全名。email(字符串,必填) –联系人的电子邮件地址。
-
退货:
{ fullName, email }
-
-
list-contacts-
说明: 列出内存存储中的联系人,可选择按姓名/电子邮件进行筛选。
-
参数:
searchTerm(字符串,可选) –不区分大小写的子字符串与姓名或电子邮件匹配。
-
退货:
Array<{ fullName, email }>
-
⚠️ 数据在内存中。 进程重新启动时,联系人将丢失。
需求
- .NET SDK 9.0
- Node.js (为
npx mcp-remote) - 克劳德桌面 (通过MCP进行测试)
运行服务器
从解决方案根目录(或项目文件夹)运行:
dotnet run --project ManageContacts.McpServer
默认情况下(请参见 launchSettings.json),应用程序会监听:
http://localhost:5096
MCP终点为:
http://localhost:5096/mcp
使用Claude Desktop进行测试
此项目旨在使用 HTTP传输 与Anthropic的 克劳德桌面 通过 mcp-remote.
1) 启动MCP服务器
dotnet run --project ManageContacts.McpServer
确认它正在运行 http://localhost:5096/mcp.
2) 配置Claude桌面
使用您提供的配置。在……里面 克劳德桌面:
- 打开 设置→ 开发者→ 编辑配置 (或您版本中的等效配置编辑器)。
- 粘贴以下JSON:
{
"mcpServers": {
"manage-contacts": {
"command": "npx",
"args": ["-y", "mcp-remote", "http://localhost:5096/mcp"]
}
}
}
保存配置并 重新启动克劳德桌面.
这有什么作用:克劳德会跑
npx -y mcp-remote http://localhost:5096/mcp,它将Claude的MCP客户端连接到您的HTTP MCP服务器。
3) 在聊天中使用工具
打开与Claude的新聊天,尝试以下提示:
- “创建名为的联系人 艾伦·雷普利 通过电子邮件 ellen@test.com."
- “列出所有联系人。”
- “列出包含以下内容的联系人 艾伦 姓名或电子邮件。"
克劳德应该决定打电话给:
create-contact随着{ "fullName": "...", "email": "..." }list-contacts随着{ "searchTerm": "..." }(或无参数)
您将在聊天中看到工具调用结果,您的服务器日志将显示传入的MCP请求。
它是如何工作的(快速浏览)
-
程序cs
builder.Services .AddMcpServer() .WithHttpTransport() .WithToolsFromAssembly(); app.MapMcp("/mcp");这将注册MCP服务器,启用 HTTP传输,扫描组件以查找
[McpServerTool]方法,并将其公开在/mcp. -
ContactTools.cs
- 装饰有
[McpServerToolType]有待发现。 - 标记为的两个公共方法
[McpServerTool(Name = "...")]以暴露工具。 - 使用简单的内存
List<Contact>以存储数据。
- 装饰有
故障排除
-
克劳德看不到工具/没有工具出现
- 确保服务器正在运行
http://localhost:5096/mcp. - 编辑配置后重新启动Claude Desktop。
- 检查一下
npx可用(node -v/npm -v工作)。 - 验证JSON配置(没有尾随逗号,引号正确)。
- 确保服务器正在运行
-
端口冲突/服务器无法启动
-
另一个进程可能正在使用端口
5096.更改applicationUrl在……里面launchSettings.json,或运行:ASPNETCORE_URLS=http://localhost:6000 dotnet run --project ManageContacts.McpServer然后相应地更新Claude配置URL。
-
-
重启后工具重置
- 预期:为了简化教程,存储在内存中。
鸣谢
- 内置于 模型上下文协议 (
ModelContextProtocol和ModelContextProtocol.AspNetCore–0.3.0-preview.3). - 通过测试 克劳德桌面 使用
mcp-remote.
