使用说明

项目简介

Demo MCP Server 是一个基于 Model Context Protocol (MCP) 的简单示例服务器,旨在演示如何构建一个能够响应 LLM 客户端工具调用请求的后端服务。该服务器实现了一个名为 'get_events_for_this_month' 的工具,允许客户端通过提供 URL 来获取指定网站本月事件的摘要信息。

主要功能点

  • 工具注册与声明: 服务器声明了一个名为 'get_events_for_this_month' 的工具,并描述了其功能、输入参数(URL)和参数类型。
  • 工具调用执行: 当收到客户端调用 'get_events_for_this_month' 工具的请求时,服务器会接收 URL 参数,并向该 URL 发送 HTTP GET 请求,获取 '/content/events' 路径下的内容作为事件摘要。
  • 标准 MCP 通信: 服务器使用 '@modelcontextprotocol/sdk' 库构建,并通过 Stdio (标准输入输出) 进行通信,符合 MCP 协议规范。
  • 错误处理: 当工具调用过程中发生错误(例如网络请求失败)时,服务器会返回包含错误信息的 MCP 响应。

安装步骤

  1. 克隆仓库: 将 GitHub 仓库 'https://github.com/KaiaWalters/DemoMCPServer' 克隆到本地。
  2. 安装依赖: 在仓库根目录下,打开终端并运行 'npm install' 命令安装项目依赖。
  3. 构建项目: 运行 'npm run build' 命令编译 TypeScript 代码到 'build' 目录。

服务器配置

MCP 客户端需要配置以下信息以连接到 Demo MCP Server。以下是一个 JSON 格式的配置示例,你需要根据实际情况调整 'command' 和 'args' 字段中的路径:

{
  "serverName": "DemoMCPServer",
  "command": "node",
  "args": [
    "path/to/DemoMCPServer/build/index.js"  // 将 "path/to/DemoMCPServer" 替换为你的 DemoMCPServer 仓库的绝对路径
  ]
}

配置参数说明:

  • 'serverName': 服务器的名称,可以自定义,用于在客户端标识服务器。
  • 'command': 启动服务器的命令,这里使用 'node' 命令来运行 JavaScript 文件。
  • 'args': 命令的参数数组,这里指定了服务器入口文件 'build/index.js' 的路径。请务必将 'path/to/DemoMCPServer' 替换为你本地仓库的实际绝对路径。

注意: Demo MCP Server 默认监听标准输入输出 (stdio),无需配置端口或协议。客户端和服务器通过 stdio 进行 JSON-RPC 消息的传递。

基本使用方法

  1. 启动服务器: 在终端中,导航到仓库根目录,并运行配置信息中指定的启动命令,例如:'node build/index.js'。 服务器成功启动后,会在控制台输出 'Your MCP server is running on stdio'。

  2. 配置 MCP 客户端: 在你的 MCP 客户端应用中,根据上述 “服务器配置” 部分的说明,配置连接到 Demo MCP Server。

  3. 调用工具: 客户端连接成功后,可以向服务器发送 'ListToolsRequest' 请求获取可用工具列表。列表中会包含 'get_events_for_this_month' 工具。

  4. 执行工具调用: 客户端可以使用 'CallToolRequest' 请求调用 'get_events_for_this_month' 工具,并在请求参数中提供 'url' 字段,指定要获取事件摘要的网址。例如:

    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "callTool",
      "params": {
        "name": "get_events_for_this_month",
        "arguments": {
          "url": "https://example.com/events-page"  // 替换为实际的事件页面URL
        }
      }
    }

    服务器会向 'https://example.com/events-page/content/events' 发送请求,并将返回的内容封装在 MCP 响应中发送回客户端。

重要提示:

  • Demo MCP Server 示例代码中,硬编码了请求的 Base URL 为 'https://localhost:3001'。实际使用时,你需要确保有一个服务运行在 'https://localhost:3001',并且该服务能响应 '/content/events' 路径的 GET 请求,返回事件摘要数据。或者,你需要修改 'src/index.ts' 文件中的 'axiosInstance' 配置,将其 'baseURL' 修改为你实际要访问的目标 API 地址。
  • 这是一个简单的演示示例,仅用于展示 MCP 服务器的基本功能。实际应用中,你可能需要扩展工具的功能,例如处理更复杂的参数、访问数据库、调用其他 API 等。

信息

分类

网页与API