9apes
Server Details
The 9apes MCP server lets an AI assistant read the GitHub Actions data 9apes already collects for your organization: runs, jobs, steps, and their durations. Ask it why a build got slower, which jobs take the longest, or how this week compares with last week.
It is read-only. It cannot start, cancel, or change jobs, runners, billing, or account settings.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 9 tools
Tools target distinct analytics operations (context, connectivity, facets, run listing, run/job stats, rankings, window comparisons), but get_job_stats and rank_jobs both operate on job duration groups, and get_run_stats and compare_windows both produce windowed metrics, so minor misselection is possible.
All 9 tools use snake_case with the same 9apes_ prefix and consistent verb_noun or verb_object structure (get_*, list_*, rank_*, compare_*).
9 tools is well-scoped for a focused GitHub Actions analytics server; each tool covers a distinct operation without apparent redundancy.
The surface covers grant context, connectivity, facets, run listing, run/job stats, run-job inspection, ranking, and window comparison, but lacks a direct get_run metadata/logs tool or workflow-level summary, which could force workarounds.
Available Tools
9 tools9apes_compare_windowsARead-onlyIdempotentInspect
Compare equal-length, non-overlapping half-open UTC windows [start, end) with identical filters; adjacent windows (one ends where the other starts) are valid. Zero/missing baseline has no percentage delta.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | runs | |
| metric | No | p95 | |
| current | Yes | ||
| filters | No | ||
| baseline | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and closed-world behavior. The description adds meaningful window validation rules and the special zero/missing baseline percentage-delta behavior, though it does not discuss error handling 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 dense sentences front-load the comparison and window rules, with every clause adding a constraint or edge case. There is 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?
Because an output schema exists, return values need not be explained. The description covers the critical window comparison constraints and baseline edge case, but does not elaborate on filter arrays or kind/metric defaults, leaving some schema elements to structural inference.
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 low, so the description must carry parameter meaning. It explains the current/baseline window semantics, their shared filters, and the zero-baseline case well; however, kind and metric are left mostly to their enum values and defaults in 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?
States a specific verb and resource: compare equal-length, non-overlapping half-open UTC windows with identical filters. This is clearly distinct from sibling tools like get_run_stats or list_runs, and an agent can identify the operation 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?
Provides valid-window constraints (equal-length, non-overlapping, adjacent allowed) and an edge case for zero/missing baseline, but does not say when to prefer this tool over sibling analytics tools or when comparison is inappropriate. Usage is implied rather than explicitly guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
9apes_get_contextARead-onlyIdempotentInspect
Confirm the grant's immutable org, scopes, supported analytics and limits. No org override.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds genuinely new context beyond that: the org is immutable and there is no override parameter, which explains why the tool takes no arguments and always returns the same grant-bound 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 short sentences, no filler, with the scope/immutability constraint front-loaded. Every clause carries information about what the tool returns.
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 an output schema present, the return payload need not be described, and with zero parameters the calling surface is trivial. The description covers the essential behavioral contract; only failure behavior (e.g., an invalid or expired grant) is left unaddressed.
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?
The schema declares zero parameters, so there are no parameter semantics to document and the baseline is 4. The description's 'No org override' usefully confirms that no scoping argument is accepted.
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 resource (the grant) and enumerates what is returned: immutable org, scopes, supported analytics, and limits. That is enough to distinguish it from the run/job/stats siblings, though it never explicitly says 'use this instead of X' or names the retrieval verb.
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 only implied: an agent infers this is the tool to call when it needs to verify credential scope before other calls. 'No org override' hints at a constraint but there is no explicit when-to-use statement nor any named alternative among the siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
9apes_get_filter_valuesBRead-onlyIdempotentInspect
Get observed repo/branch/workflow facets. All filters apply, including each facet's own filter. No status facet.
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | ||
| filters | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and non-destructive semantics, so safety is covered. The description adds the notable constraint that filters are applied recursively and that no status facet exists, which is genuinely useful behavioral context not in annotations. However, it omits what calling conventions or cost characteristics apply.
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?
Three short sentences, front-loaded with the purpose. No filler. The 'No status facet' caveat is compact. Slightly cryptic phrasing but efficient.
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?
An output schema exists, so return values needn't be explained. But with 0% schema coverage on two nested parameters and no usage guidance, the description leaves an agent guessing about how to apply window/filters. Adequate core intent but incomplete for correct invocation.
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 0%, so the description must carry parameter meaning. It alludes to filters generally but never explains the window (half-open UTC range) or how filters interact with facet enumeration. The key semantic that a filter's own facet is still filtered is mentioned, but the parameters themselves are not clarified beyond that.
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 observed repo/branch/workflow facets.' It distinguishes itself from siblings like list_runs or get_job_stats by being a facet-enumeration tool. The phrasing 'facets' is slightly jargon-laden but conveys the core purpose.
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 this is used to discover available filter values before filtering, but never explicitly says when to call it versus its many siblings. 'All filters apply, including each facet's own filter' hints at behavior but not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
9apes_get_github_statusARead-onlyIdempotentInspect
Read GitHub installation connectivity, not execution status or collection freshness.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered without the description. The description adds a useful boundary about what signal is and is not returned, but says nothing about failure modes, auth prerequisites, or what connectivity actually means (network vs installation token). An output schema exists, so return details need not be spelled out.
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 sentence with the core purpose front-loaded and the disambiguation trailing. Every clause earns its place and there is no redundancy.
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 zero parameters, a rich annotation set, and an output schema, the description's remaining job is to frame the concept of 'connectivity' and exclude neighboring concepts, which it does. It is slightly thin on what a negative or failing result would indicate.
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?
The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate. No syntax or scoping details are needed.
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 ('read') and a specific resource ('GitHub installation connectivity'), which is concrete enough for an agent to know this is a health/connectivity probe. The negations ('not execution status or collection freshness') sharpen the purpose against likely misreadings, though no sibling tool is named for contrast.
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 exclusions imply when this tool is appropriate (diagnosing connectivity problems) and when it is not (checking run outcomes or data freshness), but there is no positive usage statement or routing to the sibling that handles those other concerns. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
9apes_get_job_statsCRead-onlyIdempotentInspect
Read job/step duration groups. Same repo/job names may merge workflows; no samples, minimum or exemplar IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | ||
| filters | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and non-open-world, so the safety profile is covered. The description adds real, non-obvious behavior — that same repo/job names may merge workflows and that results carry no samples, minimums or exemplar IDs — but the phrasing is cryptic and omits limits or aggregation granularity.
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 no filler and the purpose front-loaded. It is terse to the point of under-specification, but nothing is wasted.
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?
An output schema exists, so return values need not be explained, but for a filtered analytics tool with two nullable parameters and no parameter documentation, the description leaves too much to inference: no usage context, no filter semantics, no indication of aggregation granularity.
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 0% at the property level, and the description says nothing about 'window' or 'filters'. Only the nested $defs carry semantics (half-open UTC window, maxItems caps), so the description fails to compensate for the coverage gap.
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 verb+resource is present ('Read job/step duration groups'), so an agent knows this is a read-oriented analytics call. However, 'duration groups' is ambiguous (grouped by what?) and nothing distinguishes it from close siblings like 9apes_get_run_stats, 9apes_rank_jobs or 9apes_compare_windows.
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 statement of when to use this tool, when not to, or which sibling to pick instead — despite eight sibling tools that overlap heavily in the analytics space. The second sentence is a data caveat, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
9apes_get_run_jobsARead-onlyIdempotentInspect
Inspect jobs/steps for 1–30 numeric run IDs, retaining all recorded attempts. Empty means no stored jobs, not proof none ran.
| Name | Required | Description | Default |
|---|---|---|---|
| run_ids | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavioral context: results retain every recorded attempt, and an empty result means 'no stored jobs, not proof none ran' — an interpretation caveat that prevents a real misread of the output.
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, the data scope front-loaded and the empty-result caveat placed where it will be read before acting. No filler, no restated tool name.
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 an output schema present, return-value details need not be described, and the description covers the one output nuance an agent could get wrong (empty ≠ no run). The remaining gap is the lack of sibling differentiation, which matters given how many related job/run tools exist.
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 0%, so the description must carry the load, and it does state the key semantics: IDs are numeric and 1–30 may be supplied. It stops short of clarifying ordering, duplicate handling, or whether the array is a filter union, but the essential input meaning is conveyed beyond the bare minItems/maxItems constraints.
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 ('Inspect') and resource ('jobs/steps') with an explicit scope of 1–30 numeric run IDs, which is far more precise than the raw name suggests. It does not, however, contrast itself with overlapping siblings such as 9apes_get_job_stats, 9apes_get_run_stats, or 9apes_rank_jobs, so the agent must infer the boundary.
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 data is returned ('jobs/steps ... retaining all recorded attempts') but gives no when-to-use, when-not-to-use, or alternative routing despite several siblings operating on the same runs/jobs domain. The agent is left to guess whether this or 9apes_get_job_stats is the right call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
9apes_get_run_statsCRead-onlyIdempotentInspect
Read count and nullable elapsed P50/P75/P95/max seconds plus UTC daily buckets. P50 is median.
| Name | Required | Description | Default |
|---|---|---|---|
| window | No | ||
| filters | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds two real behavioral facts beyond that: the percentile metrics are nullable (no data yields nulls) and results are bucketed by UTC day. It says nothing about pagination, result size, or what an empty window returns.
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 returned metrics and no throat-clearing. 'P50 is median' is nearly filler for a technical agent, but it is defensible disambiguation and costs little.
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?
An output schema exists, so explaining return values is not required — which makes the description's focus odd, since it describes only outputs and omits how to scope the query (window/filters) or when to select this tool. For a 2-parameter analytics tool with 0% parameter coverage, this leaves the agent without the information needed to call it well.
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 0% for the two top-level parameters, and the description never mentions 'window' or 'filters' at all. The AnalyticsWindow $def clearly documents its half-open UTC semantics, but the genuinely undocumented AnalyticsFilters (repo_names, workflow_ids, head_branches) is left to the agent to guess, so the description does not compensate for the coverage gap.
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 verb is 'Read' and the resource is implied ('run stats' only via the tool name), but the sentence spends its budget enumerating output metrics rather than stating what the tool does. It gives no basis for distinguishing it from a sibling like 9apes_get_job_stats or 9apes_compare_windows.
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 stated precondition, and no named alternative among the eight siblings (get_job_stats, compare_windows, rank_jobs, etc.). The agent must infer the choice purely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
9apes_list_runsBRead-onlyIdempotentInspect
List latest stored runs, newest first. Page results are not a full-history fastest/slowest ranking.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| window | No | ||
| filters | No | ||
| per_page | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior, so the safety profile is covered. The description adds two non-obvious behavioral traits: results are ordered newest-first and paged results are a partial slice rather than a full-history ranking, which prevents the agent from misreading completeness.
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 second sentence is slightly awkwardly phrased ('not a full-history fastest/slowest ranking') but still compact and earns its place as a warning.
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?
An output schema exists, so return values need not be described. However, for a 4-parameter tool with 0% schema description coverage, the description omits the meaning of window (including the null default), filters, and per_page, leaving the agent without enough information to call it 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 0% for all four top-level parameters, and the description never explains what window, filters, or per_page mean or what window=null defaults to. Only the word 'Page' loosely gestures at pagination, leaving most parameter semantics undocumented in both schema and description.
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 latest stored runs') plus the ordering ('newest first'), so the agent knows exactly what comes back. The second sentence implicitly differentiates it from the ranking siblings (e.g. 9apes_rank_jobs) but never names them.
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 caveat that page results are 'not a full-history fastest/slowest ranking' hints at when not to use this tool, but it never names the alternative sibling (9apes_rank_jobs) or states the conditions for choosing between them. 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.
9apes_rank_jobsBRead-onlyIdempotentInspect
Rank job groups by a selected duration statistic. Ascending P50 is low median groups, not the fastest execution.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| metric | No | p95 | |
| window | No | ||
| filters | No | ||
| direction | No | desc |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| meta | Yes | |
| error | No | |
| success | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description does add a genuinely non-obvious behavioral caveat about how ascending P50 should be read, but says nothing about pagination, result size, or how ranking ties are handled.
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 action, and the interpretive caveat is dense and earns its place. It is efficient, though terse enough that more parameter context could have been added without bloat.
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?
An output schema exists, so return-value explanation is not required. However, for a five-parameter tool with zero schema description coverage and window/filter objects that materially change results, the description is too thin to be called 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 0% across five parameters, so the description must carry the load. It only loosely gestures at 'metric' ('selected duration statistic') and 'direction' ('Ascending'), leaving limit, window and the repo/workflow/branch filters entirely unexplained.
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 names a specific verb and resource ('Rank job groups by a selected duration statistic'), which clearly separates it from sibling stats/list tools. It stops short of explicitly distinguishing itself from the closest siblings such as 9apes_get_job_stats or 9apes_get_run_stats.
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 statement of when to reach for this tool versus the stats siblings, nor any prerequisites. The second sentence is a result-interpretation caveat, not tool-selection guidance, so an agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Publisher details
- Operator
- 9apes, a managed GitHub Actions runner company that hosts its own MCP server. The site doesn’t name a registered legal entity; AlternativeTo lists the developer as US-based 9apes. · Publisher source
- Operator website
- https://9apes.com · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://9apes.com/docs/mcp-server/
- Trust center
- https://9apes.com/security/
- Restrictions
- - You need a 9apes account with GitHub runs going through it, membership in the 9apes organization you want to analyze, and an MCP client that supports remote HTTP servers with OAuth. - Installing the GitHub App on an org you don’t own needs approval: runners only work for that org once an owner approves the installation in GitHub. - Each connection is bound to one organization, and membership is rechecked on every call. - On Claude Team and Enterprise plans, an owner may need to allow custom connectors first. - No paid plan is required: every account gets 3000 free runner minutes a month, and no credit card is needed to start. - No regional limits are documented. · Publisher source
Related MCP Servers
- AlicenseNot gradedqualityBmaintenancePerplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.2Apache 2.0
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm54 PyPIMIT
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1611 npm1MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.