项目简介

这是一个基于 Model Context Protocol (MCP) 的 "Hello World" 服务器示例,旨在帮助开发者快速了解和上手 MCP 服务器的开发。它预置了资源、Prompt 和工具,展示了 MCP 服务器的基本功能,可以作为 MCP 服务器开发的起点。

主要功能点

  • 资源 (Resources):
    • 提供静态 "Hello World" 问候资源。
    • 提供动态问候资源,可以根据请求的名称参数返回个性化问候语。
  • Prompt 模板 (Prompts):
    • 提供一个简单的 "helpful-assistant" Prompt 模板,用于设定对话助手的角色。
  • 工具 (Tools):
    • 提供一个 "echo" 工具,可以接收消息并添加 "Hello" 前缀后返回,用于演示工具的基本调用。
    • 提供一个 "sg_search" 工具,可以调用 Sourcegraph API 进行代码搜索(需要配置 Sourcegraph Token 环境变量)。
  • 传输协议:
    • 支持通过 STDIO (标准输入输出) 和 HTTP (SSE - Server-Sent Events) 两种传输协议与 MCP 客户端通信。

安装步骤

  1. 确保已安装 Node.js 和 npm。
  2. 克隆或下载该仓库到本地。
  3. 在仓库根目录下打开终端,运行以下命令安装项目依赖:
    npm install

服务器配置

对于 MCP 客户端(如 Claude Desktop),你需要配置以下信息来连接到此 MCP 服务器。配置信息添加到客户端的 'claude_desktop_config.json' 文件中 (或其他 MCP 客户端的相应配置文件)。

  • 使用 STDIO 传输协议 (推荐 Claude Desktop 使用):

    {
      "mcpServers": {
        "hello-world": {
          "command": "node",
          "args": ["<path-to-repo>/mcp-ts-starter/build/stdio.js"]
        }
      }
    }

    请将 '<path-to-repo>' 替换为 仓库的绝对路径。例如,如果你的仓库路径是 '/Users/yourname/mcp-ts-starter',则应替换为 '/Users/yourname/mcp-ts-starter'。

  • 使用 HTTP (SSE) 传输协议:

    {
      "mcpServers": {
        "hello-world-http": {
          "command": "node",
          "args": ["<path-to-repo>/mcp-ts-starter/build/http.js"]
        }
      }
    }

    同样,请将 '<path-to-repo>' 替换为 仓库的绝对路径。HTTP 服务器默认端口为 '3000',可以通过设置 'PORT' 环境变量来修改端口。

基本使用方法

  1. 启动服务器:
    • STDIO: 在终端中,进入仓库根目录,运行 'npm run start' 命令启动 STDIO 服务器。
    • HTTP: 在终端中,进入仓库根目录,运行 'npm run start:http' 命令启动 HTTP 服务器。
  2. 配置 MCP 客户端:
    • 根据你选择的传输协议,将上面提供的服务器配置信息添加到你的 MCP 客户端配置文件中,并确保将 '<path-to-repo>' 替换为正确的仓库路径。
  3. 连接和测试:
    • 启动 MCP 客户端,客户端应该能够自动连接到配置的 MCP 服务器。
    • 在客户端中,你可以尝试访问服务器提供的资源、Prompt 和工具,例如:
      • 访问 'hello://world' 资源,应该返回 "Hello, World from the resource!"。
      • 访问 'greeting://yourname' 资源 (将 'yourname' 替换为你的名字),应该返回个性化问候语。
      • 调用 'echo' 工具并传入消息,应该返回带有 "Hello" 前缀的回显消息。
      • 如果配置了 Sourcegraph Token 环境变量,可以尝试使用 'sg_search' 工具进行代码搜索。

注意事项

  • 首次运行前请务必执行 'npm install' 安装依赖。
  • 启动服务器后,请保持终端窗口运行,关闭终端窗口会停止服务器。
  • HTTP 服务器的 SSE 协议端点为 '/sse',消息接收端点为 '/messages'。

信息

分类

开发者工具