使用说明
MCP服务器
一种远程模型上下文协议(MCP)服务器实现,为AI助手提供与外部服务交互和执行各种操作的工具。
概述
此MCP服务器实现 模型上下文协议 规范,允许AI助手通过标准化的JSON-RPC接口访问自定义工具和功能。服务器在端口8000上运行,并为基本操作和会话归档提供了几个内置工具。
特性
- JSON-RPC 2.0协议:全面实施MCP规范
- 内置工具:
add:执行基本算术运算reverse:反转文本字符串save_conversation:将对话存档到aiarchives.duckdns.org
- 健康监测:内置健康检查端点
- CORS支持:已启用跨源资源共享
- 错误处理:使用正确的JSON-RPC错误代码进行全面的错误处理
先决条件
- Node.js(版本16或更高)
- npm或yarn包管理器
用法
配置Claude桌面
要将此MCP服务器与Claude Desktop一起使用,您需要将其添加到Claude Desktop配置文件中。
查找配置文件
- 打开克劳德桌面
- 首选 设置 (左下角的齿轮图标)
- 点击 高级 在左侧边栏中
- 点击 打开配置文件夹 -这将打开包含以下内容的文件夹
claude_desktop_config.json - 打开
claude_desktop_config.json在首选文本编辑器中创建文件
添加MCP服务器配置
将以下配置添加到您的 claude_desktop_config.json 文件:
{
"mcpServers": {
"aiarchives": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://aiarchives.duckdns.org/mcp",
"--allow-http",
"--transport",
"http-only"
]
}
}
}
注: 请确保在更改配置文件后重新启动Claude Desktop。
服务器访问
此MCP服务器远程托管,可访问 https://aiarchives.duckdns.org/mcp。如上所述配置完Claude Desktop后,您可以立即开始使用可用的工具,而无需在本地运行任何东西。
注: 服务器始终在运行,并准备通过MCP协议接受请求。
本地部署(可选)
如果您想在本地运行服务器进行开发或测试:
-
启动服务器:
npm start或者直接用Node.js运行:
node server-mcp.js -
更新Claude Desktop配置 指向您的本地服务器:
{ "mcpServers": { "aiarchives": { "command": "npx", "args": [ "-y", "mcp-remote", "http://localhost:8000/mcp", "--allow-http", "--transport", "http-only" ] } } }
重要提示: 在本地运行时 save_conversation 该工具将无法工作,因为它依赖于仅在托管服务器上可用的远程aiarchives API。这 add 和 reverse 工具将正常工作。
可用端点
发布 /mcp
处理JSON-RPC请求的主MCP协议端点。
请求示例:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}
获取 /health
返回服务器状态的健康检查终结点。
答复:
{
"status": "healthy",
"server": "Remote MCP Server",
"timestamp": "2024-01-01T00:00:00.000Z"
}
获取 /mcp
确认服务器正在运行的调试终结点。
可用工具
1. add
执行两个数字的加法。
参数:
a(number):第一个数字b(number):第二个数字
例子:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "add",
"arguments": {
"a": 5,
"b": 3
}
}
}
2. reverse
反转文本字符串。
参数:
text(string):要反转的文本
例子:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "reverse",
"arguments": {
"text": "Hello World"
}
}
}
3. save_conversation
将对话内容保存到aiarchives.duckdns.org,并返回一个可共享的URL。
参数:
conversation(string):HTML或纯文本形式的完整对话内容
例子:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "save_conversation",
"arguments": {
"conversation": "<html><body>Conversation content...</body></html>"
}
}
}
MCP协议方法
服务器实现以下MCP协议方法:
initialize:初始化MCP连接tools/list:列出可用工具tools/call:执行特定工具notifications/initialized:处理客户端初始化通知notifications/cancelled:处理请求取消通知
错误处理
服务器返回正确的JSON-RPC 2.0错误响应和标准错误代码:
-32600:无效请求-32601:未找到方法-32602:无效参数-32603:内部错误
发展
项目结构
mcp-server/
├── server-mcp.js # Main server implementation
├── package.json # Dependencies and scripts
├── .gitignore # Git ignore rules
└── README.md # This file
添加新工具
要添加新工具,请修改 tools/list 响应并在中添加相应的案例 tools/call switch语句 server-mcp.js.
测试
目前,还没有自动测试。您可以使用curl或任何HTTP客户端手动测试服务器:
# Health check
curl http://localhost:8000/health
# List tools
curl -X POST http://localhost:8000/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
依赖项
- 表达:Node.js的Web框架
- 正文分析器:用于解析请求体的中间件
- 课程:跨源资源共享中间件