回声工具服务器

一个实现基础回声功能的MCP协议服务器,通过Claude Desktop提供文本回显服务。

  • by jimareed
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 jimareed/mcp-hello-world-server

使用说明

mcp hello world服务器

一个最小模型上下文协议(MCP)服务器,实现了一个简单的 echo 工具。此服务器通过stdio传输连接到Claude Desktop,并演示了基本的MCP服务器实现模式。

概述

这是一个MCP服务器的“Hello World”示例,它:

  • 实现一个简单的工具: echo -将输入文本作为输出返回
  • 通过stdio传输连接到Claude Desktop
  • 优雅地处理工具调用和错误
  • 适当地记录(到stderr,而不是stdout)

先决条件

  • Node.js(v18或更高版本)
  • npm或纱线
  • Claude桌面应用程序

安装

  1. 克隆或下载此存储库
  2. 安装依赖项:
    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(不要只是关闭窗口)

用法

  1. 构建服务器: npm run build
  2. 使用服务器路径更新Claude Desktop配置(使用绝对路径)
  3. 完全重新启动Claude Desktop(退出并重新打开)
  4. 打开Claude Desktop并验证服务器连接
  5. 让克劳德使用回声工具:
    • “使用回声工具打招呼”
    • “用消息‘你好,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编译为JavaScript
  • npm 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

资源

许可证

麻省理工学院