sourcesage
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation4/5
Most tools have distinct purposes focused on different aspects of knowledge graph management (entities, patterns, relationships, style conventions). However, there is some potential overlap between dump_project_understanding and load_project_understanding as both handle project-level data, though their descriptions clarify one is for output and the other for input.
Naming Consistency5/5All tools follow a consistent snake_case naming pattern with clear verb_noun structure (e.g., add_entity_observation, get_entity_details, query_entities, register_entity). The naming is predictable and uniform across all 13 tools.
Tool Count5/5With 13 tools, this is well-scoped for a knowledge graph server covering entities, patterns, relationships, and style conventions. Each tool serves a specific function in the CRUD/lifecycle operations, and none appear redundant or out of place.
Completeness4/5The toolset provides comprehensive coverage for managing a knowledge graph, including registration, querying, and statistics. Minor gaps exist, such as no explicit update or delete operations for entities/patterns/relationships/conventions, but agents can work around this by re-registering or using clear_knowledge.
Average 3/5 across 13 of 13 tools scored. Lowest: 2.4/5.
See the Tool Scores section below for per-tool breakdowns.
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.
This server has been verified by its author.
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 the full burden of behavioral disclosure. It only states it 'Get detailed information', implying a read-only operation, but doesn't cover aspects like permissions needed, rate limits, error handling, or what 'detailed information' entails (e.g., format, depth). For a tool with no annotations, this is insufficient 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized and front-loaded with the main purpose in the first sentence. The Args section is structured but could be more integrated. There's no wasted text, though it risks under-specification. It's efficient but not perfectly streamlined.
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's complexity (a read operation with 1 parameter), no annotations, no output schema, and 0% schema coverage, the description is incomplete. It doesn't explain return values, error cases, or behavioral nuances. For adequate context, it should provide more details on what 'detailed information' includes and usage constraints.
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?
The description adds minimal parameter semantics: it states 'entity_name: Name of the entity', which matches the schema's title 'Entity Name'. With 0% schema description coverage and 1 parameter, this provides basic clarification but doesn't compensate for the lack of schema details (e.g., format constraints, examples, or what entities are valid). It falls short of the needed compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool 'Get detailed information about an entity', which provides a clear verb ('Get') and resource ('entity'), but it's vague about what constitutes 'detailed information' and doesn't distinguish this from sibling tools like 'query_entities' or 'register_entity'. The purpose is understandable but lacks specificity about scope or differentiation.
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. With siblings like 'query_entities' (which might list entities) and 'register_entity' (which creates entities), the description offers no context on prerequisites, exclusions, or comparative use cases. This leaves the agent without direction on tool selection.
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 the full burden of behavioral disclosure. The description only states it's a query operation, but doesn't disclose important behavioral traits like whether this is a read-only operation, what permissions might be required, whether results are paginated, what format results return, or any rate limits. For a query tool with zero annotation coverage, this leaves significant gaps in understanding how the tool behaves.
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 concise with a clear main statement followed by parameter explanations. The two-sentence structure is efficient with no wasted words, though the parameter explanations could be more detailed given the schema coverage gap. The front-loaded purpose statement is effective.
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 complexity of querying a knowledge graph with no annotations and no output schema, the description is incomplete. It doesn't explain what a 'code pattern' is in this context, what the query returns, how results are structured, or any limitations. For a tool that presumably returns complex pattern data from a knowledge graph, the description leaves too many questions unanswered.
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 adds some value by explaining that 'language' filters by programming language and 'pattern_name' filters by pattern name. However, it doesn't provide crucial details like what languages are supported, what pattern names exist, whether these are exact matches or partial matches, or what happens when both filters are null. The description compensates partially but not fully for the schema coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose3/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Query code patterns in the knowledge graph' which provides a clear verb ('Query') and resource ('code patterns'), but it's somewhat vague about what 'code patterns' specifically means and doesn't distinguish this tool from sibling tools like 'query_entities' or 'query_style_conventions'. The purpose is understandable but lacks specificity about what distinguishes pattern queries from other query types.
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 about when to use this tool versus alternatives. With sibling tools like 'query_entities' and 'query_style_conventions' available, there's no indication of what makes this tool appropriate for pattern queries specifically versus other query types. No context about prerequisites, typical use cases, or exclusions is 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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool adds an observation but doesn't explain what that entails—whether it's a mutable update, requires specific permissions, has side effects, or returns any confirmation. For a mutation tool with zero annotation coverage, this leaves critical behavioral traits unspecified.
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 front-loaded with the core purpose in the first sentence, followed by a structured 'Args' section. It's appropriately sized with no wasted words, though the lack of additional context (like usage guidelines) might make it feel slightly under-specified rather than concise.
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's complexity (a mutation operation with 2 parameters), lack of annotations, and no output schema, the description is incomplete. It doesn't cover behavioral aspects (e.g., success/failure responses, side effects), usage context, or parameter details beyond basic names, leaving gaps for an AI agent to operate effectively.
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?
The description includes an 'Args' section that names and briefly describes both parameters ('entity_name' and 'observation'), adding meaning beyond the input schema, which has 0% description coverage. However, it doesn't elaborate on format constraints (e.g., what constitutes a valid entity name or observation), so it only partially compensates for the schema's lack of descriptions.
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 ('Add an observation') and the target ('to an entity'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from sibling tools like 'register_entity' or 'get_entity_details', which might handle similar entity-related operations.
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 prerequisites (e.g., whether the entity must already exist), exclusions, or relationships to sibling tools like 'register_entity' (which might create entities) or 'query_entities' (which might retrieve 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 states it's a query operation, implying read-only behavior, but doesn't disclose any behavioral traits like what happens if no filters are provided (e.g., returns all conventions), potential rate limits, authentication needs, or the format of results. This leaves significant gaps for a tool with no 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.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is appropriately sized with two sentences: one stating the purpose and another listing parameters. It's front-loaded with the main action, though the parameter explanations are brief and could be more structured. There's minimal waste, earning a high score for efficiency.
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 complexity of querying a knowledge graph, no annotations, no output schema, and low schema coverage (0%), the description is incomplete. It doesn't explain what the tool returns (e.g., a list of conventions, details), how results are formatted, or any error conditions, making it inadequate for effective use by an AI agent.
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?
The description lists two parameters ('language' and 'convention_name') with brief explanations ('Filter by programming language' and 'Filter by convention name'), adding meaning beyond the schema which has 0% description coverage. However, it doesn't provide details like expected formats, examples, or whether these are required or optional, leaving room for improvement given the low schema coverage.
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 verb ('Query') and resource ('coding style conventions in the knowledge graph'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'query_entities' or 'query_patterns', which might also query the knowledge graph for different types of information.
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. With sibling tools like 'query_entities' and 'query_patterns' that also query the knowledge graph, there's no indication of what distinguishes this tool for style conventions from those for entities or patterns.
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 full burden. It states 'register' which implies a write/mutation operation, but doesn't disclose behavioral traits like whether this requires authentication, what happens on duplicate names, whether registration is persistent, or what the response looks like. 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 appropriately sized and front-loaded with the core purpose statement. The parameter documentation is organized in a clear Args section. While efficient, the parameter explanations could be more informative to better earn their place.
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 5 parameters, 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what 'registering' entails operationally, what happens after registration, error conditions, or how this integrates with the sibling query_patterns tool. The minimal description leaves too many contextual 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?
With 0% schema description coverage, the description compensates by listing all 5 parameters with brief explanations. However, these explanations are basic (e.g., 'Name of the pattern') and don't provide deeper semantic context like format constraints, validation rules, or how metadata should be structured. The description adds value but doesn't fully compensate for the schema coverage 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 clearly states the verb 'register' and resource 'code pattern', making the purpose specific and understandable. However, it doesn't differentiate this tool from its sibling 'register_entity', 'register_relationship', and 'register_style_convention' which all use the same 'register' verb pattern for different resources.
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. With siblings like 'query_patterns' and other registration tools, there's no indication of when registration is appropriate versus querying or what distinguishes this from registering entities, relationships, or style conventions.
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. 'Register' implies a write/mutation operation, but the description doesn't disclose whether this requires specific permissions, whether relationships are reversible, what happens on duplicate registration, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap.
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 a clear purpose statement followed by parameter documentation. The two-sentence structure is efficient, though the 'Args:' section formatting is slightly verbose. Every sentence serves a purpose without unnecessary elaboration.
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 4 parameters, 0% schema description coverage, no annotations, and no output schema, the description is inadequate. It doesn't explain what happens after registration, whether there are validation rules, what metadata can contain, or how this tool relates to sibling entity operations. The context signals indicate high complexity that isn't addressed.
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 provides basic parameter documentation in the Args section, listing all 4 parameters with brief explanations. However, it doesn't fully compensate for the coverage gap - it lacks details about parameter formats, constraints, or the meaning of 'calls, inherits, imports, etc.' for relationship_type. The description adds value but doesn't provide complete parameter 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 action ('register') and resource ('relationship between entities'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from its siblings like 'register_entity', 'register_pattern', or 'register_style_convention' - all of which appear to be registration operations for different resource types.
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. With siblings like 'register_entity', 'query_entities', and 'get_entity_details', there's clear need for usage context about when relationship registration is appropriate versus entity registration or querying, but none is 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?
No annotations are provided, so the description carries full burden. It states the action ('register') which implies a write/mutation operation, but doesn't disclose any behavioral traits: no information about permissions needed, whether registration is permanent or reversible, what happens on duplicate names, rate limits, or what the tool returns. For a mutation tool with zero annotation coverage, this is a significant gap.
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 a clear purpose statement followed by parameter documentation. The structure is front-loaded with the main purpose first. However, the parameter documentation uses a simple list format without grouping or prioritization, and some sentences could be more efficient (e.g., 'Additional metadata as key-value pairs' is slightly redundant).
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 a mutation tool with 5 parameters, 0% schema description coverage, no annotations, and no output schema, the description is incomplete. It covers basic parameter identification but lacks crucial context: no information about what happens after registration, error conditions, return values, or how this tool integrates with the broader system (especially given siblings like query_style_conventions).
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 lists all 5 parameters with brief explanations that add meaning beyond the schema's property names. However, the explanations are minimal (e.g., 'Name of the convention' for 'name') and don't provide format requirements, constraints, or examples of valid values. The description adds some value but doesn't fully compensate for the 0% schema coverage.
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: 'Register a coding style convention' with a specific verb ('register') and resource ('coding style convention'). It distinguishes from most siblings (e.g., query_style_conventions, register_entity, register_pattern) by focusing on style conventions specifically. However, it doesn't explicitly differentiate from register_pattern which might be conceptually similar.
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 use register_style_convention versus register_pattern, or how it relates to query_style_conventions. There's no context about prerequisites, typical use cases, or when not to use this tool.
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 states the tool 'clears all knowledge,' implying a destructive, irreversible action, but doesn't elaborate on side effects (e.g., whether it affects other tools, requires authentication, or has rate limits). For a mutation tool with zero annotation coverage, this is a significant gap 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, direct sentence ('Clear all knowledge from the graph.') with zero wasted words. It front-loads the core action and target, making it highly efficient and easy to parse. Every word earns its place by conveying essential information without redundancy.
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's complexity (a destructive operation with no annotations and no output schema), the description is incomplete. It lacks details on behavioral traits (e.g., irreversibility, permissions), usage context, or expected outcomes. For a high-stakes tool like this, more comprehensive guidance is needed to ensure safe and correct invocation.
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 input schema has 0 parameters with 100% description coverage, so no parameter documentation is needed. The description appropriately doesn't discuss parameters, focusing instead on the tool's action. This meets the baseline of 4 for tools with no parameters, as it avoids unnecessary details.
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 ('Clear') and the target ('all knowledge from the graph'), making the purpose specific and understandable. It distinguishes itself from siblings like 'dump_project_understanding' or 'get_knowledge_statistics' by being a destructive operation rather than a query or retrieval. However, it doesn't explicitly mention the resource type (e.g., 'graph database' or 'knowledge base'), which slightly reduces specificity.
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 prerequisites (e.g., needing admin permissions), consequences (e.g., irreversible data loss), or suggest alternatives like 'dump_project_understanding' for backing up data first. Without such context, the agent lacks critical usage instructions.
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 but provides minimal behavioral context. It mentions 'comprehensive dump' but doesn't describe format, size limitations, performance characteristics, or what 'knowledge' specifically entails. No information about permissions, side effects, or response structure is included.
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 clear front-loading of the main purpose. The two-sentence main description is efficient, and the parameter explanations are brief but clear. No wasted words, though the formatting with separate 'Args:' section could be more integrated.
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 tool with 2 parameters, 0% schema coverage, no annotations, and no output schema, the description is insufficient. It doesn't explain what the output looks like (despite no output schema), what 'knowledge' specifically includes, or how this dump differs from loading/querying alternatives. The behavioral context is particularly lacking for a comprehensive data retrieval tool.
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 provides basic explanations for both parameters: 'Path to the project root directory' for project_path and 'Whether to include detailed observations' for include_observations. However, it doesn't explain what 'observations' specifically are or provide format details for the path parameter.
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 'provides a comprehensive dump of all knowledge related to a project' with specific components like 'entities, relationships, patterns, and style conventions'. It distinguishes from siblings like get_entity_details or query_entities by emphasizing 'entire project at once' and 'all knowledge', though it doesn't explicitly name alternatives.
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 for getting comprehensive project understanding versus more targeted sibling tools, but doesn't explicitly state when to use this versus alternatives like load_project_understanding or get_knowledge_statistics. No explicit exclusions or prerequisites are mentioned.
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 full burden for behavioral disclosure. It states what the tool does but doesn't reveal any behavioral traits such as whether it's read-only, its performance characteristics, error conditions, or what format the statistics are returned in. This leaves significant gaps for a tool with zero 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, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.
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 complexity of a knowledge graph statistics tool with no annotations and no output schema, the description is insufficient. It doesn't explain what statistics are returned (e.g., counts, metrics, trends), how they're formatted, or any limitations. This leaves the agent with inadequate context to use the tool effectively.
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 with 100% schema description coverage (since there are no parameters to describe). The description doesn't need to compensate for any parameter documentation gaps, and it correctly implies no inputs are required. This meets the baseline for a parameterless tool.
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 statistics') and the target ('about the knowledge graph'), providing a specific verb+resource combination. However, it doesn't distinguish this tool from potential siblings like 'dump_project_understanding' or 'query_entities' that might also provide statistical insights, which prevents a perfect 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?
The description offers no guidance on when to use this tool versus alternatives. With siblings like 'dump_project_understanding' and 'query_entities' that might overlap in providing knowledge graph insights, there's no indication of context, prerequisites, or exclusions for this specific statistics tool.
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 the full burden of behavioral disclosure. While 'register' implies a write/mutation operation, the description doesn't address important behavioral aspects: whether this creates new entities or updates existing ones, what permissions are required, whether the operation is idempotent, what happens on conflicts, or what the response looks like. The description provides basic functional information but lacks critical behavioral context for a mutation tool.
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 well-structured with a clear purpose statement followed by a parameter documentation section. Each parameter gets a brief explanation with helpful examples. While slightly longer than minimal, every sentence serves a purpose. The structure helps the agent understand both what the tool does and what information it needs.
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 mutation tool with 7 parameters, 0% schema description coverage, and no annotations or output schema, the description provides adequate functional information but lacks important contextual details. It explains what the tool does and documents parameters well, but doesn't address behavioral aspects like error conditions, response format, or how this tool relates to sibling tools. The parameter documentation is strong, but other contextual gaps remain.
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 description provides a comprehensive parameter list with clear semantics for all 7 parameters, including examples for 'name' and 'signature'. With 0% schema description coverage, this parameter documentation in the description is essential and adds significant value beyond the bare schema. The only minor gap is that it doesn't clarify which parameters are required versus optional, though the schema indicates 3 required 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 clearly states the tool's purpose: 'Register a code entity in the knowledge graph.' It specifies the verb ('register') and resource ('code entity'), and while it doesn't explicitly differentiate from siblings like 'register_pattern' or 'register_relationship', the focus on 'code entity' provides some distinction. However, it doesn't fully explain how this differs from similar registration tools.
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. With siblings like 'add_entity_observation', 'register_pattern', and 'register_relationship', there's no indication of when this registration tool is appropriate versus those other tools. The description lacks any context about prerequisites, dependencies, or typical use cases.
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 full burden. It states this is a query operation (implying read-only), but doesn't disclose important behavioral traits like authentication requirements, rate limits, error conditions, pagination behavior (beyond the 'limit' parameter), or what happens when no results match. For a query tool with zero annotation coverage, this leaves significant gaps.
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 efficiently structured with a clear purpose statement followed by a well-organized parameter explanation. Every sentence earns its place, and the information is front-loaded with the core functionality stated first.
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 4 parameters with no schema descriptions and no output schema, the description adequately covers parameter semantics but lacks behavioral context and output information. For a query tool in a knowledge graph system with multiple sibling tools, more guidance about when to use it and what results look like would improve 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?
With 0% schema description coverage, the description compensates well by explaining all 4 parameters in the Args section. It clarifies that 'entity_type' filters by categories like class/function/module, 'language' filters by programming language, 'name_pattern' uses regex, and 'limit' controls result count. This adds meaningful context beyond the bare schema.
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 verb ('Query') and resource ('entities in the knowledge graph'), making the purpose understandable. However, it doesn't distinguish this tool from siblings like 'get_entity_details' or 'query_patterns', which appear to be related query operations on the same knowledge graph system.
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. With siblings like 'get_entity_details' (likely for single entities) and 'query_patterns' (for patterns rather than entities), the description offers no comparison or context about appropriate use cases.
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. While it mentions what gets loaded, it doesn't describe important behavioral aspects like whether this is a read-only operation, whether it caches results, what happens if the project is large, or what the output format looks like. For a tool with no annotations and no output schema, this leaves significant gaps in understanding how the tool behaves.
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 well-structured and appropriately sized. The first sentence states the core purpose, the second provides usage guidance, and the third elaborates on what gets loaded. The parameter documentation is separate and clear. Every sentence earns its place with no wasted words.
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 (loading comprehensive project understanding), no annotations, no output schema, and 0% schema description coverage, the description provides adequate but incomplete coverage. It explains what the tool does and when to use it, but lacks details about output format, performance characteristics, error conditions, and how it differs from sibling tools like 'dump_project_understanding'.
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?
With only 1 parameter and 0% schema description coverage, the description adds meaningful context by explaining what 'project_path' represents ('Path to the project root directory'). This compensates well for the lack of schema documentation. However, it doesn't provide format examples or constraints (e.g., absolute vs relative paths), preventing a perfect score.
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: 'Load understanding of an entire project at once' and specifies what it loads ('all entities, relationships, patterns, and style conventions'). This is a specific verb+resource combination. However, it doesn't explicitly differentiate from siblings like 'dump_project_understanding' or 'get_entity_details', which prevents a perfect score.
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 usage context: 'This tool should be used by MCP clients to quickly get project understanding if available, instead of reading all the files individually.' This gives a strong when-to-use recommendation. However, it doesn't explicitly state when NOT to use it or name specific alternatives among the siblings, which would be needed for a score of 5.
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/sarathsp06/sourcesage'
If you have feedback or need assistance with the MCP directory API, please join our Discord server