使用说明
项目简介
该仓库 'modelcontextprotocol' 并非一个单一的MCP服务器,而是一系列MCP服务器的参考实现集合。它旨在展示 Model Context Protocol (MCP) 的多样性和可扩展性,演示如何使用 MCP 为大型语言模型 (LLM) 提供安全、可控的工具和数据源访问能力。仓库中包含了多种不同功能的MCP服务器示例,例如:
- 数据检索: 从AWS知识库、Brave搜索、Google Drive等数据源检索信息。
- 工具调用: 调用Brave搜索、EverArt图像生成、Puppeteer浏览器自动化等工具。
- 文件系统访问: 安全地进行文件操作。
- 代码仓库管理: 与Git、GitHub、GitLab等代码仓库进行交互。
- 数据库操作: 访问PostgreSQL、Sqlite等数据库。
- 时间服务: 提供时间和时区转换功能。
- 内存管理: 构建基于知识图谱的持久化内存系统。
主要功能点
- 资源 (Resources) 管理: 部分服务器实现了资源管理,例如 Google Drive 服务器可以列出和读取 Google Drive 中的文件,Puppeteer 服务器可以截取网页屏幕截图。
- 工具 (Tools) 注册和执行: 所有服务器都专注于工具的实现,例如 Brave Search 服务器提供了网页搜索和本地搜索工具,EverArt 服务器提供了图像生成工具,Filesystem 服务器提供了文件操作工具。
- Prompt 模板 (Prompts): 'everything' 服务器和 'sqlite' 服务器演示了 Prompt 模板的定义和使用,可以定制 LLM 交互模式。
- 多种传输协议支持: 仓库中的服务器主要通过 Stdio 协议与客户端通信,'everything' 服务器还演示了 SSE 协议的使用。
安装步骤
该仓库本身不是一个可以直接安装的软件包,而是包含了多个独立的MCP服务器实现。每个服务器的安装和运行方式略有不同,主要分为 Typescript 和 Python 两种实现。
Typescript 服务器 (例如 Memory, Brave Search, Filesystem, Puppeteer, PostgreSQL 等)
- 安装 Node.js 和 npm: 如果你的机器上没有安装 Node.js 和 npm,请先安装。
- 使用 npx 运行: 可以直接使用 'npx' 命令运行 Typescript 服务器。例如,运行 'memory' 服务器:
其他 Typescript 服务器类似,只需将 'server-memory' 替换为相应的服务器名称即可,例如 '@modelcontextprotocol/server-brave-search', '@modelcontextprotocol/server-filesystem' 等。npx -y @modelcontextprotocol/server-memory
Python 服务器 (例如 Git, Sqlite, Time 等)
-
安装 Python 和 pip 或 uvx: 如果你的机器上没有安装 Python 和 pip 或 uvx,请先安装。推荐使用 'uvx',安装方法请参考 uvx 安装指南。'pip' 安装方法请参考 pip 安装指南。
-
使用 uvx 或 pip 运行: 可以使用 'uvx' 或 'pip' 运行 Python 服务器。例如,运行 'git' 服务器:
-
使用 'uvx' (推荐):
uvx mcp-server-git -
使用 'pip':
pip install mcp-server-git python -m mcp_server_git
其他 Python 服务器类似,只需将 'mcp-server-git' 替换为相应的服务器名称即可,例如 'mcp-server-sqlite', 'mcp-server-time' 等。
-
服务器配置 (以 Claude Desktop 为例)
MCP 服务器需要配置到 MCP 客户端才能使用,例如 Claude Desktop。以下是一些示例配置,展示如何配置仓库中的 'memory' 和 'git' 服务器:
{ "mcpServers": { // Memory Server (Typescript) "memory": { "command": "npx", // 启动命令,使用 npx 运行 "args": ["-y", "@modelcontextprotocol/server-memory"] // 命令参数,运行 @modelcontextprotocol/server-memory 包 }, // Filesystem Server (Typescript) - 允许访问 /path/to/allowed/files 目录 "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"] // 允许访问的目录作为参数 }, // Git Server (Python) - 指定 Git 仓库路径为 path/to/git/repo "git": { "command": "uvx", // 启动命令,使用 uvx 运行 "args": ["mcp-server-git", "--repository", "path/to/git/repo"] // 仓库路径作为参数 }, // GitHub Server (Typescript) - 需要设置 GitHub 访问令牌 "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>" // GitHub 个人访问令牌作为环境变量 } }, // Postgres Server (Typescript) - 连接到 postgresql://localhost/mydb 数据库 "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"] // 数据库 URL 作为参数 } } }
基本使用方法
- 选择并运行 MCP 服务器: 根据你的需求选择合适的 MCP 服务器,并按照上述安装步骤运行。
- 配置 MCP 客户端: 将 MCP 服务器的配置信息添加到你的 MCP 客户端 (例如 Claude Desktop) 的配置文件中。 确保配置中的 'command' 和 'args' 与你实际运行服务器的方式一致。
- 在 MCP 客户端中使用: 配置完成后,你就可以在 MCP 客户端中使用这些服务器提供的工具和资源了。具体使用方法请参考你使用的 MCP 客户端的文档。 例如,在 Claude Desktop 中,你可以在聊天时通过 '@' 符号触发工具调用,或者在附件菜单中访问资源。
注意: 部分服务器可能需要额外的环境变量或参数配置,例如 GitHub 服务器需要 'GITHUB_PERSONAL_ACCESS_TOKEN' 环境变量,请仔细阅读每个服务器目录下的 'README.md' 或代码注释以获取更详细的配置信息。
信息
分类
AI与计算