使用说明

项目简介

该仓库 'MCP Servers' 是一系列 Model Context Protocol (MCP) 服务器的参考实现,旨在展示 MCP 协议的通用性和可扩展性。仓库中的服务器示例演示了如何使用 Typescript 和 Python MCP SDK 构建 MCP 服务器,为大型语言模型 (LLM) 提供安全可控的工具和数据访问能力。

主要功能点

该仓库包含多个参考服务器示例,涵盖了 MCP 服务器的核心功能:

  • 资源 (Resources) 管理: 演示如何托管和管理各种数据资源,例如文件系统、数据库、云服务等,并向 MCP 客户端提供数据访问能力。例如:
    • 'Filesystem': 安全的文件操作,可配置访问控制。
    • 'PostgreSQL', 'Sqlite': 数据库访问,支持模式检查和数据查询。
    • 'Google Drive': 访问和搜索 Google Drive 文件。
  • 工具 (Tools) 注册和执行: 展示如何注册和执行各种工具,扩展 LLM 的能力,例如:
    • 'Brave Search': 使用 Brave 搜索引擎进行网页和本地搜索。
    • 'EverArt': 利用 AI 模型生成图像。
    • 'Git', 'GitHub', 'GitLab': 操作 Git 仓库,如文件读写、代码搜索、项目管理等。
    • 'Puppeteer': 进行浏览器自动化和网页抓取。
  • Prompt 模板 (Prompts) 定义: 虽然该仓库主要侧重于服务器实现,但在 'Everything' 服务器示例中也包含了 Prompt 模板的示例,展示了如何定义和提供 Prompt,以支持定制化的 LLM 交互模式。

安装步骤

该仓库本身是参考代码集合,无需安装仓库本身。每个服务器示例都是一个独立的 npm 或 python 包,可以单独安装和运行。

运行 TypeScript 服务器

对于基于 Typescript 实现的服务器(例如 'Memory', 'Filesystem', 'Brave Search' 等),可以直接使用 'npx' 命令运行:

npx -y @modelcontextprotocol/server-<服务器目录名> [服务器参数]

例如,运行 'Memory' 服务器:

npx -y @modelcontextprotocol/server-memory

运行 'Filesystem' 服务器,并允许访问 '/path/to/allowed/files' 目录:

npx -y @modelcontextprotocol/server-filesystem /path/to/allowed/files

运行 Python 服务器

对于基于 Python 实现的服务器(例如 'Git'),推荐使用 'uvx' 或 'pip' 运行。 推荐使用 'uvx',安装和设置更简便。

使用 'uvx' 运行 'Git' 服务器:

uvx mcp-server-git [服务器参数]

使用 'pip' 运行 'Git' 服务器:

pip install mcp-server-git
python -m mcp_server_git [服务器参数]

例如,使用 'uvx' 运行 'Git' 服务器,并指定 Git 仓库路径为 'path/to/git/repo':

uvx mcp-server-git --repository path/to/git/repo

服务器配置 (MCP 客户端)

要将这些 MCP 服务器集成到 MCP 客户端(例如 Claude Desktop),需要在客户端的 MCP 服务器配置中添加相应的服务器信息。以下是一些示例配置,展示了如何配置不同类型的服务器:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
      // 服务器名称: filesystem
      // 启动命令: npx
      // 启动参数:
      //   - -y: 自动确认安装 npm 包
      //   - @modelcontextprotocol/server-filesystem:  filesystem 服务器 npm 包名称
      //   - /path/to/allowed/files:  允许 filesystem 服务器访问的目录路径
    },
    "git": {
      "command": "uvx",
      "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
      // 服务器名称: git
      // 启动命令: uvx
      // 启动参数:
      //   - mcp-server-git: git 服务器 python 包名称
      //   - --repository path/to/git/repo:  git 服务器需要访问的 git 仓库路径
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
      // 服务器名称: github
      // 启动命令: npx
      // 启动参数:
      //   - -y: 自动确认安装 npm 包
      //   - @modelcontextprotocol/server-github: github 服务器 npm 包名称
      // 环境变量:
      //   - GITHUB_PERSONAL_ACCESS_TOKEN: GitHub Personal Access Token,用于 GitHub API 鉴权
    },
    "postgres": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
      // 服务器名称: postgres
      // 启动命令: npx
      // 启动参数:
      //   - -y: 自动确认安装 npm 包
      //   - @modelcontextprotocol/server-postgres: postgres 服务器 npm 包名称
      //   - postgresql://localhost/mydb: PostgreSQL 数据库连接 URL
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"]
      // 服务器名称: memory
      // 启动命令: npx
      // 启动参数:
      //   - -y: 自动确认安装 npm 包
      //   - @modelcontextprotocol/server-memory: memory 服务器 npm 包名称
    }
  }
}

基本使用方法

  1. 根据需要选择并运行相应的 MCP 服务器(例如 Filesystem, Brave Search)。
  2. 配置 MCP 客户端(例如 Claude Desktop),将服务器添加到客户端的 MCP 服务器列表中,并根据服务器类型配置正确的 'command' 和 'args'。
  3. 在 MCP 客户端中使用集成的服务器功能,例如:
    • 使用 'filesystem' 服务器读取本地文件内容。
    • 使用 'brave_web_search' 工具进行网页搜索。
    • 使用 'postgres' 服务器查询 PostgreSQL 数据库。

注意: 部分服务器可能需要配置环境变量,例如 'GitHub' 服务器需要 'GITHUB_PERSONAL_ACCESS_TOKEN' 才能访问 GitHub API。请参考每个服务器示例的 'README.md' 或代码注释获取更详细的配置信息。

信息

分类

开发者工具