使用说明
codecov mcp
最全面 Codecov MCP服务器-- 35+工具 包括Codecov REST API v2以及5个提示和4个资源。
专为 克劳德代码 以及任何与MCP兼容的AI代理。
为什么?
您的AI助手可以直接:
- 审查公关报道 --一次调用中的补丁%、受影响的文件和行级差异
- 查找覆盖范围差距 --从回购中钻取→ 目录→ file → 未覆盖的线条
- 追踪趋势 --看看覆盖率是随着时间的推移而提高还是下降
- 调试CI --检查上传、标记和组件
- 查找片状测试 --识别默认分支上失败的测试
- 验证配置 --检查
codecov.yaml在承诺之前
快速开始
1.获取Codecov API代币
首选 Codecov设置>访问 并生成 API访问令牌 (不是上传令牌)。
2.将codecov mcp添加到您的mcp客户端
选择下面的工具以获取特定于平台的设置说明。
Claude Code
CLI安装(macOS/Linux):
claude mcp add --transport stdio codecov --env CODECOV_TOKEN=your-token-here -- npx -y codecov-mcpCLI安装(Windows):
claude mcp add codecov --env CODECOV_TOKEN=your-token-here -- cmd /c npx -y codecov-mcp项目范围(Windows):
claude mcp add --scope project codecov --env CODECOV_TOKEN=your-token-here -- cmd /c npx -y codecov-mcp在macOS/Linux上,添加
--scope project之后add在第一个命令中。JSON回退 --如果CLI在您的环境中不起作用,请添加
.claude.json(项目)或~/.claude.json(用户):macOS/Linux:
{ "mcpServers": { "codecov": { "type": "stdio", "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }窗户:
{ "mcpServers": { "codecov": { "type": "stdio", "command": "cmd", "args": ["/c", "npx", "-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }
Codex
CLI安装(所有平台):
codex mcp add codecov --env CODECOV_TOKEN=your-token-here -- npx -y codecov-mcp配置存储在
~/.codex/config.toml(用户)或.codex/config.toml(项目)。Codex IDE扩展共享相同的配置。
Gemini CLI / Gemini Code Assist
JSON配置(所有平台) --添加到
.gemini/settings.json(项目)或~/.gemini/settings.json(用户):{ "mcpServers": { "codecov": { "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }窗户: 如果你得到
spawn npx ENOENT,更改"command"到"cmd"和"args"到["/c", "npx", "-y", "codecov-mcp"].VS Code中的Gemini Code Assist代理模式由Gemini CLI提供支持,并使用相同的配置。
VS Code (GitHub Copilot)
VS代码使用
"servers"(不是"mcpServers").JSON配置(所有平台) --创建
.vscode/mcp.json在项目根目录中:{ "servers": { "codecov": { "type": "stdio", "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "${input:codecov-token}" } } }, "inputs": [ { "id": "codecov-token", "type": "promptString", "description": "Codecov API Token", "password": true } ] }窗户: 如果你得到
spawn npx ENOENT,更改"command"到"cmd"和"args"到["/c", "npx", "-y", "codecov-mcp"].您还可以使用 MCP:打开用户配置 从用户级配置的命令面板中。
Cursor
JSON配置(所有平台) --创建
.cursor/mcp.json(项目)或~/.cursor/mcp.json(用户):{ "mcpServers": { "codecov": { "type": "stdio", "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }窗户: 如果你得到
spawn npx ENOENT,更改"command"到"cmd"和"args"到["/c", "npx", "-y", "codecov-mcp"].
Windsurf
JSON配置(所有平台) --编辑
~/.codeium/windsurf/mcp_config.json,或通过添加 Windsurf设置>级联>MCP服务器:{ "mcpServers": { "codecov": { "type": "stdio", "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }窗户: 如果你得到
spawn npx ENOENT,更改"command"到"cmd"和"args"到["/c", "npx", "-y", "codecov-mcp"].
Additional Tools
Kilo Code
打开千码设置> 代理人行为 > MCP服务器,然后使用 编辑全局MCP 或 编辑项目MCP.
项目配置 —
.kilocode/mcp.jsonmacOS/Linux:
{ "mcpServers": { "codecov": { "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }窗户:
{ "mcpServers": { "codecov": { "command": "cmd", "args": ["/c", "npx", "-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }Kilo CLI
JSON配置 --添加到
kilo.json或.kilo/kilo.json:macOS/Linux:
{ "mcp": { "codecov": { "type": "local", "command": ["npx", "-y", "codecov-mcp"], "enabled": true, "environment": { "CODECOV_TOKEN": "your-token-here" } } } }窗户:
{ "mcp": { "codecov": { "type": "local", "command": ["cmd", "/c", "npx", "-y", "codecov-mcp"], "enabled": true, "environment": { "CODECOV_TOKEN": "your-token-here" } } } }Roo Code
打开Roo Code窗格,单击 MCP服务器 图标,然后使用 编辑全局MCP 或 编辑项目MCP.
项目配置 —
.roo/mcp.jsonmacOS/Linux:
{ "mcpServers": { "codecov": { "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }窗户:
{ "mcpServers": { "codecov": { "command": "cmd", "args": ["/c", "npx", "-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }Warp
打开 设置>MCP服务器 在“扭曲”中,单击 +添加,然后粘贴:
{ "mcpServers": { "codecov": { "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }也可从以下网址访问 曲速驱动器>个人>MCP服务器 或命令面板(打开MCP服务器).
窗户: 如果
npx无法解决,请使用"command": "cmd"和"args": ["/c", "npx", "-y", "codecov-mcp"].OpenCode
JSON配置 --添加到
opencode.json:macOS/Linux:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "codecov": { "type": "local", "command": ["npx", "-y", "codecov-mcp"], "enabled": true, "environment": { "CODECOV_TOKEN": "your-token-here" } } } }窗户:
{ "$schema": "https://opencode.ai/config.json", "mcp": { "codecov": { "type": "local", "command": ["cmd", "/c", "npx", "-y", "codecov-mcp"], "enabled": true, "environment": { "CODECOV_TOKEN": "your-token-here" } } } }Droid CLI
CLI安装:
droid mcp add codecov "npx -y codecov-mcp" --env CODECOV_TOKEN=your-token-here或添加到
.factory/mcp.json:{ "mcpServers": { "codecov": { "type": "stdio", "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" }, "disabled": false } } }窗户: 如果
npx无法解决,请使用"command": "cmd"和"args": ["/c", "npx", "-y", "codecov-mcp"].Cline
打开Cline侧栏> MCP服务器 图标> 配置MCP服务器,然后添加:
{ "mcpServers": { "codecov": { "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }窗户: 使用
"command": "cmd"和"args": ["/c", "npx", "-y", "codecov-mcp"].Continue
添加
.continue/config.yaml或通过继续设置UI:mcpServers: - name: codecov command: npx args: - -y - codecov-mcp env: CODECOV_TOKEN: your-token-hereZed
添加到Zed设置(
settings.json通过 Zed>设置 或 文件>设置):{ "context_servers": { "codecov": { "command": { "path": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } } }Claude Desktop
打开克劳德桌面> 设置>开发人员>编辑配置,然后添加:
macOS/Linux:
{ "mcpServers": { "codecov": { "type": "stdio", "command": "npx", "args": ["-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }窗户:
{ "mcpServers": { "codecov": { "type": "stdio", "command": "cmd", "args": ["/c", "npx", "-y", "codecov-mcp"], "env": { "CODECOV_TOKEN": "your-token-here" } } } }保存后重新启动Claude Desktop。
如果你在一个具有公共GitHub/GitLab/Bitbucket远程的git仓库中,服务器会自动检测你的服务、所有者和仓库。企业/自托管用户应设置 CODECOV_SERVICE, CODECOV_OWNER,以及 CODECOV_REPO 明确地。
3.开始使用它
问你的AI代理一些事情,比如:
“此回购的当前覆盖范围是多少?”
“向我展示PR#42的覆盖影响”
“哪些文件的覆盖率最差?”
“src/auth.ts中哪些行未被测试覆盖?”
“有什么不稳定的测试吗?”
工具(共37个,35个默认+2个管理员选择加入)
覆盖
| 工具 | 说明 |
|---|---|
get_coverage_totals |
提交的覆盖率摘要——默认情况下仅为效率而总计。集 include_files=true 对于每个文件的数据。 |
get_coverage_trend |
每个间隔的最小/最大/平均时间序列覆盖数据 |
get_coverage_report |
完整报告,包括每个文件的覆盖范围和行级详细信息 |
get_coverage_tree |
按目录分层覆盖——非常适合查找低覆盖区域 |
get_file_coverage |
文件的逐行覆盖率,计算 uncoveredLines 阵列 |
比较(全部接受 pullid 用于PR比较)
| 工具 | 说明 |
|---|---|
compare_coverage |
比较两个提交或一个PR——base/head/diff总计和每个文件的更改 |
compare_impacted_files |
仅覆盖范围发生变化的文件——对大型PR有效 |
compare_file |
单个文件的行级覆盖率差异 |
compare_flags |
按标志比较(单位、积分、e2e) |
compare_components |
按组件(前端、后端)进行比较 |
compare_segments |
块级差异——可用的最细粒度视图 |
拉取请求
| 工具 | 说明 |
|---|---|
list_pulls |
具有覆盖影响的PR,可按州过滤 |
get_pull |
PR的基础/头部/补丁覆盖百分比 |
存储库和分支
| 工具 | 说明 |
|---|---|
list_repos |
所有者的所有存储库,可过滤和排序 |
get_repo |
回购详情和当前覆盖范围 |
get_repo_config |
活动编解码器YAML配置 |
list_branches |
有覆盖数据的分支机构 |
get_branch |
特定分支机构的覆盖范围 |
提交
| 工具 | 说明 |
|---|---|
list_commits |
承保总额承诺 |
get_commit |
承诺的详细覆盖范围 |
list_commit_uploads |
上传会话--对调试CI很有用 |
标志和组件
| 工具 | 说明 |
|---|---|
list_flags |
覆盖标志和百分比 |
get_flag_coverage_trend |
特定旗帜的时间序列 |
list_components |
codecov.yaml中定义的覆盖率组件 |
所有者和用户
| 工具 | 说明 |
|---|---|
list_owners |
可访问令牌的组织/用户 |
get_owner |
所有者详细信息 |
list_users |
处于激活状态的组织中的用户 |
get_user |
用户详细信息 |
管理工具(选择加入)
这些工具是 默认情况下禁用 为了安全。集 CODECOV_ENABLE_ADMIN_TOOLS=true 以使他们能够。
| 工具 | 说明 |
|---|---|
update_user |
激活/停用用户(需要 confirm: true) |
list_user_sessions |
带有令牌和时间戳的登录会话 |
测试分析和评估
| 工具 | 说明 |
|---|---|
list_test_analytics |
通过/失败/持续时间分析的测试结果 |
get_eval_summary |
AI/LLM评估指标 |
get_eval_comparison |
比较提交之间的eval指标 |
复合(高价值多调用工具)
| 工具 | 说明 |
|---|---|
get_coverage_summary |
从这里开始。 在一次通话中实现全面的态势感知——回购覆盖率、趋势方向、标志分解和未平仓PR计数。 |
get_pr_coverage |
最适合代码审查。 在一次通话中将PR详细信息(补丁/基础/头部覆盖率)与受影响的文件相结合。 |
find_flaky_tests |
在默认分支上失败的测试——强而不稳定的测试候选者 |
validate_yaml |
验证 codecov.yaml 提交之前(无需身份验证) |
提示(5)
MCP提示是AI代理可以执行的可重用工作流:
| 提示 | 描述 |
|---|---|
coverage_review |
分析覆盖差距并提出改进建议 |
pr_coverage_check |
端到端审查PR的覆盖范围影响 |
suggest_tests |
为文件中未覆盖的行建议测试用例 |
flaky_test_report |
需要注意的片状测试报告 |
coverage_health_check |
带有等级和行动项目的完整回购健康报告卡 |
资源(4)
MCP资源提供您的代理可以直接读取的数据:
| URI | 描述 |
|---|---|
codecov://{owner}/repos |
所有者的所有repos |
codecov://repo/{owner}/{repo} |
回购覆盖率摘要 |
codecov://repo/{owner}/{repo}/flags |
旗帜覆盖范围 |
codecov://repo/{owner}/{repo}/components |
组件覆盖范围 |
配置
所有配置都是通过环境变量进行的:
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
CODECOV_TOKEN |
是* | - | Codecov API访问令牌 |
CODECOV_API_BASE_URL |
没有 | https://api.codecov.io |
API基本URL(用于自托管) |
CODECOV_SERVICE |
否 | 自动检测到 | github, gitlab, bitbucket等等。 |
CODECOV_OWNER |
否 | 自动检测到 | 组织或用户名 |
CODECOV_REPO |
否 | 自动检测到 | 存储库名称 |
CODECOV_TIMEOUT_MS |
没有 | 30000 |
请求超时(毫秒) |
CODECOV_MAX_RETRIES |
没有 | 3 |
429/5xx上的最大重试次数 |
CODECOV_CACHE_TTL_MS |
没有 | 300000 |
缓存TTL(毫秒)(5分钟) |
CODECOV_ENABLE_ADMIN_TOOLS |
没有 | false |
启用 update_user 和 list_user_sessions |
*不需要 validate_yaml 其使用公共端点。
参数解析顺序
对于 service, owner,以及 repo,服务器按以下顺序解析值:
- 工具参数 --直接在工具调用中传递
- 环境变量 —
CODECOV_SERVICE,CODECOV_OWNER,CODECOV_REPO - Git 远程 --自动检测自
git remote get-url origin - 错误 --明确的信息,解释要设置什么
支持服务列表
| 服务 | 价值 |
|---|---|
| GitHub.com | github |
| GitLab.com | gitlab |
| 比特桶云 | bitbucket |
| GitHub企业版 | github_enterprise |
| GitLab自我管理 | gitlab_enterprise |
| 比特桶数据中心 | bitbucket_server |
故障排除
| 错误 | 修复 |
|---|---|
CODECOV_TOKEN is not set |
使用A API访问令牌 (不上传令牌)来自 编解码器设置 |
Could not determine git service |
使用可识别的远程或设置从git仓库运行 CODECOV_SERVICE/CODECOV_OWNER/CODECOV_REPO |
Authentication failed (401) |
令牌无效或已过期--生成一个新的令牌 |
Resource not found (404) |
检查所有者/回购名称以及回购是否有覆盖率数据 |
视窗: spawn npx ENOENT |
使用 "command": "cmd" 随着 "args": ["/c", "npx", "-y", "codecov-mcp"],或尝试 "command": "npx.cmd" |
| 陈旧数据 | 设置 CODECOV_CACHE_TTL_MS=0 禁用缓存 |
更多故障排除: 安装指南——故障排除
发展
git clone https://github.com/ScottN-PV/codecov-mcp.git
cd codecov-mcp
npm install
npm run build
npm test
脚本
| 命令 | 描述 |
|---|---|
npm run build |
将TypeScript编译为 dist/ |
npm test |
运行单元测试 |
npm run test:coverage |
使用覆盖率报告运行测试 |
npm run lint |
ESLint棉绒 |
项目结构
src/
├── index.ts # Entry point (stdio transport)
├── server.ts # MCP server setup — registers all tools/prompts/resources
├── client.ts # Codecov API client with retry and caching
├── config.ts # Environment variable configuration
├── cache.ts # LRU cache with TTL
├── types.ts # TypeScript type definitions
├── schemas/
│ └── shared.ts # Shared Zod schemas (service, pagination, etc.)
├── tools/ # Tool implementations (one file per API group)
│ ├── coverage.ts # get_coverage_totals, get_coverage_tree, etc.
│ ├── comparison.ts # compare_coverage, compare_impacted_files, etc.
│ ├── composite.ts # get_coverage_summary, get_pr_coverage, etc.
│ └── ... # owners, users, repos, branches, commits, pulls, flags, components, test-analytics, evaluations
├── prompts/ # MCP prompt definitions
├── resources/ # MCP resource definitions
└── utils/ # Error handling, formatting, git remote parsing
许可证
麻省理工学院——见 许可证 了解详情。
