使用说明

项目简介

本项目 'mcp-servers' 是一系列使用 Typescript 开发的 MCP 服务器示例,展示了如何构建符合 Model Context Protocol 规范的后端服务。这些服务器旨在扩展大型语言模型 (LLM) 的能力,使其能够访问外部数据和服务,例如进行地理位置查询、文件处理和数据可视化。

主要功能点

  1. 资源 (Resources) 管理 (示例中未明确体现): MCP 服务器可以管理和提供各种资源,尽管此仓库的示例更侧重于工具的实现。
  2. 工具 (Tools) 注册和执行: 每个子目录(例如 'test-server-simple', 'google-maps', 'csv-xlsx')都实现了一个独立的 MCP 服务器,注册并提供了不同的工具集。
    • 'test-server-simple': 提供一个简单的加法计算工具作为示例。
    • 'google-maps': 集成 Google Maps API,提供地理编码、地点搜索、距离矩阵、路线规划等多种地图相关的工具。
    • 'csv-xlsx': 提供 CSV 和 XLSX 文件处理工具,包括读取文件内容、设置工作目录以及绘制数据图表的功能。
  3. Prompt 模板 (Prompts) (示例中未体现): 虽然示例代码中没有直接展示 Prompt 模板功能,但 MCP 服务器的设计目标是支持 Prompt 模板的定义和渲染,以实现更灵活的 LLM 交互模式。
  4. 基于 JSON-RPC 协议通信: 服务器使用 '@modelcontextprotocol/sdk' 库,遵循 MCP 协议规范,通过 JSON-RPC 与客户端进行通信。示例中使用了 'StdioServerTransport',即通过标准输入输出进行通信。
  5. 能力声明 (Capabilities): 服务器在初始化时声明自身的能力,例如是否支持工具 (tools)。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/mudit14224/mcp-servers.git
    cd mcp-servers
  2. 安装依赖: 在每个服务器子目录(例如 'test-server-simple', 'google-maps', 'csv-xlsx')下,运行 'npm install' 或 'yarn install' 安装项目依赖。例如,安装 'google-maps' 服务器的依赖:
    cd google-maps
    npm install
    cd ..
    对其他服务器目录重复此步骤。
  3. 配置环境变量 (部分服务器需要):
    • 'google-maps' 服务器: 需要 Google Maps API Key。请在 Google Cloud Console 获取 API Key,并设置为环境变量 'GOOGLE_MAPS_API_KEY'。
    • 'csv-xlsx' 服务器: 需要设置工作目录 'WORK_DIR' 环境变量,用于指定文件操作的根目录。

服务器配置

以下是各个服务器的 MCP 客户端配置信息示例 (JSON 格式),请根据实际使用场景选择并配置到您的 MCP 客户端中。注意:以下配置信息为 JSON 格式,请勿包含代码注释。

1. 简单计算服务器 (test-server-simple):

{
  "serverName": "mcp-server",
  "command": "node test-server-simple/src/index.js",
  "args": [],
  "description": "提供一个简单的加法计算工具的 MCP 服务器。"
}

2. Google Maps 服务器 (google-maps):

{
  "serverName": "google-maps",
  "command": "node google-maps/src/index.js",
  "args": [],
  "env": {
    "GOOGLE_MAPS_API_KEY": "<YOUR_GOOGLE_MAPS_API_KEY>"
  },
  "description": "提供 Google Maps API 工具的 MCP 服务器。需要配置 Google Maps API Key 环境变量。"
}

注意: 请将 '<YOUR_GOOGLE_MAPS_API_KEY>' 替换为您实际的 Google Maps API Key。

3. CSV/XLSX 文件处理服务器 (csv-xlsx):

{
  "serverName": "csv-xlsx",
  "command": "node csv-xlsx/src/index.js",
  "args": [],
  "env": {
    "WORK_DIR": "<YOUR_WORKING_DIRECTORY>"
  },
  "description": "提供 CSV 和 XLSX 文件处理工具的 MCP 服务器。需要配置工作目录 WORK_DIR 环境变量。"
}

注意: 请将 '<YOUR_WORKING_DIRECTORY>' 替换为您希望设置的工作目录的绝对路径。

基本使用方法

  1. 启动 MCP 服务器: 在每个服务器子目录中,运行启动命令。例如,启动 'google-maps' 服务器:
    cd google-maps
    node src/index.js
    服务器将在标准输入输出上等待 MCP 客户端的请求。
  2. 配置 MCP 客户端: 根据您选择使用的服务器,将上述提供的服务器配置信息添加到您的 MCP 客户端配置中。
  3. 通过 MCP 客户端与服务器交互: 客户端将通过 JSON-RPC 协议发送请求到服务器,例如 'ListToolsRequest' 获取可用工具列表,或 'CallToolRequest' 调用具体的工具。服务器将返回 JSON-RPC 响应。

例如,客户端可以发送 'ListToolsRequest' 到 'google-maps' 服务器,服务器会返回包含 'maps_geocode', 'maps_search_places' 等工具的列表。然后,客户端可以发送 'CallToolRequest' 调用 'maps_geocode' 工具,并传入地址参数,服务器将调用 Google Maps API 并返回地理编码结果。

信息

分类

AI与计算