项目简介

这是一个包含多个基于 Model Context Protocol (MCP) 实现的服务器端示例的仓库。MCP 是一种协议,旨在标准化地向 LLM 客户端提供上下文信息和功能(如工具调用)。这些示例演示了如何使用 '@modelcontextprotocol/sdk/server' 构建 MCP 服务器。

主要功能点

  • MCP-MVP Server: 一个最小化的 MCP 服务器示例,仅包含一个简单的“hello world”工具,用于演示 MCP 服务器的基本结构和启动方式。
  • Weather Server: 一个功能性的 MCP 服务器示例,提供了天气查询工具。它能够根据地点(经纬度)获取天气预报,或根据州代码获取天气预警信息,并通过 MCP 协议提供给 LLM 客户端调用。
  • Stdio 传输: 两个服务器示例都使用了标准输入输出 (Stdio) 作为与 MCP 客户端通信的传输协议。

这些服务器作为后台进程运行,等待来自 MCP 客户端(通常是 LLM 运行时或应用)的请求,并根据请求执行相应的工具功能并返回结果。

安装步骤

  1. 克隆仓库到本地。
    git clone https://github.com/andyqier88/mcp.git
    cd mcp
  2. 进入你想要构建的服务器目录(例如 'mcp-mvp' 或 'weather')。
    cd mcp-mvp # 或 cd weather
  3. 安装依赖并构建项目。
    npm install
    npm run build
    构建完成后,会在 'build' 目录中生成可执行的 JavaScript 文件(例如 'build/index.js')。

服务器配置

MCP 服务器通常由 MCP 客户端启动和管理。要让 MCP 客户端能够使用这些服务器,需要在客户端的配置中指定如何启动它们。以下是一个示例的 MCP 客户端配置片段(JSON 格式),你需要将其添加到你的 MCP 客户端配置文件中:

{
  "mcpServers": {
    "mcp-mvp": {
      // 启动 MCP-MVP 服务器的命令和参数
      "command": "node", // 指定执行命令,这里是 Node.js
      "args": [
        "D:\\你的路径\\mcp\\mcp-mvp\\build\\index.js" // 指定构建后 index.js 文件的完整路径
      ]
    },
    "weather": {
      // 启动 Weather 服务器的命令和参数
      "command": "node", // 指定执行命令,这里是 Node.js
      "args": [
        "D:\\你的路径\\mcp\\weather\\build\\index.js" // 指定构建后 index.js 文件的完整路径
      ]
    }
  }
}

重要提示: 请将 '"D:\你的路径\mcp\..."' 替换为你本地实际的 'mcp' 仓库路径下构建生成的 'index.js' 文件的完整路径。

基本使用方法

这些服务器是为 MCP 客户端设计的后端服务。用户不直接通过命令行执行 'node build/index.js' 来与其交互(尽管这样可以启动,但无法接收 MCP 请求)。正确的用法是:

  1. 按照上述步骤安装并构建你需要的 MCP 服务器(例如 weather)。
  2. 配置你的 MCP 客户端(如一个 LLM 应用程序或开发环境),使其知道如何启动该服务器,如上面“服务器配置”所示。
  3. 启动你的 MCP 客户端。客户端会自动根据配置启动所需的 MCP 服务器(例如 weather 服务器)。
  4. MCP 客户端将通过 MCP 协议与服务器通信,发现服务器提供的工具(如 'get-forecast', 'get-alerts'),并在需要时调用这些工具。例如,LLM 可能会生成一个工具调用请求,让 weather 服务器查询某个地点的天气。
  5. 服务器执行工具逻辑(如调用 NWS API),并将结果通过 MCP 协议返回给客户端,客户端(或 LLM)可以使用这个结果。

信息

分类

AI与计算