Reference Servers 使用说明
项目简介
该仓库 'Reference Servers' 提供了一系列 Model Context Protocol (MCP) 服务器的参考实现,旨在演示 MCP 协议的通用性和可扩展性。通过这些服务器,开发者可以学习如何构建自己的 MCP 服务器,为大型语言模型 (LLM) 提供安全可控的工具和数据源访问能力。仓库中的每个服务器都专注于特定的功能或集成,例如:
- 数据访问: 文件系统、数据库 (PostgreSQL, SQLite)、Google Drive
- 外部工具: Brave 搜索、EverArt AI图像生成、Puppeteer 浏览器自动化、Git/GitHub/GitLab 代码仓库操作、Slack 消息服务、时间与时区转换、AWS Knowledge Base 知识库检索
- 通用工具: 示例服务器 (Everything)、顺序思考 (Sequential Thinking)
主要功能点
- 资源 (Resources) 管理: 托管和管理多种类型的资源,允许 LLM 客户端访问和利用外部数据。
- 工具 (Tools) 注册与执行: 提供各种实用工具,扩展 LLM 的能力边界,使其能够执行搜索、计算、数据操作等任务。
- Prompt 模板 (Prompts) 支持: 定义和使用 Prompt 模板,实现可定制的 LLM 交互模式,优化对话流程。
- JSON-RPC 通信: 所有服务器均通过标准的 JSON-RPC 协议与 MCP 客户端进行通信。
- 多种传输协议: 部分服务器支持 Stdio, SSE, WebSocket 等多种传输协议,满足不同应用场景的需求。
安装步骤
该仓库本身是一个参考实现集合,无需安装仓库本身。你需要根据想要使用的具体服务器,参考仓库根目录下的 'README.md' 文件中 "🌟 Reference Servers" 和 "🚀 Getting Started" 部分的说明进行操作。
通常,对于 Typescript 服务器,你可以直接使用 'npx' 命令运行,例如:
npx -y @modelcontextprotocol/server-memory
对于 Python 服务器,推荐使用 'uvx' 或 'pip' 运行,例如:
# 使用 uvx (推荐) uvx mcp-server-git # 使用 pip pip install mcp-server-git python -m mcp_server_git
请确保你的开发环境中已安装 Node.js 和 npm (对于 Typescript 服务器) 或 Python 和 uv/pip (对于 Python 服务器)。具体的安装和运行命令,请务必查阅仓库 'README.md' 文件中 "🚀 Getting Started" 部分的详细指导。
服务器配置
MCP 服务器是为 MCP 客户端设计的后端服务,你需要配置 MCP 客户端 (例如 Claude Desktop) 以连接到这些服务器。配置通常在 MCP 客户端的设置中完成,你需要提供服务器的启动命令 (command) 及其参数 (args)。
以下是一些 示例配置 ,用于 Claude Desktop 的 'mcpServers' 配置中。请 根据你实际使用的服务器 和你的 本地环境 调整路径和参数。请注意,以下配置为 JSON 格式,直接复制到 Claude Desktop 的 MCP Server 配置中即可。
{ "mcpServers": { "brave-search": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-brave-search"], "env": { "BRAVE_API_KEY": "<YOUR_BRAVE_SEARCH_API_KEY>" // 请替换为你的 Brave Search API Key } }, "everart": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-everart"], "env": { "EVERART_API_KEY": "<YOUR_EVERART_API_KEY>" // 请替换为你的 EverArt API Key } }, "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"] // 请替换为你想允许 LLM 访问的本地目录路径 }, "gitlab": { "command": "uvx", "args": ["mcp-server-gitlab"], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_GITLAB_PERSONAL_ACCESS_TOKEN>" // 请替换为你的 GitLab Personal Access Token } }, "memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory"] }, "puppeteer": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-puppeteer"] }, "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"] // 请替换为你的 PostgreSQL 数据库连接 URL,例如 "postgresql://user:password@host:port/database" }, "sequentialthinking": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-sequentialthinking"] }, "slack": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-slack"], "env": { "SLACK_BOT_TOKEN": "<YOUR_SLACK_BOT_TOKEN>", // 请替换为你的 Slack Bot Token "SLACK_TEAM_ID": "<YOUR_SLACK_TEAM_ID>" // 请替换为你的 Slack Team ID } }, "time": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-time"] } } }
重要提示:
- '<YOUR_API_KEY>' 和 '<YOUR_TOKEN>' 占位符需要替换为你自己的 API 密钥或 Token。
- '/path/to/allowed/files' 需要替换为你本地机器上允许 MCP 服务器访问的实际目录路径。
- 'postgresql://localhost/mydb' 需要替换为你本地 PostgreSQL 数据库的连接 URL。
基本使用方法
- 启动 MCP 服务器: 根据你选择的服务器类型,使用 'npx' 或 'uvx'/'pip' 命令启动服务器。服务器成功运行后,通常会在控制台输出 "MCP Server running on stdio" 等信息。
- 配置 MCP 客户端: 打开支持 MCP 协议的客户端 (如 Claude Desktop),进入 MCP Server 配置页面。
- 添加服务器配置: 根据 "服务器配置" 部分的示例,为你启动的服务器添加相应的配置信息,包括 'server name' (自定义名称), 'command', 'args' 和 'env' (如果需要)。
- 连接服务器: 在 MCP 客户端中启用并连接到你配置的 MCP 服务器。连接成功后,客户端通常会显示服务器提供的工具和资源。
- 使用工具和资源: 在 MCP 客户端中,你可以像使用普通功能一样调用 MCP 服务器提供的工具和访问服务器管理的资源,从而扩展 LLM 的能力。
详细使用方法 请参考每个服务器的 'index.ts' (Typescript) 或 'server.py' (Python) 文件,以及仓库根目录下的 'README.md' 文件,了解每个服务器提供的具体工具、资源和使用示例。
信息
分类
开发者工具