使用说明
项目简介
本项目 'mcp-servers' 是一系列使用 Typescript 开发的 MCP 服务器示例,展示了如何构建符合 Model Context Protocol 规范的后端服务。这些服务器旨在扩展大型语言模型 (LLM) 的能力,使其能够访问外部数据和服务,例如进行地理位置查询、文件处理和数据可视化。
主要功能点
- 资源 (Resources) 管理 (示例中未明确体现): MCP 服务器可以管理和提供各种资源,尽管此仓库的示例更侧重于工具的实现。
- 工具 (Tools) 注册和执行: 每个子目录(例如 'test-server-simple', 'google-maps', 'csv-xlsx')都实现了一个独立的 MCP 服务器,注册并提供了不同的工具集。
- 'test-server-simple': 提供一个简单的加法计算工具作为示例。
- 'google-maps': 集成 Google Maps API,提供地理编码、地点搜索、距离矩阵、路线规划等多种地图相关的工具。
- 'csv-xlsx': 提供 CSV 和 XLSX 文件处理工具,包括读取文件内容、设置工作目录以及绘制数据图表的功能。
- Prompt 模板 (Prompts) (示例中未体现): 虽然示例代码中没有直接展示 Prompt 模板功能,但 MCP 服务器的设计目标是支持 Prompt 模板的定义和渲染,以实现更灵活的 LLM 交互模式。
- 基于 JSON-RPC 协议通信: 服务器使用 '@modelcontextprotocol/sdk' 库,遵循 MCP 协议规范,通过 JSON-RPC 与客户端进行通信。示例中使用了 'StdioServerTransport',即通过标准输入输出进行通信。
- 能力声明 (Capabilities): 服务器在初始化时声明自身的能力,例如是否支持工具 (tools)。
安装步骤
- 克隆仓库:
git clone https://github.com/mudit14224/mcp-servers.git cd mcp-servers - 安装依赖:
在每个服务器子目录(例如 'test-server-simple', 'google-maps', 'csv-xlsx')下,运行 'npm install' 或 'yarn install' 安装项目依赖。例如,安装 'google-maps' 服务器的依赖:
对其他服务器目录重复此步骤。cd google-maps npm install cd .. - 配置环境变量 (部分服务器需要):
- '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>' 替换为您希望设置的工作目录的绝对路径。
基本使用方法
- 启动 MCP 服务器: 在每个服务器子目录中,运行启动命令。例如,启动 'google-maps' 服务器:
服务器将在标准输入输出上等待 MCP 客户端的请求。cd google-maps node src/index.js - 配置 MCP 客户端: 根据您选择使用的服务器,将上述提供的服务器配置信息添加到您的 MCP 客户端配置中。
- 通过 MCP 客户端与服务器交互: 客户端将通过 JSON-RPC 协议发送请求到服务器,例如 'ListToolsRequest' 获取可用工具列表,或 'CallToolRequest' 调用具体的工具。服务器将返回 JSON-RPC 响应。
例如,客户端可以发送 'ListToolsRequest' 到 'google-maps' 服务器,服务器会返回包含 'maps_geocode', 'maps_search_places' 等工具的列表。然后,客户端可以发送 'CallToolRequest' 调用 'maps_geocode' 工具,并传入地址参数,服务器将调用 Google Maps API 并返回地理编码结果。
信息
分类
AI与计算