基于 Claude HowTo 教程指南的生产级模板,可直接复制的 MCP 配置覆盖 GitHub、数据库、文件系统及多服务器工作流。这些模板展示了环境变量扩展、工具列表与项目级配置的最佳实践,是构建高效自动化开发流程的起点。

4 个 MCP 配置模板:GitHub、数据库、文件系统和多服务器组合

在构建基于 Claude Code 的自动化工作流时,MCP (Model Context Protocol) 是连接外部工具与实时数据的核心桥梁。如何快速、安全地配置这些连接至关重要。本指南基于 Claude HowTo 教程指南中的完整文档与模板文件,提炼出四个核心配置模板,并解析其背后的设计逻辑与关键语法,帮助你跳过摸索阶段,直接进入构建阶段。

模板一:GitHub MCP 配置与完整工具集

GitHub 是开发者最常集成的服务之一。其 MCP 服务器配置不仅关乎连接,更关乎对可用工具的清晰认知。

基础配置文件 (.mcp.json):

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    }
  }
}

这份配置的核心在于使用 ${GITHUB_TOKEN} 引用环境变量,而非硬编码密钥,这是安全实践的第一步。配置生效后,Claude 将获得一组强大的 GitHub 工具。根据 README 文档,这些工具被系统地组织为四大类:

  • Pull Request 管理list_prs (列出 PR)、get_pr (查看详情)、create_pr (创建)、update_pr (更新)、merge_pr (合并)、review_pr (评审)
  • Issue 管理list_issues (列出问题)、get_issue (查看详情)、create_issue (创建)、close_issue (关闭)、add_comment (添加评论)
  • 仓库信息get_repo_info (仓库详情)、list_files (文件树)、get_file_content (读取文件)、search_code (代码搜索)
  • 提交操作list_commits (提交历史)、get_commit (提交详情)、create_commit (创建提交)

理解这个工具分层,有助于你在后续工作流中精确调用所需功能。例如,使用 /mcp__github__list_prs 可以快速查看所有 PR 状态。

快速启用:除了手动创建 .mcp.json,你也可以使用 CLI 命令一键添加:

claude mcp add --transport stdio github -- npx @modelcontextprotocol/server-github

但此命令需要确保 GITHUB_TOKEN 环境变量已提前在你的 shell 中设置。

模板二:数据库 MCP 连接配置

连接数据库允许 Claude 执行实时查询,将代码逻辑与业务数据紧密结合。

配置文件:

{
  "mcpServers": {
    "database": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-database"],
      "env": {
        "DATABASE_URL": "postgresql://user:pass@localhost/mydb"
      }
    }
  }
}

这个模板直接展示了将数据库连接字符串注入 MCP 服务器环境变量的方法。配置成功后,你可以用自然语言下达查询指令,例如“获取订单数超过10的用户”,Claude 会将其转化为 SQL 查询并返回结果。值得注意的是,这里的连接字符串是静态值,在生产环境中,你同样应该使用 ${DATABASE_URL} 的形式引用环境变量。

模板三:文件系统 MCP 与作用域控制

文件系统 MCP 赋予了 Claude 读写本地项目文件的权限,是实现代码生成、文档自动化等任务的基础。

配置文件:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-filesystem", "/home/user/projects"]
    }
  }
}

这个配置的关键在于 args 数组中的第二个参数 "/home/user/projects",它为文件系统服务器设置了访问根目录。Claude 所有的文件操作(如 ls, cat, edit, grep)都被限制在这个目录及其子目录内,这是一个重要的安全边界。配置时务必谨慎指定此路径,避免授予不必要的文件系统访问权限。

模板四:多服务器组合与协作工作流

MCP 的强大之处在于组合。以下是一个用于“每日报告生成”的多服务器配置模板,它清晰地展示了如何将不同数据源串联成一个自动化流程。

组合配置文件:

