使用说明
项目简介
本项目 'MCP' 仓库包含多个基于 Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型 (LLM) 客户端提供标准化的上下文信息和功能。仓库主要包含以下几个部分:
- github-server: 一个 MCP 服务器,提供与 GitHub 交互的工具,例如创建 Issue、搜索仓库、查看仓库内容等。
- search-server: 一个 MCP 服务器,提供在本地文件系统中搜索文件和代码定义的工具。
- manager-server: 一个用于管理和配置多个 MCP 服务器的管理器,提供 API 和 Web 界面。
主要功能点
- 资源 (Resources) 管理 (通过工具实现):
- 'github-server' 允许 LLM 客户端访问和操作 GitHub 仓库资源,例如创建 Issue、搜索仓库等。
- 'search-server' 允许 LLM 客户端访问本地文件系统资源,例如搜索文件内容、查找代码定义等。
- 工具 (Tools) 注册和执行:
- 'github-server' 注册了 'create_issue', 'search_repos', 'list_repo_contents' 等工具,用于操作 GitHub。
- 'search-server' 注册了 'search_in_files', 'find_files', 'find_code_definitions' 等工具,用于本地文件搜索。
- Prompt 模板 (Prompts): 虽然代码中没有明确的 Prompt 模板定义,但服务器的工具设计和返回结构化的 'content' 字段为 Prompt 工程提供了基础,可以结合客户端的 Prompt 模板来实现定制化的 LLM 交互。
- 基于 Stdio 的传输协议: 'github-server' 和 'search-server' 均实现了基于标准输入输出 (stdio) 的传输协议,方便集成和部署。
- 服务器管理 (manager-server): 'manager-server' 提供 API 和 Web 界面,用于集中管理和监控多个 MCP 服务器的配置和状态。
安装步骤
-
克隆仓库:
git clone https://github.com/SweetingTech/MCP.git cd MCP/multi-mcp-repo -
安装依赖 (以 'github-server' 为例):
cd github-server npm install cd ../search-server npm install cd ../manager-server/frontend npm install cd ../src npm install cd ../..对于 'search-server' 和 'manager-server' 也需要执行 'npm install' 安装依赖。
-
构建项目 (可选,如果需要运行构建后的代码):
cd github-server npm run build cd ../search-server npm run build cd ../manager-server/frontend npm run build cd ../src npm run build cd ../..同样,对于 'search-server' 和 'manager-server' 也可以选择执行 'npm run build' 构建项目。
服务器配置
以下是 'github-server' 和 'search-server' 的 MCP 客户端配置信息示例。MCP 客户端需要配置这些信息才能连接到对应的 MCP 服务器。
github-server 配置:
{ "serverName": "github-server", "command": "node", "args": [ "path/to/MCP/multi-mcp-repo/github-server/build/index.js" ], "env": { "GITHUB_TOKEN": "YOUR_GITHUB_PERSONAL_ACCESS_TOKEN" // 请替换为你的 GitHub Personal Access Token } }
search-server 配置:
{ "serverName": "search-server", "command": "node", "args": [ "path/to/MCP/multi-mcp-repo/search-server/build/index.js" ] }
注意:
- 'command': MCP 服务器的启动命令,例如 'node'。
- 'args': 启动命令的参数,指向服务器入口文件。请根据实际文件路径修改。
- 'env' (可选): 环境变量配置,例如 'github-server' 需要 'GITHUB_TOKEN' 环境变量。
- 确保在运行 'github-server' 前设置 'GITHUB_TOKEN' 环境变量。
基本使用方法
-
启动 MCP 服务器:
- 打开终端,进入 'github-server' 或 'search-server' 目录。
- 运行命令 'npm run start' (或直接运行配置中 'command' 和 'args' 组合的命令)。
- 服务器将通过 stdio 监听 MCP 客户端的请求。
-
配置 MCP 客户端:
- 在 MCP 客户端中,根据上述 “服务器配置” 示例,配置 'github-server' 或 'search-server' 的连接信息。
-
使用 LLM 客户端与 MCP 服务器交互:
- 在 LLM 客户端中,发送符合 MCP 协议的请求,例如列出工具或调用工具。
- 服务器将处理请求,并返回 JSON-RPC 响应。
示例 (假设使用 MCP 客户端发送请求):
列出 'github-server' 工具:
{ "jsonrpc": "2.0", "id": 1, "method": "listTools", "params": {} }
调用 'github-server' 的 'create_issue' 工具:
{ "jsonrpc": "2.0", "id": 2, "method": "callTool", "params": { "name": "create_issue", "arguments": { "owner": "your-org", "repo": "your-repo", "title": "Test Issue from MCP", "body": "This is a test issue created via MCP server." } } }
注意: 实际使用时,需要根据 MCP 客户端的具体使用方式发送请求,并解析服务器的响应。
信息
分类
开发者工具