Code Whisperer MCP
Server Quality Checklist
Latest release: v1.1.0
- Disambiguation5/5
Each tool has a clearly distinct purpose with no ambiguity. The 'get_' tools retrieve full content for specific resources, while the 'list_' tools provide overviews of available resources, creating a clean separation between metadata listing and content retrieval.
Naming Consistency5/5Tool names follow a perfectly consistent verb_noun pattern throughout. All tools use either 'get_' or 'list_' prefixes followed by plural nouns (prompts, skills, templates), creating a predictable and readable naming convention.
Tool Count5/5Six tools is well-scoped for a documentation/content retrieval server. Each tool earns its place with three resource types (prompts, skills, templates) each having both list and get operations, creating a complete but not overwhelming surface.
Completeness4/5The server provides excellent CRUD-like coverage for its documentation domain with list and get operations for all three resource types. The only minor gap is the absence of create/update/delete operations, but for a read-only documentation server, this is reasonable and agents can work effectively with the provided surface.
Average 3.8/5 across 6 of 6 tools scored. Lowest: 2.9/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues 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?
With no annotations provided, the description carries full burden for behavioral disclosure. It states a read operation ('Get'), implying non-destructive behavior, but doesn't cover authentication needs (api_key parameter), rate limits, error conditions, or response format. The description adds minimal behavioral context beyond the basic action.
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 directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple retrieval tool and front-loads the essential information.
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 retrieval tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'full prompt pattern content' includes, the response format, or error handling. Given the lack of structured metadata, the description should provide more complete operational 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 100%, with both parameters well-documented in the schema. The description adds no additional parameter semantics beyond what the schema already provides (slug examples, api_key purpose). This meets the baseline score when schema coverage is high.
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 action ('Get') and the resource ('full prompt pattern content'), specifying retrieval by slug. It distinguishes from sibling tools like list_prompts (which lists rather than retrieves content) and get_template/get_skill (different resource types). However, it doesn't explicitly differentiate from all siblings in the description text itself.
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 provides no guidance on when to use this tool versus alternatives. It doesn't mention when to choose get_prompt over list_prompts (for full content vs listing), or how it relates to get_template/get_skill for different resource types. No usage context or prerequisites are provided.
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?
With no annotations provided, the description carries full burden for behavioral disclosure. It states the tool retrieves content but doesn't describe what 'full CLAUDE.md template content' entails (e.g., format, structure, size), whether it requires authentication (implied by 'api_key' parameter but not stated), or any rate limits or error conditions. This leaves significant gaps for an agent to understand the tool's behavior beyond basic retrieval.
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 front-loads the core purpose ('Get the full CLAUDE.md template content') and specifies the key constraint ('for a specific project type by slug'). There is no wasted verbiage, and every word contributes to understanding the tool's function.
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 moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic retrieval action and target resource, but lacks details on authentication needs (implied by 'api_key' but not explained), output format, or error handling. Without annotations or output schema, the agent must infer these aspects, making the description minimally viable but with clear gaps.
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 both parameters ('slug' and 'api_key') well-documented in the schema. The description adds minimal value beyond this, mentioning 'by slug' which aligns with the schema but not providing additional context like example slugs or how 'api_key' relates to authentication. Baseline score of 3 is appropriate as the schema does 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 action ('Get') and resource ('full CLAUDE.md template content for a specific project type by slug'), making the purpose immediately understandable. It distinguishes from siblings like 'list_templates' by specifying retrieval of full content for a specific template rather than listing available templates. However, it doesn't explicitly contrast with 'get_prompt' or 'get_skill', which might have similar retrieval patterns.
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 context by specifying 'for a specific project type by slug,' suggesting this tool should be used when you need the complete template content for a known template identifier. However, it provides no explicit guidance on when to use this versus alternatives like 'list_templates' (for browsing) or other 'get_' tools, nor does it mention prerequisites or exclusions.
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?
No annotations are provided, so the description carries the full burden. It describes the tool as a list operation (implying read-only behavior) and mentions the output fields, but doesn't disclose behavioral traits like pagination, rate limits, authentication needs (though the schema shows an optional api_key), or error handling. The description adds some context but lacks depth for 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose and followed by a usage guideline. Every sentence earns its place by providing essential information without waste. It's appropriately sized for a simple list tool.
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 low complexity (1 optional parameter, no output schema), the description is somewhat complete but has gaps. It explains what the tool does and references an alternative, but lacks details on authentication (implied by api_key but not explained), output format beyond field names, or error cases. Without annotations or output schema, more context would be helpful.
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 the single parameter (api_key). The description doesn't add any parameter-specific information beyond what the schema provides. With high schema coverage, the baseline score is 3, as the description doesn't compensate with additional semantics.
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: 'List all available CLAUDE.md templates with slug, title, and category.' It specifies the verb ('List'), resource ('CLAUDE.md templates'), and output fields. However, it doesn't explicitly differentiate from sibling tools like 'list_prompts' or 'list_skills' beyond mentioning a different resource type.
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 provides clear context: 'Use get_template to fetch the full template content.' This explicitly names an alternative tool for a related action (fetching content vs. listing metadata). However, it doesn't specify when to use this tool versus other list tools like 'list_prompts' or 'list_skills'.
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?
No annotations are provided, so the description carries the full burden. It discloses the tool fetches 'full SKILL.md content' and requires a slug, but doesn't mention authentication needs (api_key parameter), error handling, rate limits, or response format. While it adds some context about the content type, key behavioral aspects remain undocumented.
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?
Two sentences with zero waste: the first states the purpose and resource, the second provides essential usage guidance. It's front-loaded with the core function and efficiently includes only necessary context about sibling tools.
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 read operation with 2 parameters and no output schema, the description covers purpose and sibling differentiation well. However, without annotations or output schema, it lacks details on authentication (api_key), error cases, or return format, leaving gaps in behavioral context despite the straightforward function.
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 both parameters (slug and api_key) with descriptions. The description adds no additional parameter semantics beyond implying slug usage, which the schema already covers. Baseline 3 is appropriate 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.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get the full SKILL.md content') and resource ('for a specific Claude Code skill by slug'), distinguishing it from siblings like list_skills (which discovers slugs) and other get_/list_ tools for different resources. It specifies the exact content format (SKILL.md) and mechanism (slug-based lookup).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly states when to use this tool ('by slug') and provides a clear alternative for discovering slugs ('Use list_skills to discover available slugs'), directly addressing sibling differentiation. This gives complete guidance on the workflow: first use list_skills, then use get_skill with a slug from that list.
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?
No annotations are provided, so the description carries full burden. It describes the tool's behavior as listing patterns with specific fields, but doesn't disclose operational traits like pagination, rate limits, authentication needs (though the schema shows an optional api_key), or error handling. The description adds basic context but lacks deeper behavioral details.
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 extremely concise with two sentences that are front-loaded and waste-free. The first sentence states the purpose and output fields, while the second provides usage guidance, with every word earning its place. No redundant or verbose language is present.
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 low complexity (one optional parameter, no output schema, no annotations), the description is reasonably complete for a listing operation. It covers purpose, output fields, and sibling differentiation, but lacks details on behavioral aspects like response format or error cases, which would be helpful despite the simple 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 100%, so the schema already documents the single parameter (api_key). The description doesn't add any parameter-specific information beyond what the schema provides, such as explaining when or why the api_key is needed. Baseline 3 is appropriate when the schema handles parameter documentation adequately.
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 ('List all available prompt patterns') and resource ('prompt patterns'), while distinguishing it from sibling tools by mentioning that 'get_prompt' should be used to fetch full content. It provides exact fields returned (slug, title, category, tags), making the purpose highly specific and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool ('List all available prompt patterns') versus alternatives ('Use get_prompt to fetch the full prompt content'), providing clear guidance on tool selection. It distinguishes this listing tool from the detailed retrieval sibling, though it doesn't mention other siblings like list_skills or list_templates.
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 clearly describes what the tool does (lists skills with specific fields) and mentions the relationship with get_skill. However, it doesn't address important behavioral aspects like whether this requires authentication (though the schema shows an optional api_key parameter), rate limits, pagination, or error conditions. The description adds value but leaves gaps in 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is perfectly concise with two sentences that each serve distinct purposes: the first explains what the tool does and what information it returns, the second provides explicit usage guidance by contrasting with a sibling tool. There is zero wasted text, and the information is front-loaded with the core functionality.
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 moderate complexity (listing operation with one optional parameter), no annotations, and no output schema, the description does a good job of explaining the tool's purpose, output format, and relationship to other tools. However, it doesn't address authentication requirements (implied by the api_key parameter but not explained), error handling, or what happens when no skills are available. For a tool with no annotations or output schema, it's mostly complete but has minor gaps.
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% with one parameter (api_key) documented in the schema. The description doesn't mention parameters at all, which is appropriate since the schema fully documents the single optional parameter. With zero parameters mentioned in the description and high schema coverage, the baseline would be 3, but the description effectively focuses on the tool's purpose rather than repeating schema information, earning 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 ('List all available Claude Code skills') and the resource ('skills'), including what information is returned ('slug, title, category, and description'). It also distinguishes from the sibling 'get_skill' by mentioning that tool fetches full content for a specific skill, while this one lists all skills with summary information.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool versus alternatives: 'Use list_skills to see all available skills with summary information' (implied) and 'Use get_skill to fetch the full SKILL.md content for a specific skill.' This clearly differentiates between browsing all skills and getting detailed content for one skill.
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/Invictus-Labs/code-whisperer-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server