{
  "mcpServers": {
    "github": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
      }
    },
    "database": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-database"],
      "env": {
        "DATABASE_URL": "${DATABASE_URL}"
      }
    },
    "slack": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-slack"],
      "env": {
        "SLACK_TOKEN": "${SLACK_TOKEN}"
      }
    },
    "filesystem": {
      "command": "npx",
      "args": ["@modelcontextprotocol/server-filesystem", "/home/user/projects"]
    }
  }
}

这个模板一次性配置了四个 MCP 服务器,所有敏感凭证均通过 ${VAR} 语法从环境变量读取。基于此配置,你可以设计一个端到端的自动化工作流:

  1. 数据采集:调用 GitHub MCP 的 list_prs 获取代码合入指标。
  2. 业务关联:调用 Database MCP 查询当日的销售或用户数据。
  3. 报告生成:结合上述数据,在本地文件系统生成格式化的 HTML 报告。
  4. 信息分发:调用 Slack MCP 将报告摘要发布到指定频道。

这种组合体现了 MCP 作为“工具集成总线”的角色,使得跨越多个服务的复杂任务可以通过一次会话指令完成。

关键语法:环境变量扩展

在上述所有模板中,我们都使用了环境变量引用。MCP 配置支持更灵活的扩展语法,适用于 command, args, env, url, headers 等字段:

  • ${VAR}:直接引用环境变量 VAR,若未设置则会报错。
  • ${VAR:-default}:引用环境变量 VAR,若未设置则使用默认值 default

例如,一个更健壮的 API 服务器配置可以写为:

{
  "mcpServers": {
    "api-server": {
      "type": "http",
      "url": "${API_BASE_URL:-https://api.example.com}/mcp",
      "headers": {
        "Authorization": "Bearer ${API_KEY}"
      }
    }
  }
}

这让你在本地开发时使用默认地址,而在 CI/CD 环境中通过设置环境变量无缝切换,无需修改配置文件。

配置范围与团队协作:审批机制

根据 Claude HowTo 教程指南,MCP 配置存在三个作用域,其共享和审批要求各不相同:

作用域 存储位置 说明 是否需要审批
本地 (默认) ~/.claude.json 仅对当前用户、当前项目私有
项目 项目根目录下的 .mcp.json 通过 Git 共享给团队成员 是(首次使用)
用户 ~/.claude.json 对当前用户的所有项目可用

当你将上述任何模板作为 项目级 .mcp.json 提交到代码仓库时,团队成员在首次使用其中定义的 MCP 服务器前,都会收到一个审批提示。这个机制确保了团队对引入哪些外部工具有明确的共识,是协作中的重要安全环节。

管理这些配置,可以使用 CLI 命令:

  • claude mcp list:列出所有已配置的服务器。
  • claude mcp get github:查看特定服务器的详情。
  • claude mcp remove github:移除一个服务器。
  • claude mcp reset-project-choices:重置项目的 MCP 审批选择。

通过灵活组合这四个模板,并理解其背后的设计原则——如环境变量安全、工具分层、作用域控制与工作流编排,你可以高效地将 Claude Code 扩展成一个强大的集成开发与自动化平台。更深入的 MCP 架构与高级特性,可以参阅 Claude Code MCP 集成指南

FAQ

Q: 项目级 .mcp.json 和用户级配置应该选哪个? A: 这取决于配置的用途。项目级配置适用于团队共享的、项目特定的工具连接(如连接项目的 GitHub 仓库或测试数据库),它通过 Git 进行版本控制,并强制团队首次使用审批。用户级配置则适用于你个人偏好的、跨所有项目都需要的工具(如你的个人 Slack 帐号或通用文件系统路径)。

Q: 配置多个 MCP 服务器会影响启动速度吗? A: 会,但影响有限且可控。从 v2.1.117 起,Claude Code 默认采用并发连接方式初始化多个 MCP 服务器,显著减少了总启动延迟。此外,针对工具数量庞大的服务器,可以利用“工具搜索”功能,它只在需要时动态加载相关工具定义,避免一次性加载所有工具描述占用过多上下文。