使用说明

项目简介

mcp_libs 仓库是一个 Model Context Protocol (MCP) 服务器的集合,它集中管理多个 MCP 服务器,包括外部 Git 子模块服务器和本地开发服务器。该仓库提供集中的配置管理和开发指南,旨在帮助开发者快速部署和管理各种 MCP 服务器,为 LLM 应用提供丰富的上下文信息和功能支持。

主要功能点

  • 资源 (Resources) 管理: 虽然仓库描述中没有明确提及资源管理,但作为 MCP 服务器集合,它具备管理各种类型资源的基础能力,例如 PDF 文档、GitHub 仓库信息、数据库数据等。具体的资源管理能力取决于各个子服务器的实现。
  • 工具 (Tools) 注册和执行: 仓库包含多个预构建的 MCP 服务器,每个服务器都提供了一系列工具,例如:
    • mcp-pdf: 提供 'process_pdf_file' 和 'process_pdf_url' 工具,用于从本地文件或 URL 处理 PDF 文档,提取 Markdown 或 LlamaIndex 格式的内容。
    • github-mcp: 提供 'list_repositories', 'create_issue', 'search_code' 等工具,用于与 GitHub API 交互,执行仓库列表、创建 Issue、代码搜索等操作。
    • mcp-postgres: 提供 'execute_query', 'describe_table', 'analyze_indexes', 'get_table_sample', 'list_tables' 等工具,用于执行 SQL 查询、获取表结构信息、分析索引、获取样本数据以及列出数据库表等操作。
  • Prompt 模板 (Prompts): 'mcp-postgres' 服务器实现了 Prompt 模板功能,例如 'execute_query' 和 'describe_table' Prompt,允许客户端通过预定义的 Prompt 与数据库进行交互。
  • 集中配置管理: 通过 'Configuration' 目录下的文件 ('cline_mcp_settings.template.json', '.env.example') 和 Makefile 脚本 ('generate-settings.sh'),实现了 MCP 服务器的集中配置和管理。
  • 支持多种 MCP 服务器类型: 仓库支持外部 Git 子模块服务器和本地开发的服务器,方便扩展和定制 MCP 服务器。

安装步骤

  1. 克隆仓库 (包含子模块)

    git clone --recurse-submodules https://github.com/nyashkn/mcp_libs.git
    cd mcp_libs
  2. 初始化设置

    make setup
    make generate-settings
    • 'make setup' 会安装依赖并创建 '.env' 文件。
    • 'make generate-settings' 会根据模板生成 MCP 服务器的配置文件。
  3. 配置环境变量

    • 复制 '.env.example' 文件为 '.env',并根据需要修改 '.env' 文件,例如设置 GitHub API Token、Perplexity API Key、Tavily API Key 和 PostgreSQL 数据库连接 URL 等。
      cp .env.example .env
      vim .env
    • '.env' 文件示例 (部分)
    GITHUB_TOKEN=your_github_token
    DATABASE_URL=postgresql://user:password@host:port/dbname

服务器配置 (MCP 客户端配置)

MCP 客户端需要配置连接到这些 MCP 服务器的信息。以下是各个服务器的 JSON 配置示例,客户端可以根据需要选择配置:

1. mcp-pdf 服务器配置

{
  "serverName": "mcp-pdf",
  "command": "python",
  "args": ["-m", "mcp_server_pdf.server"]
}
  • 'serverName': 服务器名称,例如 "mcp-pdf"。
  • 'command': 启动服务器的命令,这里使用 'python' 解释器。
  • 'args': 传递给命令的参数,'-m mcp_server_pdf.server' 表示运行 'mcp_server_pdf' 包中的 'server.py' 模块作为主程序。

2. github-mcp 服务器配置

{
  "serverName": "github-mcp",
  "command": "python",
  "args": ["mcp-server-github/mcp_server_github.py"]
}
  • 'serverName': 服务器名称,例如 "github-mcp"。
  • 'command': 启动服务器的命令,使用 'python' 解释器。
  • 'args': 传递给命令的参数,'mcp-server-github/mcp_server_github.py' 表示直接运行 'mcp-server-github' 目录下的 'mcp_server_github.py' 脚本。
  • 注意: 'github-mcp' 服务器依赖 'GITHUB_PERSONAL_ACCESS_TOKEN' 环境变量,请确保在运行服务器前已在 '.env' 文件中配置。

3. mcp-postgres 服务器配置

{
  "serverName": "mcp-postgres",
  "command": "python",
  "args": ["-m", "mcp_server_postgres.server"]
}
  • 'serverName': 服务器名称,例如 "mcp-postgres"。
  • 'command': 启动服务器的命令,使用 'python' 解释器。
  • 'args': 传递给命令的参数,'-m mcp_server_postgres.server' 表示运行 'mcp_server_postgres' 包中的 'server.py' 模块作为主程序。
  • 注意: 'mcp-postgres' 服务器依赖 'DATABASE_URL' 环境变量,请确保在 '.env' 文件中配置 PostgreSQL 数据库连接 URL。

配置说明:

  • 以上 JSON 配置信息需要添加到 MCP 客户端的服务器配置中,以便客户端能够发现并连接到这些 MCP 服务器。
  • 客户端通常会读取一个配置文件 (例如 'cline_mcp_settings.json') 来加载服务器配置信息。 'mcp_libs' 仓库的 'Configuration' 目录下的 'cline_mcp_settings.template.json' 文件可能是一个配置模板,用于生成最终的客户端配置文件。
  • 请根据 MCP 客户端的具体文档,了解如何配置和加载 MCP 服务器信息。

基本使用方法

  1. 启动 MCP 服务器: 根据需要,分别启动 'mcp-pdf', 'github-mcp', 'mcp-postgres' 等服务器。例如,要启动 'mcp-pdf' 服务器,可以进入 'mcp-pdf/src/mcp_server_pdf' 目录,并运行 'python -m mcp_server_pdf.server' 命令。但更推荐的方式是直接在仓库根目录下使用 'make' 命令管理,具体启动方式请参考仓库文档或 'Makefile'。
  2. 配置 MCP 客户端: 将上述生成的服务器配置 JSON 信息添加到 MCP 客户端的配置文件中。
  3. 使用 MCP 客户端: 启动 MCP 客户端,客户端将自动连接到配置的 MCP 服务器,并可以使用服务器提供的工具和 Prompt 功能。 例如,在客户端中调用 'mcp-pdf' 服务器的 'process_pdf_file' 工具来处理 PDF 文件,或调用 'github-mcp' 服务器的 'create_issue' 工具在 GitHub 仓库中创建 Issue,或使用 'mcp-postgres' 服务器的 'execute_query' Prompt 执行 SQL 查询。

注意: 请仔细阅读仓库的 'README.md' 文件和各个子目录下的文档,以获取更详细的使用说明和配置信息。

信息

分类

数据库与文件