Vibecheck
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool targets a distinct action within the plan/work lifecycle: joining a session, publishing/editing/acknowledging/reading plans, claiming/updating work, and viewing status/history. There is no genuine overlap that would cause an agent to select the wrong tool.
Naming Consistency4/5Tool names consistently use lowercase snake_case with an object-first pattern (project_*, plan_*, work_*). Most names follow object_verb, though project_status and work_history are object_noun, creating a minor deviation.
Tool Count5/5Nine tools is well-scoped for a coordination server covering session joining, plan management, work claiming/updating, and status/history queries. Each tool earns its place without redundancy or bloat.
Completeness4/5The tool set covers the core plan and work lifecycle: publishing/reading/editing plans, acknowledging revisions, claiming and updating work, and querying status/history. Minor gaps exist, such as no explicit plan deletion or session leave, but agents can work around these in normal workflows.
Average 3.5/5 across 9 of 9 tools scored. Lowest: 2.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 2 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
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
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnlyHint=true and openWorldHint=false, so a safe read operation is already established. The description adds a behavioral distinction between 'compact' and 'full' output, noting that full includes all current records and the task map. However, it does not explain how filters, limits, or revision handling affect behavior.
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 very short and front-loads the core action ('Read'). It avoids redundancy and extra words. The phrasing is compact but slightly awkward and could be clearer, yet it still earns its place without wasted content.
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?
The tool has a nested request schema, no output schema, and no parameter-level descriptions. The description only conveys compact/full modes, leaving out what 'current work' means, how project_id is used, how filtering works, and what the response looks like. An agent would struggle to invoke this correctly beyond the default compact read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for documenting parameters. It only hints at the 'full' boolean and the 'task map' concept, leaving project_id, limit, since, task_ids, include_map, and known_plan_revision semantically undocumented. This is insufficient for a tool with seven nested parameters.
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 states a specific verb ('Read') and a resource ('current work'), and distinguishes between compact and full output modes. It conveys the tool is a read/status tool, which separates it from mutating siblings like plan_edit, work_update, and plan_publish. It is somewhat ambiguous what 'current work' precisely covers, but it gives enough of a functional identity.
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?
The description implies this is for reading current work/status, but it gives no explicit guidance on when to use project_status versus alternatives such as plan_read, work_history, or work_claim. There is no mention of exclusions, prerequisites, or which sibling tools are better suited for other scenarios.
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?
The description discloses two important behaviors beyond the annotations: the operation is atomic, and it depends on an expected revision. However, it does not state what happens on a revision mismatch, whether updates are full or partial replacements, or any failure semantics. Annotations already cover idempotency and non-destructiveness, so some burden is lifted.
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, front-loaded sentence with no filler. 'Atomically', 'add or update', 'plan tasks', and 'expected revision' each carry meaningful information, so the sentence earns its place despite the complexity of the schema.
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?
For a mutation tool with a nested request object, no output schema, and no sibling differentiation, one sentence is insufficient. Missing context includes how to choose add vs update operations, the role of request_id/session_id, and the behavior when expected_revision is stale. The schema provides structure but not the operational context an agent needs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. It only explains the role of expected_revision, while leaving project_id, request_id, session_id, and the structure/semantics of operations largely to the schema. The nested PlanAdd/PlanUpdate definitions are self-describing at a type level, but the description adds almost no guidance on how to construct a valid request.
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 names a specific action ('add or update plan tasks') and a resource, and adds a distinctive concurrency aspect ('using the coordinator's expected revision'). It is clear enough to distinguish plan_edit from read-style siblings like plan_read, though it does not explicitly name any alternative.
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 the intended use case: atomically modifying plan tasks while respecting a revision guard. However, it gives no explicit when-to-use or when-not-to-use guidance, and does not mention sibling tools or conditions that would route an agent elsewhere.
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?
Annotations already disclose readOnly=false, idempotent=true, destructive=false. The description adds that this is a join operation with explicit session identity and that the response is a compact status with map recovery, which is some behavior beyond annotations. However, it does not explain side effects such as session creation or state transitions, and idempotentHint=true is not contradicted. With annotations present, this is adequate 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one sentence, front-loads the core action, and carries useful information without unnecessary words. It is concise and readable, though it packs several concepts compactly.
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 schema is rich with required fields and defaults, and there is no output schema, the description explains the response kind ('compact status with map recovery') but not the meaning of the required fields, the semantics of take_over_from, or the implications of joining with a parent session. It is adequate for a simple join call, but it leaves behavioral details to the caller's context.
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 0%, so the description is the only textual source for parameter meaning. The description mentions 'explicit session identity' (external_session_id), 'optional parent' (parent_session_id), and 'compact status' (response), but the remaining parameters like take_over_from, effort, request_id, repository, vendor, runtime, and model are not described. A 0% coverage baseline would expect the description to compensate; partial compensation merits a 3.
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 uses a specific verb ('Join') with a resource ('project') and mentions key modifiers (explicit session identity, optional parent) that distinguish it from a plain project query. It does not explicitly name siblings, but it conveys a session-joining behavior. The return phrase 'compact status with map recovery' adds some specificity.
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 a session/identity-joining scenario, and sibling names like project_status, work_claim, work_update suggest alternatives, but it offers no explicit when-to-use or when-not-to-use guidance. The phrase 'optional parent' hints at when to use parent_session_id, but no exclusions or alternative tool routing is given.
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?
The description adds 'atomically,' which is a meaningful behavioral trait beyond the annotations: updates are applied all-or-nothing. However, it does not explain the optimistic concurrency mechanism suggested by expected_revision, what happens on a revision mismatch, or the side effects of releasing work, so behavioral transparency is only partially covered.
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, well-formed sentence with no filler, and the primary behavior is front-loaded. However, for a tool with a complex nested schema, the extreme brevity comes at the cost of omitted guidance that the agent would need.
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?
This tool has a rich nested request schema, no output schema, and only a one-line description. Missing context includes the meaning of expected_revision/expected_task_revision, action-specific required fields, how location is used, and what the response indicates about success or failure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description needed to compensate by explaining the request structure and key fields. It maps 'progress, release, or hand off' to the action options, but leaves critical parameters like expected_revision, location, integration_commit, and handoff_to semantically unexplained.
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 names the exact verb-resource pair and enumerates three concrete operations: reporting progress, releasing work, and handing work to another session. This clearly distinguishes the tool from siblings like work_claim and work_history, which read or claim work rather than mutate it.
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 this tool should be used when a session needs to atomically update the state of work, but it does not explicitly state when to prefer it over alternatives or when not to use it. There is no mention of sibling tools or exclusions, so the agent must infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description adds the 'revision check' behavior, which is critical for optimistic concurrency and is not present in the annotation fields. It does not describe what happens on a revision mismatch, but idempotency and non-destructiveness are already covered by the annotations.
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 sentence, verb-first, with no filler or redundant restatement of the tool name. Every phrase earns its place: the action, the alternative mode, and the concurrency check.
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?
The schema and annotations carry substantial weight: required fields, patterns, and idempotency are already structured. However, the description still omits success/error behavior, what a failed revision check means, and the semantics of parent_work_id/replace_work_id. It is adequate for a basic call but not fully complete for a nested WorkClaim operation with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description was expected to compensate by explaining parameters, but it only adds meaning to expected_revision via 'revision check'. Required fields like project_id, request_id, session_id, task_id, and optional fields like location, parent_work_id, and replace_work_id are left entirely to their names.
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 states concrete actions ('Claim task ownership or record a delegated contribution') and a key constraint ('with a revision check'), making it clear this is a write/claim operation rather than a read/history tool. It does not fully explain the two modes or the exact resource lifecycle, but the core purpose is identifiable.
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 phrasing implies when to use the tool (when claiming ownership or recording a delegated contribution), but it never explicitly contrasts it with siblings like work_update, plan_ack, or work_history. No when-not-to-use guidance or alternatives are given, so the agent must infer selection from the verb 'claim'.
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?
Annotations already provide idempotentHint=true, readOnlyHint=false, and destructiveHint=false, so the safety profile is covered. The description adds the contextual constraint that the tool records what the session explicitly observed, which is useful, but it does not disclose additional behavioral details such as duplicate-ack handling or side effects beyond the annotation coverage.
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 sentence with no filler. Every word contributes meaning: 'Record' gives the action, 'plan revision' gives the resource, and 'this session explicitly observed' gives the scoping condition.
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 simple write/ack tool with nested schema and no output schema, the description is mostly adequate because the schema defines the required fields and annotations define idempotency/safety. However, it leaves parameter semantics and alternative usage insufficiently explained, so an agent might not fully understand how to populate all required fields or when to prefer a sibling tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the undocumented parameters. It maps loosely to 'plan_revision' and 'session_id' through 'plan revision' and 'this session', but it does not explain the 'request' wrapper, 'project_id', or 'request_id' semantics, leaving an agent to infer how to construct the required request object.
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 states a specific verb ('Record') and a specific resource ('the plan revision'), scoped by 'this session' and 'explicitly observed'. This clearly distinguishes the tool from siblings like plan_read, plan_edit, and plan_publish by indicating an acknowledgment/recording action rather than retrieval, modification, or publication.
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 phrase 'this session explicitly observed' implies the condition under which the tool should be used: only when the session has actually seen the plan revision. However, it does not explicitly state when not to use it or name alternatives such as plan_read or plan_edit for other workflows.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnly=false, destructive=false, idempotent=true), and the description adds the revision-guard behavior: 'using its expected revision' signals an optimistic-concurrency check that will presumably reject a stale revision. It also hints at a role constraint via 'coordinator's,' context annotations cannot express. It stops short of explicitly stating the failure mode on revision mismatch.
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?
A single 11-word sentence with the verb and resource front-loaded and the concurrency qualifier at the end. Every word carries meaning, and there is no boilerplate or duplication of schema information.
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?
The core mechanism and scope are covered, but for a concurrency-guarded write with no output schema, gaps remain: the failure behavior when the expected revision is stale (only implied by the word 'expected'), the return value, and how this step fits into a plan_edit → plan_publish → plan_ack workflow are all unstated.
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?
With 0% schema description coverage, the description carries the semantic burden and partially pays it: 'expected revision' explains the purpose of expected_revision, and 'complete task plan' implies the tasks array is a full replacement rather than a delta. However, the project_id/request_id/session_id triplet and the TaskDefinition fields (status, depends_on, supersedes) are left to name inference alone.
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 states a specific action ('Publish'), the target (the coordinator's complete task plan), and the mechanism ('using its expected revision'), so an agent can tell what the tool does. It does not name sibling tools, but 'publish' plus 'complete task plan' implicitly contrasts with plan_edit's incremental changes and plan_read's read-only view, giving partial sibling differentiation.
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?
Usage is implied rather than stated. The description never explains when to publish versus editing incrementally with plan_edit, acknowledging with plan_ack, or reading with plan_read, and it gives no exclusions or preconditions such as 'must hold the current revision from a prior read.'
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?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds the filter dimensions but does not disclose pagination behavior, result ordering, or whether no-match calls return empty results. It is consistent with annotations but adds only modest behavioral context.
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?
A single well-structured sentence that front-loads the core purpose ('Find recorded work and its history') and then lists the filter dimensions. There is no wasted text.
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?
With no output schema and sparse parameter documentation, the description is minimally adequate: it conveys what the tool returns at a high level and which filters exist. However, it omits the required project_id and does not clarify pagination semantics, so an agent has to rely heavily on the schema.
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 0%, so the description carries more responsibility. It adds meaning by identifying task, session, path, branch, and commit as search keys, but it omits the required project_id and the after/limit pagination parameters, leaving an important invocation gap.
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 uses a specific verb ('Find') and a clear resource ('recorded work and its history'), and it lists the search dimensions. It is clear, but it does not explicitly distinguish itself from sibling tools such as work_update or plan_read, 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.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies a read/query use case: use this tool when you need to find recorded work by various criteria. It does not mention alternatives or exclusions, but the context is clear enough for an agent to know when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
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 valuable behavioral context beyond annotations: using compare_to returns differences 'without full maps,' implying a lighter payload and different response shape.
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?
One sentence with no filler. The primary action is front-loaded, and the compare_to tip follows immediately, making the most important guidance prominent.
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?
For a simple read-only tool with annotations covering safety, the description covers the main operation and the key behavioral mode. It lacks explicit mention of default revision behavior, but the core usage context is sufficiently complete.
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 0%, so the description must compensate. It explains compare_to meaning and implies that revision is the plan revision to read, but it doesn't clarify what revision=null means (e.g., latest) or elaborate project_id. Partial compensation, not full.
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 states a specific verb and resource: 'Read a complete plan revision.' It clearly identifies the core operation and the compare_to mode, though it doesn't explicitly differentiate from sibling tools like plan_edit or plan_publish by name.
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 gives explicit guidance for when to use compare_to: for differences without full maps. This tells the agent how to choose between default full-read behavior and diff mode. It doesn't mention alternative tools, but the read-only purpose is apparent.
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: