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。

基本使用方法

  1. 启动 MCP 服务器: 根据你选择的服务器类型,使用 'npx' 或 'uvx'/'pip' 命令启动服务器。服务器成功运行后,通常会在控制台输出 "MCP Server running on stdio" 等信息。
  2. 配置 MCP 客户端: 打开支持 MCP 协议的客户端 (如 Claude Desktop),进入 MCP Server 配置页面。
  3. 添加服务器配置: 根据 "服务器配置" 部分的示例,为你启动的服务器添加相应的配置信息,包括 'server name' (自定义名称), 'command', 'args' 和 'env' (如果需要)。
  4. 连接服务器: 在 MCP 客户端中启用并连接到你配置的 MCP 服务器。连接成功后,客户端通常会显示服务器提供的工具和资源。
  5. 使用工具和资源: 在 MCP 客户端中,你可以像使用普通功能一样调用 MCP 服务器提供的工具和访问服务器管理的资源,从而扩展 LLM 的能力。

详细使用方法 请参考每个服务器的 'index.ts' (Typescript) 或 'server.py' (Python) 文件,以及仓库根目录下的 'README.md' 文件,了解每个服务器提供的具体工具、资源和使用示例。

信息

分类

开发者工具