使用说明

项目简介

本项目是一个MCP服务器的参考实现,使用Server-Sent Events (SSE) 作为传输协议,旨在演示如何构建能够与MCP客户端(如Claude、Cursor等)进行实时通信的Web应用后端。它提供工具注册和资源管理功能,使得LLM客户端可以通过标准化的MCP协议访问外部功能和上下文信息。

主要功能点

  • MCP服务器实现: 实现了MCP协议的核心功能,能够处理MCP客户端的请求和响应。
  • SSE传输协议: 使用Server-Sent Events作为主要的通信方式,方便Web应用集成。
  • 工具注册与执行: 示例中注册了 'add' (加法工具) 和 'search' (网页搜索工具),展示了如何扩展LLM的功能。
  • 资源管理: 提供动态 'greeting' 资源,演示了如何通过URI访问和管理上下文信息。
  • 兼容多种MCP客户端: 可以与实现了MCP SSE协议的客户端(如Claude、Cursor、LibreChat等)兼容。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/nerding-io/mcp-sse-example.git
    cd mcp-sse-example
  2. 安装后端依赖:

    cd backend
    npm install
  3. 配置环境变量: 在 'backend' 目录下创建 '.env' 文件,并填入Brave Search API Key (用于 'search' 工具):

    BRAVE_API_KEY=你的Brave_API_KEY

    注意: 如果你不需要使用 'search' 工具,可以暂时不配置 'BRAVE_API_KEY',但启动服务器可能会报API Key相关的错误。

  4. 构建并启动服务器:

    npm run build
    npm run start

    服务器默认会在 'http://localhost:3001' 启动。

服务器配置

MCP客户端需要配置以下信息才能连接到此MCP服务器。这是一个JSON格式的配置示例,你需要将其填入MCP客户端的服务器配置中。

{
  "serverName": "mcp-sse-server",
  "command": "node",
  "args": ["dist/server.js"]
}

配置参数说明:

  • serverName: 服务器名称,这里设置为 "mcp-sse-server",可以自定义,用于在客户端中标识服务器。
  • command: 启动服务器的命令,由于本项目是Node.js项目,所以设置为 "node"。
  • args: 命令参数,指向编译后的服务器入口文件。'dist/server.js' 是 'npm run build' 构建后生成的JavaScript文件路径。

注意: 'command' 和 'args' 的配置是基于项目 'package.json' 中 'npm run start' 命令的实际执行方式推断的。用户可能需要根据实际情况调整,例如如果使用Docker部署,则配置可能会有所不同。 通常情况下,按照上述配置即可成功连接到本地运行的服务器。

基本使用方法

  1. 启动MCP SSE服务器 (按照上面的安装步骤)。
  2. 配置MCP客户端: 在你的MCP客户端(例如Claude、Cursor等)中,添加一个新的自定义服务器连接,并填入上面提供的服务器配置信息。 确保客户端配置的服务器地址指向 'http://localhost:3001/sse'。
  3. 在MCP客户端中使用工具和资源: 连接成功后,你就可以在MCP客户端中使用服务器提供的工具 (例如 '@add') 和资源 (例如 'greeting://{name}') 了。 具体使用方式请参考MCP客户端的文档。 例如,你可以尝试在客户端中输入指令 '@add a=1 b=2' 来调用加法工具,或者使用 'greeting://World' 访问 'greeting' 资源。

信息

分类

开发者工具