chiark-mcp
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool has a clearly distinct purpose with no overlap: status checking, agent discovery, score retrieval, ecosystem statistics, and outcome reporting. The descriptions make it easy to differentiate between monitoring, search, analytics, and feedback functions.
Naming Consistency5/5All tools follow a consistent verb_noun pattern (check_agent_status, find_agent, get_agent_score, get_ecosystem_stats, report_outcome) with clear, descriptive names. The naming convention is uniform throughout the set.
Tool Count5/5With 5 tools, this server is well-scoped for agent discovery and monitoring. Each tool earns its place by covering distinct aspects of the domain: discovery, evaluation, monitoring, ecosystem overview, and feedback.
Completeness4/5The toolset provides strong coverage for agent discovery and quality assessment, including search, scoring, status checks, and ecosystem stats. A minor gap exists in direct agent interaction or management tools (e.g., invoking agents or configuring them), but the core workflow is well-supported.
Average 3.4/5 across 5 of 5 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- 0 of 1 community issues answered or closed in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It states this is a 'Get' operation which implies read-only behavior, but doesn't disclose any behavioral traits like authentication requirements, rate limits, error conditions, or what happens when an invalid agent_id is provided. The description is minimal and lacks important operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that packs substantial information about what the tool returns. It's appropriately sized for a simple retrieval tool, though it could be slightly more structured by separating the core purpose from the detailed breakdown.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter retrieval tool with no annotations and no output schema, the description provides the core purpose and return value components. However, it lacks important context about behavioral aspects, error handling, and differentiation from sibling tools. The description is adequate but has clear gaps in operational guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the single parameter 'agent_id' documented as 'Agent UUID' in the schema. The description adds no additional parameter information beyond what the schema provides. With high schema coverage and only one parameter, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get full quality score breakdown' with specific components listed (availability, conformance, performance, uptime, latency, trend, rank). It uses a specific verb ('Get') and identifies the resource ('quality score breakdown'), but doesn't explicitly differentiate from sibling tools like 'check_agent_status' or 'find_agent'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites, appropriate contexts, or exclusions. With sibling tools like 'check_agent_status' and 'find_agent' available, the agent receives no help in choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions metrics but doesn't disclose behavioral traits like whether this is a read-only operation, if it requires authentication, rate limits, data freshness, or how the metrics are calculated (e.g., time window for averages). This leaves significant gaps for a tool that likely aggregates data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that lists all key metrics without unnecessary words. It's front-loaded with the purpose ('Ecosystem overview') followed by specific data points, making it easy to scan and understand quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (aggregating multiple metrics) and lack of annotations or output schema, the description is minimally adequate. It specifies what metrics are returned but doesn't explain their format, units, or interpretation, leaving the agent to infer details. This is a baseline level of completeness for a no-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has 0 parameters, and schema description coverage is 100%, so there's no need for parameter details in the description. The baseline for 0 parameters is 4, as the description appropriately focuses on output semantics without redundant parameter explanations.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: provide an ecosystem overview with specific metrics (total agents, online count, average scores, top categories, average latency). It uses a specific verb ('overview') and resource ('ecosystem'), though it doesn't explicitly distinguish from sibling tools like 'check_agent_status' or 'get_agent_score'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description lists metrics but doesn't indicate whether this is for monitoring dashboards, health checks, or comparison with individual agent tools like 'get_agent_score'. There's no mention of prerequisites, frequency, or context for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool helps 'improve future recommendations,' suggesting a feedback or logging function, but doesn't detail behavioral traits such as whether it's idempotent, has side effects, requires specific permissions, or how it interacts with the system. This leaves gaps in understanding its operational impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: two sentences that directly state the tool's purpose and usage timing without unnecessary details. Every sentence earns its place by providing essential information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., whether it's a write operation, error handling), and doesn't explain return values or system impact. For a tool that likely involves data submission (reporting outcomes), more context on its effects and response format is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 parameters (agent_id, success, error_message, task_category) with descriptions. The description doesn't add any additional meaning or context beyond what the schema provides, such as explaining parameter relationships or usage examples. Baseline score of 3 is appropriate as the schema handles the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Report routing outcome after using an agent' and 'Helps improve future recommendations.' It specifies the action (report) and resource (routing outcome), but doesn't explicitly differentiate it from sibling tools like 'get_agent_score' or 'check_agent_status', which might also relate to agent performance tracking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context: 'Call after routing to an agent,' which implies timing. However, it doesn't specify when to use this tool versus alternatives like 'get_agent_score' (which might retrieve scores) or 'check_agent_status' (which might check current status). No explicit exclusions or detailed prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It mentions search scope and quality constraints but doesn't disclose behavioral traits like rate limits, authentication requirements for using the tool itself, pagination behavior, or what 'best' means algorithmically. The description provides basic operational context but lacks deeper behavioral transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences that efficiently convey purpose and key capabilities. It's front-loaded with the core function and follows with constraint details. While very efficient, it could potentially benefit from slightly more structure for readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a search tool with 9 parameters and no output schema, the description provides adequate context about what the tool does but lacks information about return format, result structure, or error conditions. With no annotations and no output schema, the description should ideally provide more complete operational context for effective agent use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does 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 9 parameters thoroughly. The description adds minimal value beyond the schema by listing some filter types in the description text, but doesn't provide additional semantic context or usage examples beyond what's in the parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb ('find') and resource ('AI agents'), specifies the scope ('2,000+ agents across A2A and MCP ecosystems'), and lists key quality constraints. It distinguishes itself from siblings like check_agent_status or get_agent_score by focusing on discovery rather than status checking or scoring.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context ('for a given task') and lists available filters, but doesn't explicitly state when to use this tool versus alternatives like get_ecosystem_stats or report_outcome. It provides clear filtering capabilities but lacks explicit sibling differentiation beyond the purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context by specifying what data is returned (alive/dead, HTTP status, response time, TLS validity), which helps the agent understand the tool's output behavior. However, it doesn't cover other aspects like error handling, rate limits, or authentication needs, leaving some gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys the tool's purpose and return values without any wasted words. It is front-loaded with the core action and resource, making it easy for an agent to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's low complexity (one parameter, no output schema, no annotations), the description is complete enough for basic use. It clearly explains what the tool does and what it returns, which compensates for the lack of output schema. However, it could be more comprehensive by addressing potential errors or usage constraints, slightly limiting completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so the schema already documents the single parameter (agent_id) with its type and description. The description doesn't add any parameter-specific information beyond what the schema provides, but with only one parameter and high coverage, this is acceptable. The baseline is 3, but the simplicity and completeness of the schema justify a slightly higher score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Check real-time status') and resource ('of an agent'), and distinguishes it from siblings by specifying it returns probe results rather than finding agents, scoring agents, getting ecosystem stats, or reporting outcomes. It uses precise verbs and defines the exact scope of what it provides.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by mentioning it returns probe results, suggesting it's for monitoring agent health, but it doesn't explicitly state when to use this tool versus alternatives like find_agent or get_agent_score. No exclusions or prerequisites are provided, leaving the agent to infer context from the tool's purpose alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/chiark-ai-dev/chiark-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server