使用说明
mcp hello world服务器
一个最小模型上下文协议(MCP)服务器,实现了一个简单的 echo 工具。此服务器通过stdio传输连接到Claude Desktop,并演示了基本的MCP服务器实现模式。
概述
这是一个MCP服务器的“Hello World”示例,它:
- 实现一个简单的工具:
echo-将输入文本作为输出返回 - 通过stdio传输连接到Claude Desktop
- 优雅地处理工具调用和错误
- 适当地记录(到stderr,而不是stdout)
先决条件
- Node.js(v18或更高版本)
- npm或纱线
- Claude桌面应用程序
安装
- 克隆或下载此存储库
- 安装依赖项:
npm install
建筑
将TypeScript源代码构建为JavaScript:
npm run build
编译后的输出将在 build/ 目录。
配置
Claude桌面配置
要将此服务器与Claude Desktop一起使用,您需要将其添加到Claude Desktop配置文件中。
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 窗户:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
配置:
{
"mcpServers": {
"hello-world": {
"command": "node",
"args": ["/absolute/path/to/mcp-hello-world-server/build/index.js"]
}
}
}
重要提示:
- 使用构建的绝对路径
index.js文件 - 替换
/absolute/path/to/mcp-hello-world-server与你的实际路径 - 更改后,完全退出并重新启动Claude Desktop(不要只是关闭窗口)
用法
- 构建服务器:
npm run build - 使用服务器路径更新Claude Desktop配置(使用绝对路径)
- 完全重新启动Claude Desktop(退出并重新打开)
- 打开Claude Desktop并验证服务器连接
- 让克劳德使用回声工具:
- “使用回声工具打招呼”
- “用消息‘你好,MCP!’调用回声工具”
echo工具将返回您提供给它的任何消息。
工具:echo
服务器提供了一个工具:
- 姓名:
echo - 说明: 完全按照提供的内容返回输入文本
- 参数:
message(字符串,必填):要回显的文本
发展
项目结构
mcp-hello-world-server/
├── .gitignore
├── LICENSE
├── package.json # Dependencies and scripts
├── tsconfig.json # TypeScript configuration
├── REQUIREMENTS.md # Detailed requirements
├── README.md # This file
└── src/
└── index.ts # MCP server entry point
脚本
npm run build-将TypeScript编译为JavaScriptnpm start-运行内置服务器(用于测试)
编码结构
服务器实现:
- 用途
@modelcontextprotocol/sdk用于MCP协议支持 - 实现
ListToolsRequestSchema暴露可用工具的处理程序 - 实现
CallToolRequestSchema处理工具调用的处理程序 - 用途
StdioServerTransport用于与Claude Desktop通信 - 所有日志记录都会进入stderr(stdout保留用于MCP协议消息)
故障排除
服务器未出现在Claude Desktop中
- 解决方案: 配置更改后重新启动Claude Desktop(完全退出并重新打开)
- 解决方案: 检查配置中的绝对路径是否正确
- 解决方案: 验证生成输出是否存在:
ls -la build/index.js
stdio错误
- 解决方案: 确保所有日志记录的使用
console.error(),不console.log() - 解决方案: stdout仅保留用于MCP协议消息
工具未出现
- 解决方案: 工具名称只能是字母数字+下划线/连字符
- 解决方案: 验证工具架构是否为有效的JSON架构
- 解决方案: 检查服务器日志中的架构验证错误
构建错误
- 解决方案: 确保TypeScript编译:
npm run build - 解决方案: 检查导入路径问题(使用
.js进口延期) - 解决方案: 验证是否安装了所有依赖项:
npm install
资源
许可证
麻省理工学院
