Codecov MCP by usefulapi
Server Details
Read Codecov coverage reports, commits, pulls, flags and components.
- Status
- Healthy
- Uptime
- 51.5% over 22 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 24 tools
Most tools target a clearly distinct resource+action, but the coverage-report family (get_coverage_report, get_coverage_totals, get_report_tree) all serve a commit and could be confused at a glance; only the descriptions' output-shape details distinguish them. Compare vs compare_impacted_files and get_pull vs list_pulls are similarly close but adequately separated.
Every tool uses the same codecov_ prefix followed by a consistent verb_noun snake_case pattern (get_repo, list_commits, compare_impacted_files). No mixed conventions or vague verb styles.
24 tools is on the heavy side, but each maps to a distinct Codecov REST endpoint across repos, branches, commits, pulls, flags, components, and test results. The count is justified by the breadth of the read-only domain, though it sits at the upper edge of comfortable.
The read-only surface is broad: owners, users, repos, config, branches, commits, uploads, pulls, coverage reports/totals/trends, flags, components, and test results are all covered. Minor gaps exist (no single-flag/component/test-result detail or search endpoint), but core coverage workflows are complete.
Available Tools
24 toolscodecov_compareCompare coverageARead-onlyInspect
Compare coverage between two commits (base vs. head) or for a pull request. Provide EITHER both base and head, OR pullid. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/compare/.
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | Base commit SHA (use together with `head`). | |
| head | No | Head commit SHA (use together with `base`). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| pullid | No | Pull request id to compare (use instead of base/head). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered without help from the description. The description adds the mutually exclusive input contract and the underlying REST path, but says nothing about the shape or nature of the diff returned, so it exceeds the annotation baseline only modestly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: purpose first, then the input constraint, then the endpoint reference. Nothing is redundant and the most decision-relevant information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description ideally would hint at what a comparison yields (coverage delta, impacted files), which it does not. All inputs, required fields, and the read-only nature are otherwise adequately covered for a six-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real meaning beyond the schema by framing base/head and pullid as an either/or choice; the schema describes each field individually but never states the cross-parameter exclusivity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Compare coverage') plus the two comparison modes (commit range vs. pull request) and even the backing REST endpoint. This clearly separates it from siblings such as codecov_get_commit, codecov_get_pull, and codecov_get_coverage_totals, which report rather than diff.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the usage rule: 'Provide EITHER both base and head, OR pullid,' which is the key selection decision for this tool. It does not, however, mention when to prefer this over sibling tools like codecov_compare_impacted_files or codecov_get_pull, so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_compare_impacted_filesCompare impacted filesARead-onlyInspect
List the files whose coverage changed between two commits (base vs. head) or for a pull request. Provide EITHER both base and head, OR pullid. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/compare/impacted_files.
| Name | Required | Description | Default |
|---|---|---|---|
| base | No | Base commit SHA (use together with `head`). | |
| head | No | Head commit SHA (use together with `base`). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| pullid | No | Pull request id to compare (use instead of base/head). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes this as a safe read, so the bar is lower. The description adds the mutual-exclusivity rule for the two modes, but says nothing about pagination, rate limits, or the shape/size of the returned file list.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences plus an endpoint reference; the core behavior and the required parameter pattern are front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still communicates what comes back (files with changed coverage) for both modes, which is sufficient for a read-only comparison tool. Only the absence of return-format or pagination detail keeps it from a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented, including the base/head pairing hints. The description reinforces the either/or relationship between base+head and pullid, which is marginally useful, but baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb+resource ('List the files whose coverage changed') and scopes it to two comparison modes, which cleanly separates it from generic siblings like codecov_compare or codecov_get_commit. It does not explicitly name the sibling it is distinguished from, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit mode-selection logic: 'Provide EITHER both `base` and `head`, OR `pullid`.' That tells the agent exactly which invocation shape to use, though it never says when this tool is preferable to other coverage/commit tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_branchGet branchARead-onlyInspect
Get a single branch's detail, including its head commit's coverage totals. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/branches/{name}/.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | Yes | Branch name, e.g. 'main' (required). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this a safe read. The description adds modest value by noting the payload includes the head commit's coverage totals and by mapping to the REST endpoint, but it says nothing about auth requirements, pagination, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences that are front-loaded with the purpose before the endpoint reference. The REST path line is slightly redundant given full schema coverage but remains informative and does not bloat the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and readOnlyHint covering the safety profile, the description is reasonably complete: it indicates what comes back (branch detail plus head-commit coverage totals). Minor gaps remain around return shape specifics, but nothing critical to correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (owner, repo, branch, service) are already documented in the schema. The REST path in the description mirrors these parameters without adding format or syntax beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get a single branch's detail') and clarifies scope with 'including its head commit's coverage totals.' The word 'single' implicitly distinguishes it from the sibling codecov_list_branches, though it does not name that alternative explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied — fetch one branch when you have its name — but the description offers no explicit when-to-use guidance, no exclusions, and no pointer to codecov_list_branches or codecov_get_commit for adjacent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_commitGet commitBRead-onlyInspect
Get a single commit's detail, including its coverage totals and report. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/commits/{commitid}/.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| commitid | Yes | Commit SHA (required). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read. The description adds value by disclosing that the response includes coverage totals and a report, but omits any auth/token requirements, rate-limit notes, or error behavior for an unreachable commit SHA.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences: the purpose is front-loaded and the REST path follows as supporting detail. No filler, though the raw path template adds little for an agent that never calls the HTTP endpoint directly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-item read with no output schema, the description does sketch the return contents (coverage totals and report), which helps. However, it leaves open the response shape and whether an unknown commit SHA errors versus returns empty, gaps that matter without an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (repo, owner, service, commitid) are already documented in the schema with examples and the service enum. The description contributes nothing beyond restating the endpoint path template, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: retrieving a single commit's detail including coverage totals and report. It implicitly separates from sibling codecov_list_commits (plural) and from codecov_get_coverage_totals, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, prerequisites, or alternatives are stated. The word 'single' hints at the distinction from codecov_list_commits, but the agent is left to infer when this tool is preferable to the list or coverage-totals tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_coverage_reportGet coverage reportARead-onlyInspect
Full coverage report for a commit (defaults to default branch head) — totals plus per-file line coverage. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/report/.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | No | Commit SHA to report on (defaults to the default branch head). | |
| flag | No | Restrict the report to a coverage flag. | |
| path | No | Restrict the report to a file or directory path prefix. | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Branch whose head to report on. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| componentId | No | Restrict the report to a component (maps to `component_id`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true, and the description adds real behavioral value beyond that: the default-branch-head fallback and the exact return composition (totals plus per-file line coverage), which matters because no output schema exists. It omits pagination or response-size behavior, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler: the report scope is front-loaded and the REST endpoint reference is a compact trailing detail. Nothing is redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter read tool with no output schema, the description covers the default-branch behavior and the return contents while annotations carry the safety profile. It is nearly complete, missing only filtering interaction details (e.g. how flag/path/componentId narrow the report).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all eight parameters, including the service enum, are documented in the schema. The description's only parameter note ('defaults to default branch head') duplicates the sha schema text, adding no meaning beyond the structured fields, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (full coverage report for a commit) and clarifies the payload shape (totals plus per-file line coverage), which distinguishes it from the narrower siblings codecov_get_coverage_totals and codecov_get_file_coverage. It stops short of explicitly naming those alternatives, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (a full commit-level report vs the totals/file siblings) and notes the sha default, but never states when to prefer this over codecov_get_coverage_totals or codecov_get_file_coverage, nor any prerequisites. Usage is inferable rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_coverage_totalsGet coverage totalsARead-onlyInspect
Coverage totals for a commit (defaults to default branch head), plus per-file totals. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/totals/.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | No | Commit SHA to report on (defaults to the default branch head). | |
| flag | No | Restrict totals to a coverage flag. | |
| path | No | Restrict totals to a file or directory path prefix. | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Branch whose head to report on. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| componentId | No | Restrict totals to a component (maps to `component_id`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the bar is lower. The description adds that results default to the default branch head and include per-file totals, but that default is already stated in the sha schema field, so the added behavioral context is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the outcome and scoping before the REST endpoint reference. The endpoint line is mildly redundant but harmless and helps HTTP-oriented agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully signals the return shape (totals plus per-file totals) for an 8-param read tool, and annotations cover safety. Minor gaps remain around result format and any pagination, but the essentials are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with all 8 params documented (sha default, flag/path/componentId scoping, service enum, required owner/repo). The description adds nothing beyond the schema, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (coverage totals for a commit) and adds what else comes back (per-file totals), which distinguishes it from codecov_get_file_coverage and codecov_get_coverage_report. It does not name the siblings directly, so it is clear but not fully differentiating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The default-branch-head fallback implies when the tool is useful (no SHA known), but there is no explicit when-to-use or when-not-to-use guidance versus codecov_get_coverage_report, codecov_get_file_coverage, or codecov_get_coverage_trend. Usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_coverage_trendGet coverage trendBRead-onlyInspect
Coverage measurements over time for a repository, bucketed by interval. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/coverage/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Branch to measure (defaults to the default branch). | |
| endDate | No | End of the range, yyyy-mm-dd (maps to `end_date`). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| interval | No | Aggregation interval for the trend — '1d', '7d' or '30d'. | |
| pageSize | No | Number of results per page (maps to `page_size`). | |
| startDate | No | Start of the range, yyyy-mm-dd (maps to `start_date`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the description's main added value is the bucketing-by-interval behavior and the underlying REST endpoint. It says nothing about how pagination interacts with bucketing or what happens when a branch/date range yields no data, leaving real behavioral gaps. Some value added, but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the purpose front-loaded and the endpoint reference appended as supporting detail. Every clause earns its place; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter read tool with no output schema, the definition is adequate but thin: it does not describe the shape of the returned time series or how paging and interval interact, which an agent calling this correctly would benefit from knowing. Annotations cover safety and the schema covers parameters, so it is minimally viable rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (interval, service, branch, start/end date, paging are all documented in the schema), so the baseline is 3. The phrase 'bucketed by interval' adds a little semantic weight to the interval parameter, but nothing beyond what the schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Coverage measurements over time for a repository, bucketed by interval.' This is clear and actionable, and the REST endpoint mapping reinforces the resource. However, it never distinguishes itself from the sibling codecov_get_flag_coverage_trend, so an agent must infer that this one is repo-scoped rather than flag-scoped.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance at all: nothing says when a trend query is preferable to codecov_get_coverage_totals or the flag-level trend sibling. The name implies usage, but there are no stated conditions, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_file_coverageGet file coverageBRead-onlyInspect
Line-by-line coverage for a single file. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/file_report/{path}/.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | No | Commit SHA to report on (defaults to the default branch head). | |
| path | Yes | File path within the repo, e.g. 'src/app.ts' (required; slashes are URL-encoded). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Branch whose head to report on. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the read-only nature is covered. The description adds the underlying REST route (GET .../file_report/{path}/), which gives mild context about where the data comes from, but says nothing about rate limits, auth scopes, URL-encoding behavior, or how sha/branch interact — all of which remain undocumented beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the payload ('line-by-line coverage for a single file') before the API mapping. Efficient, though the REST path is largely redundant with the schema and consumes a sentence that could have carried usage or return-format detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries some burden for explaining results; 'line-by-line coverage' hints at the shape but never says what a line entry contains (hit/miss/partial counts, totals) or how sha overrides branch. For a 6-parameter read tool with no output schema, this is adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters are already documented in the schema with types, required flags, defaults, and an enum for service. The description contributes no additional meaning about any parameter; the baseline 3 applies when the schema does all the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('line-by-line coverage for a single file') and the REST endpoint it wraps, so the file-scoped granularity is unambiguous versus repo-wide siblings like codecov_get_coverage_report. It stops short of naming any sibling explicitly, which is the only thing separating it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or alternative-tool guidance. An agent must infer from the phrase 'single file' that this is the drill-down counterpart to the aggregate coverage tools, and nothing tells it what prerequisites (e.g., needing a report already uploaded for that commit) apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_flag_coverage_trendGet flag coverage trendBRead-onlyInspect
Coverage measurements over time for a single flag, bucketed by interval. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/flags/{flag_name}/coverage/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Branch to measure (defaults to the default branch). | |
| endDate | No | End of the range, yyyy-mm-dd (maps to `end_date`). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| interval | No | Aggregation interval for the trend — '1d', '7d' or '30d'. | |
| pageSize | No | Number of results per page (maps to `page_size`). | |
| flag_name | Yes | Coverage flag name (required). | |
| startDate | No | Start of the range, yyyy-mm-dd (maps to `start_date`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds that results are time-series measurements bucketed by interval and discloses the underlying REST endpoint, but says nothing about pagination behavior or response shape. Moderate added value against a low annotation bar.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core behavior front-loaded and the REST path appended as a useful anchor. No filler, though the endpoint reference is somewhat redundant with the tool's purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter read tool with no output schema, the description is minimal but the schema carries full parameter documentation. It is adequate to invoke correctly yet omits return-format and pagination expectations, leaving the agent guessing about result shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all ten parameters are already documented in the schema, including the interval enum. The description's mention of 'single flag' and 'bucketed by interval' loosely maps to flag_name and interval but adds no format or defaulting detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Coverage measurements over time for a single flag, bucketed by interval.' The 'single flag' scoping implicitly distinguishes it from the repo-level sibling codecov_get_coverage_trend, but that sibling is never named, so the differentiation is inferential rather than explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use or when-not-to-use guidance, and no alternative named. An agent cannot tell from the text whether to prefer this over codecov_get_coverage_trend for repo-wide trends or codecov_get_coverage_report for point-in-time data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_ownerGet ownerBRead-onlyInspect
Get a single owner (org/user) detail. Codecov REST: GET /{service}/{owner_username}/.
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read. The description adds the underlying REST route, which is useful for agents familiar with the Codecov API, but it says nothing about what is returned, error behavior for unknown owners, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, purpose front-loaded, no filler. The REST endpoint sentence is mildly redundant but earns its place as a mapping cue for API-literate agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read with no output schema, the definition is minimally adequate: it does not hint at what an owner detail contains (repos, plan, default branch, etc.), which would help an agent decide whether this call answers its question.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the owner parameter's meaning and the service enum are fully documented in the schema, so baseline 3 applies. The description restates 'owner_username' in the route but adds no new semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Get a single owner (org/user) detail') and clarifies the entity is an org or user. It never names codecov_list_service_owners, so the contrast with the sibling that lists owners is only implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The REST mapping (GET /{service}/{owner_username}/) implies this is a direct single-owner lookup rather than a search, but there is no explicit when-to-use or when-to-prefer-list_service_owners guidance, and no stated prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_pullGet pull requestARead-onlyInspect
Get a single pull request's detail, including its base/head coverage. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/pulls/{pullid}/.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| pullid | Yes | Pull request number/id (required). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this as a safe read operation, lowering the disclosure burden. The description adds that the response includes base/head coverage, which is useful, but it does not discuss auth, error behavior, or pagination/return shape beyond that hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with no wasted words. The core purpose is front-loaded, and the REST endpoint is supplementary rather than redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only GET tool with full schema coverage and an output-less design, the description is nearly complete: it names the resource, gives the endpoint pattern, and notes the coverage data returned. It stops short of describing the full response shape, but that is a minor gap at this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema and the baseline is 3. The description's REST path template loosely maps to the parameters but adds no format, validation, or semantic detail beyond the structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Get a single pull request's detail') and identifies the returned content ('including its base/head coverage'). The word 'single' implicitly distinguishes it from the sibling codecov_list_pulls, though that alternative is not named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: 'a single pull request's detail' suggests this is for one PR rather than a list. There is no explicit when-to-use, when-not-to-use, or named alternative such as codecov_list_pulls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_repoGet repositoryBRead-onlyInspect
Get a single repository's detail. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already declares this is a safe read, so the safety burden is covered by annotations. The description adds the concrete REST path, which helps orient the agent, but discloses nothing about error behavior (e.g., 404 for missing repos), auth scope, or response shape. With annotations present, a 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with zero filler: purpose first, then the REST mapping. Every element earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a straightforward read-only single-resource fetch with full schema coverage and a readOnlyHint, the definition covers what an agent needs to invoke it correctly. The lack of an output schema means return values are unexplained, but this is a minor gap for such a simple getter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself documents repo, owner, and the service enum with a default. The description adds no parameter meaning beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Get a single repository's detail.' The word 'single' implicitly distinguishes it from the list_repos sibling, and the REST endpoint anchors the resource precisely. However, it never explicitly names or contrasts with siblings like codecov_list_repos or codecov_get_repo_config, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites (e.g., that the repo must exist or be accessible to the authenticated user), and no routing to alternatives such as codecov_list_repos or codecov_get_repo_config. The agent must infer usage entirely from the name and endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_repo_configGet repository configBRead-onlyInspect
Get a repository's Codecov configuration. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/config/.
| Name | Required | Description | Default |
|---|---|---|---|
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, and the description mostly restates that by naming a GET endpoint. It adds no information about what the config contains, whether the call requires an authenticated token, or rate-limit behavior, so with annotations present this is only baseline-adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded and no filler. The REST endpoint reference is marginally redundant but useful for mapping to Codecov's public API.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description carries the burden of describing the return value, and it never says what shape the 'configuration' takes (YAML coverage settings, flags, thresholds). The safety profile and parameters are covered elsewhere, but the return expectation is left entirely implicit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — owner, repo, and the service enum with its default are all fully documented in the schema. The description adds no syntax, format, or defaulting detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource ('Get a repository's Codecov configuration') with the underlying REST route named, which pins down exactly which resource is returned. It is distinguishable from codecov_get_repo by the 'config' resource, though the description never explicitly contrasts the two, so it falls short of the 5 bar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives such as codecov_get_repo (repo metadata) or codecov_list_flags (flag configuration). The agent must infer that this is the tool for fetching config rather than related repo data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_get_report_treeGet report treeBRead-onlyInspect
Coverage report as a file/directory tree for a commit (defaults to default branch head). Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/report/tree.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | No | Commit SHA to report on (defaults to the default branch head). | |
| flag | No | Restrict the tree to a coverage flag. | |
| path | No | Restrict the tree to a directory path prefix. | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| depth | No | Maximum tree depth to return. | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Branch whose head to report on. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| componentId | No | Restrict the tree to a component (maps to `component_id`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the default targeting of the default branch head, and the underlying REST endpoint. It omits other behavioral traits such as pagination/truncation of large trees or what the depth default is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the core purpose before the default and endpoint details. The REST endpoint restatement is optional but brief enough not to be wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tree-fetch tool with full schema coverage and no output schema, the description covers purpose and default targeting but says nothing about the shape or size of the returned tree, and gives no guidance on the nine parameters' combined behavior. Adequate, but with visible gaps for a 9-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all nine parameters are already documented in the schema — the baseline here is 3. The description only restates the sha/branch default behavior already present in the parameter descriptions, adding no syntax or interaction details (e.g., sha vs branch precedence).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Coverage report as a file/directory tree for a commit'), which clearly separates it from flat siblings like codecov_get_coverage_report or codecov_get_file_coverage. It does not, however, explicitly name or contrast any sibling tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by what the tool returns (a hierarchical tree), and the parenthetical clarifies the default target (default branch head). There is no explicit when-to-use/when-not guidance, no mention of when to prefer codecov_get_file_coverage or codecov_get_coverage_report instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_branchesList branchesBRead-onlyInspect
List a repository's branches, optionally filtered by author and ordering. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/branches/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| author | No | Filter branches by author username. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| ordering | No | Ordering field, e.g. 'updatestamp' or '-updatestamp'. | |
| pageSize | No | Number of results per page (maps to `page_size`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already establishes this is a safe read operation, and the description adds the REST endpoint for cross-reference. It does not disclose pagination behavior, result ordering semantics, or what happens with an unknown author filter — gaps that matter for a paged list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with no filler, and the core purpose is front-loaded before the endpoint reference. The REST URL earns its place as a lookup aid but is the least essential element.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description could reasonably say what a branch entry contains or how results are ordered/paged, but it stops short. For a simple read-only list with full schema coverage and a readOnlyHint, it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (page, pageSize, service enum, ordering syntax) is already documented in the schema. The description mentions author and ordering but adds no format or semantics beyond what the schema provides, which is the baseline 3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List a repository's branches') and adds scope detail (optional author/ordering filters). It does not explicitly distinguish itself from the sibling codecov_get_branch, which an agent could confuse with a plural listing, so sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'optionally filtered by author and ordering' implies when the filters apply, but there is no explicit when-to-use guidance or named alternative (e.g. 'use codecov_get_branch for a single branch'). Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_commitsList commitsARead-onlyInspect
List a repository's commits, optionally filtered by branch. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/commits/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Filter commits to a branch, e.g. 'main'. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| pageSize | No | Number of results per page (maps to `page_size`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the underlying REST endpoint (GET /{service}/{owner_username}/repos/{repo_name}/commits/), which is genuinely useful context for an agent, but it says nothing about pagination behavior or result ordering despite page/pageSize parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action front-loaded and the endpoint mapping appended as supporting detail; nothing is wasted and nothing needs to be read twice.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with full schema coverage and no output schema, the description says enough to call it correctly; the only gap is pagination/traversal behavior, which the schema partially implies via page and pageSize.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all six parameters (owner, repo, branch, service, page, pageSize) are documented in the schema itself, so the baseline of 3 applies. The description confirms the branch filter but adds no format or default detail beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('a repository's commits') with a note on optional filtering, which cleanly separates it from the singular codecov_get_commit sibling. It stops short of explicitly naming that sibling or drawing the list-vs-retrieve distinction, so it is clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'optionally filtered by branch' implies when the branch parameter is useful, but there is no explicit when-to-use versus alternatives (e.g., codecov_list_commit_uploads or codecov_get_commit) and no exclusions or preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_commit_uploadsList commit uploadsARead-onlyInspect
List the coverage report uploads recorded for a commit. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/commits/{commitid}/uploads/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| commitid | Yes | Commit SHA (required). | |
| pageSize | No | Number of results per page (maps to `page_size`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe read-only nature is known from structured data, and the description's GET reference merely corroborates it. It adds no behavioral detail such as pagination semantics, result ordering, or what fields each upload record contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action and resource, followed by the API reference. No filler or restated title text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list endpoint with fully documented parameters and a readOnly annotation, the description is largely sufficient; an output schema is absent but the tool returns upload records, which the purpose makes clear. It could note pagination handling, but nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (including service enum, page, pageSize, commitid) are already documented in the schema. The description adds no parameter-level meaning beyond what the schema provides, which is the baseline-3 case.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: list coverage-report uploads for a given commit, and anchors it to the exact REST endpoint (GET .../commits/{commitid}/uploads/). No sibling tool covers upload records, so an agent can distinguish this from codecov_get_commit or codecov_list_commits without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the purpose (use it when you need the upload history for one commit), but there is no explicit when-to-use, when-not-to-use, or named alternative versus codecov_get_commit or codecov_get_coverage_report. The REST path adds locating context but no selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_componentsList componentsBRead-onlyInspect
List a repository's components with their coverage. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/components/.
| Name | Required | Description | Default |
|---|---|---|---|
| sha | No | Commit SHA to report components on. | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Branch to report components on (defaults to the default branch). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds the underlying REST endpoint, which is useful for understanding scope, but it says nothing about pagination, ordering, or what a 'component' contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core purpose front-loaded, no wasted preamble. The REST endpoint line is mildly redundant but compact and plausibly useful for traceability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with full schema coverage and annotations carrying the safety profile, the essentials are present. However, the domain term 'components' (a specific Codecov concept) and the return shape are never clarified, and there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all five parameters, including the service enum and default. The REST path template ('{service}/{owner_username}/repos/{repo_name}/components/') loosely mirrors owner/repo/service but adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('a repository's components') plus the payload attribute ('with their coverage'). It is clearly distinguishable from most siblings like codecov_get_coverage_totals or codecov_list_flags, though it does not explicitly name what sets it apart from 'list'-style siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as codecov_get_report_tree or codecov_list_flags, nor any prerequisites. The agent must infer usage purely from the tool name and resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_flagsList flagsBRead-onlyInspect
List a repository's coverage flags. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/flags/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| pageSize | No | Number of results per page (maps to `page_size`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint annotation already declares this as a safe read, so the description need not restate that. It adds the underlying REST endpoint mapping, which is useful orientation, but says nothing about pagination behavior or rate limits despite exposing page/pageSize parameters.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with zero waste; the purpose is front-loaded before the REST endpoint detail. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with full schema coverage and no output schema, the definition covers what is needed to call it correctly. The only minor gap is that pagination behavior is left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters including the service enum and pagination fields are already documented in the schema. The description adds no parameter meaning beyond that, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (a repository's coverage flags), so the agent knows exactly what it returns. It does not explicitly distinguish itself from nearby siblings like codecov_get_flag_coverage_trend, but the purpose is unambiguous from name plus description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does but gives no when-to-use guidance, no prerequisites, and no mention of alternatives such as codecov_get_flag_coverage_trend. Usage is only implied by the verb.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_pullsList pull requestsARead-onlyInspect
List a repository's pull requests, optionally filtered by state and start date. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/pulls/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| state | No | Filter by pull state, e.g. 'open', 'closed' or 'merged'. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| ordering | No | Ordering field, e.g. 'pullid' or '-pullid'. | |
| pageSize | No | Number of results per page (maps to `page_size`). | |
| startDate | No | Only include pulls updated on/after this date, yyyy-mm-dd (maps to `start_date`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safe-read profile is covered by structured data. The description adds the upstream REST endpoint (GET /{service}/{owner_username}/repos/{repo_name}/pulls/) and implies pagination, but says nothing about rate limits, result caps, or ordering defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero waste, with the core purpose front-loaded before the endpoint reference. Nothing redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with full schema coverage and no output schema, the description covers purpose and filter scope adequately. It leaves pagination behavior and the shape of returned pull records unmentioned, but those are minor given the annotation and schema support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including service enum, page, pageSize, ordering and startDate is already documented in the schema. The description restates state and start date only, adding no syntax or format detail beyond what the schema provides; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('List a repository's pull requests') plus the filterable dimensions, which distinguishes it from the singular codecov_get_pull. It does not explicitly name sibling list tools, but the list-vs-get distinction is unmistakable from verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It notes the result is 'optionally filtered by state and start date', which implies when to apply filters, but gives no when-to-use guidance, no prerequisites, and no pointer to alternatives such as codecov_get_pull for a single pull request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_reposList repositoriesBRead-onlyInspect
List repositories for an owner, optionally filtered by active state, names or search. Codecov REST: GET /{service}/{owner_username}/repos/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| names | No | Filter to specific repository names (each is sent as a repeated `names` query param). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| active | No | Filter to repos that are active (receiving coverage) or not. | |
| search | No | Free-text search over repository name. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| pageSize | No | Number of results per page (maps to `page_size`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds the REST endpoint mapping (GET /{service}/{owner_username}/repos/) which helps map to external docs, but it says nothing about pagination behavior, result ordering, or that filtering is server-side.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core purpose front-loaded and no filler. The endpoint reference is a compact bonus rather than padding, though it is somewhat redundant with the tool name and annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema and fully documented parameters, the description is minimally sufficient. It omits any mention of result shape or pagination, which the schema only partially implies via page/pageSize.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema. The description restates the filter parameters (active, names, search) without adding format or interaction detail beyond what the schema provides, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List repositories for an owner') plus the optional filter dimensions, so the agent knows exactly what the tool returns. It does not explicitly differentiate itself from list siblings like codecov_list_branches or codecov_list_pulls, though the 'for an owner' scoping is a meaningful clue.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'optionally filtered by active state, names or search' implies when the filters are relevant, but there is no explicit when-to-use/when-not guidance or named alternative (e.g., codecov_get_repo for a single repo). Usage is inferable but not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_service_ownersList service ownersARead-onlyInspect
List owners (organizations/users) the token can see on a git service. Codecov REST: GET /{service}/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| pageSize | No | Number of results per page (maps to `page_size`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds genuinely non-obvious context: results are permission-scoped to what the token can see on the service, which affects how an agent should interpret an empty or partial result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the purpose and scope stated first, no hedging or filler. The trailing REST endpoint reference is marginally redundant for an agent but useful for mapping to Codecov docs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should carry more of the return-shape burden; it says 'owners' but does not indicate what an owner record contains or how pagination surfaces results, despite page/pageSize parameters existing. Adequate but leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (page, pageSize, service with its enum of six providers) are documented in the schema itself. The description adds no syntax or format detail beyond what the schema already provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (owners / organizations / users), plus a scoping qualifier ('the token can see on a git service'). This separates it adequately from codecov_list_users and codecov_list_repos, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (enumerating orgs/users visible to the current token on a given git service), but gives no explicit when-to-use conditions and no guidance on choosing between this and codecov_list_users or codecov_get_owner.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_test_resultsList test resultsARead-onlyInspect
List a repository's test-analytics results, optionally filtered by branch, commit, outcome and duration. Codecov REST: GET /{service}/{owner_username}/repos/{repo_name}/test-results/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| repo | Yes | Repository name, e.g. 'codecov-api' (required). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| branch | No | Filter to a branch, e.g. 'main'. | |
| outcome | No | Filter by test outcome — 'pass', 'failure', 'error' or 'skip'. | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| commitId | No | Filter to a commit SHA (maps to `commit_id`). | |
| pageSize | No | Number of results per page (maps to `page_size`). | |
| durationMax | No | Maximum test duration in seconds (maps to `duration_max`). | |
| durationMin | No | Minimum test duration in seconds (maps to `duration_min`). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds the REST endpoint mapping but says nothing beyond schema about pagination behavior, default ordering, result volume, or auth requirements. With annotations carrying the safety burden, this is adequate but thin.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence naming the resource first, then the optional filters, followed by the endpoint reference. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with ten fully documented parameters and no output schema, the description covers purpose and filterability adequately. It stops short of explaining pagination/result-size behavior, which is the main remaining gap for an agent planning calls.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter (branch, outcome, commitId, durationMin/Max, page/pageSize, service) is already fully documented in the schema. The description's filter list merely summarizes what the schema details, adding no syntax or semantics beyond it. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb + resource ('List a repository's test-analytics results') that clearly separates this tool from the coverage-oriented siblings like codecov_get_coverage_report or codecov_list_commits. It even names the underlying REST resource, removing ambiguity about what data comes back.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by enumerating supported filters (branch, commit, outcome, duration), which tells the agent what queries are possible. However, it never states when to prefer this tool over sibling listing tools such as codecov_list_commits or codecov_get_commit, and gives no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
codecov_list_usersList usersARead-onlyInspect
List users belonging to an owner (org), optionally filtered by activation/admin/search. Codecov REST: GET /{service}/{owner_username}/users/.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for paginated results (1-based). | |
| owner | Yes | Owner username — the organization or user login on the git service, e.g. 'codecov' (required). | |
| search | No | Free-text search over user name / username. | |
| isAdmin | No | Filter by admin status (maps to `is_admin`). | |
| service | No | Git service provider — one of 'github' (default), 'gitlab', 'bitbucket', 'github_enterprise', 'gitlab_enterprise' or 'bitbucket_server'. | github |
| pageSize | No | Number of results per page (maps to `page_size`). | |
| activated | No | Filter by whether the user's seat is activated. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, so the bar is lower; the description adds the underlying REST endpoint and the filter axes, which is genuine extra context. However it says nothing about pagination behavior, result size, or whether the owner lookup fails when the owner is unknown — gaps on a 7-parameter list endpoint with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the core purpose and scope front-loaded and the filter set and endpoint trailing. Nothing needs to be trimmed or relocated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should carry the return shape or pagination semantics, and it only partially does (page/pageSize exist in schema but their effect on the response is unstated). For a read-only listing tool with fully documented parameters, it is otherwise complete enough to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters (owner, service, page, pageSize, search, isAdmin, activated) are already documented in the schema. The description only restates the filter trio already covered there, adding no syntax, defaults, or interaction details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('List users belonging to an owner (org)') plus the scoping constraint, so the agent knows exactly what entity is returned. It does not name any sibling (e.g. codecov_list_service_owners vs codecov_list_repos), but the 'users' resource is naturally distinct from the other list_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'optionally filtered by activation/admin/search' implies when the filters are useful, but there is no explicit when-to-use statement, no when-not-to-use, and no named alternative. Usage is inferable from the resource name rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
24 tool updates
- Changed
codecov_compare1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_compare_impacted_files1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_branch1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_commit1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_coverage_report1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_coverage_totals1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_coverage_trend1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_file_coverage1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_flag_coverage_trend1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_owner1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_pull1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_repo1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_repo_config1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_get_report_tree1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_branches1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_commit_uploads1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_commits1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_components1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_flags1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_pulls1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_repos1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_service_owners1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_test_results1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
- Changed
codecov_list_users1 field changed- changed
Input schema / $schemaPrevious value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
24 tool updates
- First observed
codecov_compare - First observed
codecov_compare_impacted_files - First observed
codecov_get_branch - First observed
codecov_get_commit - First observed
codecov_get_coverage_report - First observed
codecov_get_coverage_totals - First observed
codecov_get_coverage_trend - First observed
codecov_get_file_coverage - First observed
codecov_get_flag_coverage_trend - First observed
codecov_get_owner - First observed
codecov_get_pull - First observed
codecov_get_repo - First observed
codecov_get_repo_config - First observed
codecov_get_report_tree - First observed
codecov_list_branches - First observed
codecov_list_commit_uploads - First observed
codecov_list_commits - First observed
codecov_list_components - First observed
codecov_list_flags - First observed
codecov_list_pulls - First observed
codecov_list_repos - First observed
codecov_list_service_owners - First observed
codecov_list_test_results - First observed
codecov_list_users
Related MCP Connectors
Read WHOOP recovery, sleep, cycles, workouts and body measurements.
Read graded sales call reports, agents and scorecards from Cold Call Coach.
Read your WakaTime coding time: summaries, stats, projects, goals, commits and leaderboards.
Read Simple Analytics stats: pageviews, visitors, pages, referrers, events and data exports.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables querying Codecov coverage data including file, commit, repository, and pull request coverage.539 npm6MIT

squally-mcpofficial
AlicenseAqualityBmaintenanceEnables coding agents to read Squally CI data, including test results, flakiness, and failure diagnostics.786 npmMIT- AlicenseAqualityDmaintenanceEnables reading and analyzing CodeFactor repository issue pages, providing normalized issue data, summaries, and prompts for code improvements.4MIT
- FlicenseNot gradedqualityDmaintenanceEnables Claude to directly access and analyze Ruby SimpleCov coverage reports for Rails projects. It allows users to retrieve coverage summaries, filter files by coverage rates, and identify specific uncovered lines to streamline test development.-
Glama MCP Gateway
Add one secure layer between your agents and this server.