ClaudeMCP 使用说明

项目简介

ClaudeMCP 是一个使用 Docker Compose 管理多个 Model Context Protocol (MCP) 服务器的开源项目,它旨在帮助用户轻松地将 Claude Desktop 和 Claude Code 与各种功能强大的 MCP 服务器集成。通过 Docker 容器化部署,ClaudeMCP 提供了一个安全、隔离且易于扩展的本地开发环境,让用户可以充分利用 MCP 协议的优势,增强 Claude 的上下文理解和处理能力。

主要功能点

  • 集成 Claude 生态: 专为 Claude Desktop 和 Claude Code 设计,无缝对接,提升 Claude 的功能。
  • Docker 容器化部署: 使用 Docker Compose 管理所有 MCP 服务器,实现环境隔离和快速部署。
  • 多功能 MCP 服务器: 预配置了多种常用的 MCP 服务器,包括文件系统、SQLite 数据库、Git 仓库、PostgreSQL 数据库、内存存储、Brave 搜索引擎、本地文件搜索 (Everything)、网页抓取 (Puppeteer)、GitHub、结构化思考、GitLab 和时间服务。
  • 灵活配置: 通过 '.env' 文件管理敏感信息和端口设置,方便用户自定义配置。
  • 一键启动: 提供启动脚本,简化部署流程,快速启动所有服务。
  • 支持本地和 HTTP 代理模式: 既支持 'npx' 本地启动模式,也支持配置为 HTTP 代理模式,方便不同场景使用。

安装步骤

  1. 安装前置软件: 确保已安装 Docker Desktop、Node.js (18+)、npm 和 Git。
  2. 克隆仓库:
    git clone https://github.com/s123104/ClaudeMCP
    cd ClaudeMCP
  3. 配置 '.env' 文件:
    • 复制 '.env.example' 为 '.env':'cp .env.example .env'
    • 编辑 '.env' 文件,根据需要填写文件路径、API 密钥等信息。请务必仔细阅读 '.env.example' 中的说明进行配置。
  4. 安装 Claude Code (可选): 如果需要使用 Claude Code,运行安装脚本:'./scripts/setup-claude-code.sh'
  5. 启动 Docker 容器: 运行启动脚本:'./scripts/start-all.sh' 或者 './launch_claude.sh' (同时启动 Claude Desktop)。
  6. 配置 Claude Desktop: 将 'claude_desktop_config.json' 文件复制到 Claude Desktop 的配置目录 '/Users/yourname/Library/Application Support/Claude/' (请根据您的实际用户名替换 '/Users/yourname/')。

服务器配置

Claude Desktop 需要配置 'claude_desktop_config.json' 文件来连接到 MCP 服务器。以下是 ClaudeMCP 项目提供的默认配置,您只需将其复制到 Claude Desktop 的配置目录即可。

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "$FILESYSTEM_PATH"
      ],
      "comment": "文件系统 MCP 服务器,允许 Claude 访问本地文件,参数 $FILESYSTEM_PATH 来自 .env 文件配置"
    },
    "sqlite": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sqlite", "$SQLITE_PATH"],
      "comment": "SQLite 数据库 MCP 服务器,允许 Claude 查询 SQLite 数据库,参数 $SQLITE_PATH 来自 .env 文件配置"
    },
    "git": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-git", "$GIT_PATH"],
      "comment": "Git 仓库 MCP 服务器,允许 Claude 访问 Git 仓库信息,参数 $GIT_PATH 来自 .env 文件配置"
    },
    "postgres": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-postgres",
        "$POSTGRES_CONNECTION"
      ],
      "comment": "PostgreSQL 数据库 MCP 服务器,允许 Claude 查询 PostgreSQL 数据库,参数 $POSTGRES_CONNECTION 来自 .env 文件配置"
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/servergithub"],
      "env": {
        "GITHUB_API_KEY": "$GITHUB_API_KEY"
      },
      "comment": "GitHub MCP 服务器,允许 Claude 访问 GitHub 信息,API 密钥 $GITHUB_API_KEY 来自 .env 文件配置"
    },
    "brave-search": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-brave-search"],
      "env": {
        "BRAVE_API_KEY": "$BRAVE_API_KEY"
      },
      "comment": "Brave 搜索 MCP 服务器,允许 Claude 使用 Brave 搜索引擎,API 密钥 $BRAVE_API_KEY 来自 .env 文件配置"
    },
    "memory": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-memory"],
      "comment": "内存 MCP 服务器,允许 Claude 存储和检索内存中的信息"
    },
    "everything": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-everything"],
      "comment": "Everything 搜索 MCP 服务器,允许 Claude 使用 Everything 快速搜索本地文件"
    },
    "puppeteer": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-puppeteer"],
      "comment": "Puppeteer MCP 服务器,允许 Claude 控制 Headless Chrome 浏览器进行网页操作"
    },
    "sequential-thinking": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
      "comment": "结构化思考 MCP 服务器,帮助 Claude 将复杂问题分解为步骤"
    },
    "gitlab": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-gitlab"],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "$GITLAB_PERSONAL_ACCESS_TOKEN",
        "GITLAB_API_URL": "https://gitlab.com/api/v4"
      },
      "comment": "GitLab MCP 服务器,允许 Claude 访问 GitLab 项目信息,API Token $GITLAB_PERSONAL_ACCESS_TOKEN 来自 .env 文件配置"
    },
    "time": {
      "command": "npx",
      "args": ["-y", "mcp-server-time"],
      "comment": "时间 MCP 服务器,允许 Claude 查询当前时间"
    }
  }
}

注意:

  • 上述配置采用 'npx' 本地启动模式。如果您希望使用 HTTP 代理模式,请参考 README 中的 "进阶功能 - HTTP 代理模式" 部分进行配置。
  • 配置文件中的 '${变量名}' 引用的是 '.env' 文件中设置的环境变量。
  • 请确保 '.env' 文件中的路径和 API 密钥配置正确。

基本使用方法

启动 Claude Desktop 或 Claude Code 后,即可通过自然语言指令调用集成的 MCP 服务器功能。例如:

  • 在 Claude Desktop 中,您可以尝试提问类似 "读取 '/sandbox/test.txt' 文件内容" (假设您已在 '.env' 中正确配置 'FILESYSTEM_PATH' 并创建了 'test.txt' 文件)。
  • 在 Claude Code 中,您可以尝试提问类似 "查询 GitHub 上关于 Claude 的开源项目"。

更多使用示例和测试指令,请参考仓库 README.md 中的 "验证" 部分。

信息

分类

开发者工具