article
README
🚀 猴子 - 模型上下文协议(MCP)服务器
这是一个使用 .NET 9.0 实现的模型上下文协议 (MCP) 服务器。MCP 服务器提供了一种通信协议,用于在基于模型的系统中各组件之间的交互。此实现展示了如何使用自定义工具和服务设置一个基本的 MCP 服务器。
🚀 快速开始
尝试运行
在 VS Code 中配置(使用 GitHub Copilot、Claude 桌面或其他 MCP 客户端):
{
"inputs": [],
"servers": {
"monkeymcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"jamesmontemagno/monkeymcp"
],
"env": {}
}
}
}
运行说明
在终端窗口中运行以下命令来启动 MCP 服务器:
dotnet run --project ./MCP/Server.csproj
✨ 主要特性
核心组件
- MCP 服务器:使用 ModelContextProtocol 库(版本 0.1.0-preview.2)构建。
- 标准输入输出传输:通过 stdio 与客户端通信。
- 自定义工具集成:包含创建和注册 MCP 工具的示例。
服务
- MonkeyService:一个样例服务,从 API 端点获取猴子数据。
- 提供方法以检索所有可用猴子或按名称查找特定猴子的信息。
- 具有缓存功能以提高性能。
可用工具
服务器暴露了几个可以由客户端调用的工具:
猴子工具
- GetMonkeys:返回 JSON 序列化后的所有猴子列表。
- GetMonkey:根据名称获取特定猴子的信息。
回显工具
- Echo:一个简单的工具,回显提供的消息,并在前面加上“hello”前缀。
📦 安装指南
文档未提及具体安装步骤,你可根据运行说明启动服务器。
💻 使用示例
客户端配置示例(C#)
var configuration = new ConfigurationBuilder()
.AddJsonFile("client.json")
.Build();
var mcpClient = new McpClient(configuration);
await mcpClient.StartAsync();
📚 详细文档
配置选项
主机配置
服务器使用 Microsoft.Extensions.Hosting(版本 9.0.3)进行配置:
- 支持从多个来源(JSON、环境变量、命令行)加载配置。
- 提供依赖注入服务的功能。
- 具备日志记录能力。
日志提供程序选项
有多种日志提供程序可用:
- 控制台:输出到标准输出。
- 调试:用于调试目的的日志。
- 文件:将日志写入文件中。
- 事件源:通过事件源进行日志记录。
延伸服务器功能
如果需要更高级的功能,可以参考客户端配置示例(C#)来扩展。
🔧 技术细节
项目结构
- MonkeyService.cs:实现获取猴子数据的服务。
- MonkeyTools.cs:MCP 工具,用于访问猴子数据。
- Program.cs:配置并启动 MCP 服务器的入口点。
依赖项
- Microsoft.Extensions.Hosting(9.0.3):提供主机基础结构。
- ModelContextProtocol(0.1.0-preview.2):MCP 服务器实现。
- System.Text.Json(9.0.3):用于 JSON 的序列化和反序列化。
📄 许可证
此项目在 MIT License 下可用。
微信扫一扫