novel-writer-mcp
Server Quality Checklist
Latest release: v0.2.0
- Disambiguation5/5
Every tool targets a distinct resource/action: project CRUD+pacing, chapter/scene editing, foreshadow lifecycle, import/export, and manuscript linking. No two tools appear to do the same thing; even similar getters differ by scope (scene vs chapter, open vs due foreshadows).
Naming Consistency5/5All tool names use snake_case with a consistent verb_noun pattern (create_project, get_scene_checklist, pay_off_foreshadow). Minor variation like 'hint_foreshadow_again' still follows the same verb-first convention and remains predictable.
Tool Count4/521 tools is on the heavier side but justified by the multi-faceted domain (project setup, chapter/scene management, foreshadowing, import/export). Each tool has a specific role, so the count does not feel bloated.
Completeness4/5Covers the full novel-writing workflow: project initialization, chapter/scene breakdown, checklist validation, foreshadow tracking, outline import, and PRD export. Minor gaps like delete/archive operations are absent but not critical for the core creative process.
Average 3.2/5 across 21 of 21 tools scored. Lowest: 1.5/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit 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
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the burden of behavioral disclosure. However, the Chinese phrase only restates the tool name and discloses nothing about side effects, required permissions, or what 'registering' entails.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness2/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short but under-specified rather than concise. It provides no informative content beyond the title, making it a tautology that wastes the opportunity to add value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter tool with no output schema and no annotations, a one-word description is completely inadequate. Agents cannot understand field dependencies, required fields beyond the schema, or return behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 38%, leaving many parameters undocumented. The description adds no parameter explanations, so agents must guess semantics from English property names alone (e.g., 'planted_at' as a scene location).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose2/5Does the description clearly state what the tool does and how it differs from similar tools?
The description '登记伏笔' translates directly to 'Register Foreshadow', which restates the title. It does not provide a specific verb+resource description and fails to distinguish the tool from siblings like 'get_open_foreshadows' or 'pay_off_foreshadow'.
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 given on when to use this tool versus alternatives. The sibling list includes other foreshadow-related tools, but the description offers no context or selection criteria.
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 simply says 'update parameters' with no mention of side effects, whether all fields are replaced or only provided ones, required permissions, or return values.
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, short sentence with no filler. It is front-loaded and compact, using the minimal words possible to convey the basic action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters, no output schema, and no annotations, this description is far too sparse. It fails to provide essential context such as parameter interactions, expectations about response data, or any validation behavior, making the tool largely unusable without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 5 parameters with 0% description coverage, and the tool description does not explain any of their meanings. Common terms like 'hook_on' or 'breather_every_n_chapters' remain ambiguous, making it impossible for an agent to set them correctly.
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 '更新项目节奏参数' (translated: 'update project pacing parameters') essentially restates the tool name 'update_project_pacing' without adding specificity. It does not list which parameters are involved or how this differs from sibling tools like update_chapter or update_scene.
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 vs. alternatives. It does not mention any prerequisites, exclusions, or conditions that should trigger its use, leaving the agent without clear selection criteria.
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?
There are no annotations, so the description carries the full burden of behavioral disclosure. It does reveal the output components (checklist, pacing checks, foreshadowing due issues), but it does not mention whether the operation is read-only, any side effects, error conditions, or response format. For a 'get' tool, this is less critical, but the lack of detail is a 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 a compact phrase that lists the three key output components in a scannable format. It contains no filler words or redundant information. However, it is not a full sentence, which slightly reduces its clarity, but it is appropriately sized for the simple tool.
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 that the tool has no output schema, the description is the only source of information about return values. It lists three components but does not explain their structure or how to interpret them. Also, with no guidance on parameters or usage, the description is incomplete for an agent to confidently invoke the tool in complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has two parameters (chapter_id, project_id) with no descriptions (schema coverage 0%). The description does not mention either parameter, so the agent receives no guidance on what values to provide or how they relate to the tool's functionality. The parameter names are self-explanatory, but the description should at least acknowledge their roles.
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 lists the tool's function: returning a whole-chapter checklist with pacing validation and foreshadowing-due issues. This distinguishes it from the sibling tool get_scene_checklist, which targets a specific scene. However, it lacks an explicit verb like 'get' or 'retrieve', making it slightly less direct than a full-sentence description.
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 usage context is provided. The description does not mention when to use this tool instead of alternatives, nor does it state any exclusions or prerequisites. The only hint is the word '整章' (whole chapter), which implies a chapter-level scope, but this is not elaborated.
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, the description carries the full burden of disclosing behavior. It mentions updating 'last_hinted_chapter' and associating a scene, which are useful, but it does not explain side effects, reversibility, permissions, or what happens to existing associations. The operation is clearly a write, but the user is left guessing about the full impact.
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 sentence, which is concise and front-loaded with the core action. However, it is under-specified; the brevity sacrifices essential information. It earns high marks for conciseness but not for completeness.
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 no output schema, no annotations, and four parameters with 0% schema description coverage. The description is too minimal to convey the full operational context, including what the tool returns, any side effects, or the meaning of optional parameters like chapter_number. For a mutation tool, this is insufficient for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/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 by explaining parameter meanings, but it does not. The description mentions 'scene' and 'last_hinted_chapter' but fails to map these to the four parameters (scene_id, project_id, foreshadow_id, chapter_number). No parameter is explained, leaving the agent without any additional semantic guidance beyond the raw schema 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 a clear action: 'again hint foreshadow' and specifies that it associates a scene and updates last_hinted_chapter. This is a specific verb+resource combination. However, it does not distinguish itself from sibling tools like 'register_foreshadow' or 'pay_off_foreshadow', which also deal with foreshadows, so it misses the opportunity to clarify its unique role.
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?
There is no guidance on when to use this tool versus alternatives. The word 'again' implies it is a repeat operation, but no explicit conditions or exclusions are given. The description lacks context about prerequisites or scenarios where this tool is preferred over 'register_foreshadow' or 'pay_off_foreshadow'.
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, the description carries the full burden. It only lists updatable fields and does not disclose side effects, partial update semantics, or whether checklist is a merge or full replacement. This is a significant gap 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 a single concise sentence with no wasted words. However, it is under-specified to the point of being cryptic, though conciseness itself is acceptable.
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 9 parameters, no annotations, no output schema, and low schema coverage, the description is severely incomplete. It does not explain return values, partial update behavior, or how it relates to sibling tools, leaving an agent poorly equipped to invoke it correctly.
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 only 11%, so the description must compensate. It names a few fields (goal, conflict, change, checklist) but adds no semantics about formats, constraints, or required parameters. Status, pov, and title are left completely unexplained.
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 identifies the action (update) and target resource (scene) with specific fields (goal/conflict/change/checklist). While it does not explicitly differentiate from sibling tools like close_scene or update_chapter, the resource and field focus are clear enough.
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 given on when to use this tool versus alternatives. It does not state whether this is for content updates as opposed to status changes, nor mention prerequisites or the effect of omitting optional fields.
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 disclosing behavioral traits. It mentions the 'lightweight validation' of keywords, which gives some insight, but it does not describe what the tool actually returns (a summary text, a boolean, a list of matched keywords), nor whether it is a read-only operation. This ambiguity significantly reduces transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, terse sentence with no filler words, making it very concise. However, its brevity also leads to under-specification, which slightly reduces structure quality. It earns a 4 because it is efficiently worded, though it sacrifices clarity for conciseness.
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 (3 parameters, no output schema, no annotations), the description is incomplete. It does not describe the return value, the exact nature of the keyword check, or the relationships between parameters. A more complete description would address these missing details to help an agent correctly invoke the 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 coverage is only 33% (only max_chars has a description). The tool description does not explain any parameters; it merely implies max_chars via '前 N 字' but does not clarify scene_id or project_id. Since the description fails to compensate for the low schema coverage, parameter semantics are weakly supported.
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 tool's function: reading the first N characters of the scene prose and performing a lightweight validation for goal/change keywords. This is a specific verb+resource combination that distinguishes it from sibling tools like get_scene_checklist or get_chapter_checklist, which focus on checklist retrieval rather than prose analysis.
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. There is no mention of context, prerequisites, or which scenarios call for this tool as opposed to other scene-related tools such as get_scene_checklist or suggest_next_scenes. The implied usage is minimal and relies on the user's interpretation of 'prose summary'.
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, the description carries the burden of behavioral disclosure. It adds that the query includes 'chapters_since_hint', which is useful context about the output, but does not mention read-only nature, response format, or edge cases. The addition of 'open' clarifies scope, but richer behavioral details are absent.
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, direct sentence that is front-loaded and free of redundancy. It is appropriately concise for a simple query tool, though it could benefit from slightly more context without becoming verbose.
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 simplicity (one parameter, no output schema, no annotations), the description is minimally adequate but lacks usage context and clarification of return behavior. It does not distinguish clearly from the sibling get_foreshadows_due, so the agent may not know which to invoke without further inference.
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 schema description coverage is 0%, and the description does not explain the meaning or purpose of the required project_id parameter. While the parameter name is self-evident from context, the description does not compensate for the schema's lack of explanatory text, leaving the agent to infer its role.
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 queries open foreshadows, using the verb '查询' (query) and specific scope '开放中的伏笔' (open foreshadows). It distinguishes from siblings like get_foreshadows_due and register_foreshadow by focusing on 'open' ones, though it does not 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 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 related tools such as get_foreshadows_due or hint_foreshadow_again. The description simply states the function without any contextual usage conditions or exclusions.
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 only states the core action and optional word_count, but does not disclose reversibility, permissions, side effects on existing data, or what happens to auto_word_count if not specified.
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 that efficiently conveys the core purpose and mentions the optional behavior. No filler or redundant 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?
This is a mutation tool with no annotations and no output schema. The description is too minimal: it does not explain return values, side effects, or prerequisites, leaving significant gaps for an agent to safely invoke the 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 50% (only prose_path and auto_word_count have descriptions). The tool description adds no additional meaning for these or for scene_id/project_id, merely restating the setting of prose_path. It fails to compensate for the undocumented parameters.
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?
Description clearly states the specific action: setting scene.prose_path, which distinguishes it from siblings like update_scene or get_scene_prose_summary. The verb + resource combination is precise and unambiguous.
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 on when to use this tool versus alternatives. It does not mention prerequisites, exclusions, or context such as whether the scene must exist or how this relates to update_scene.
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 the core behavioral effect (status becomes closed) but omits additional details such as reversibility, permission requirements, or impact on related foreshadow data. With no annotations, the description carries the transparency burden but only partially fulfills it.
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 concise sentence that front-loads the action and result. It contains no redundant words or restatements of the tool name.
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 description captures the core purpose but lacks essential context: parameter semantics, usage conditions, and any relationship to sibling tools. Given the tool has four parameters and no output schema, the description alone is insufficient for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for its four parameters, and the description provides no parameter information. The optional fields payoff_chapter and payoff_scene_id are completely unexplained, leaving the agent to guess their purpose.
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 tool's function: marking a foreshadow as paid off by setting its status to closed. This distinguishes it from sibling tools like register_foreshadow (creation) and get_open_foreshadows (listing).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. The description only states the action, leaving the agent to infer usage context without explicit recommendations or exclusions.
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. It discloses that the tool outputs candidate scenes and supports constraint filtering, but does not state whether it has side effects, requires permissions, or what happens to inputs. The read-only nature is only implied by 'output', not explicit.
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 sentence, efficiently conveying the core function and key capability of constraint filtering. It is taut but not under-specified, striking a good balance.
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 parameter object and no output schema, and no annotations. The description does not explain the return format or provide sufficient context about the 'advance_operators' and 'previous change' inputs, which could confuse an agent trying to invoke the tool correctly. It is incomplete for a tool with this complexity.
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 schema describes count and constraints with details, but project_id lacks a description. The description adds meaning by explaining that constraints serve as filters and that the tool operates on advance_operators and the previous change, which are not in the schema. This adds some context beyond the structured fields.
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 outputs candidate scenes ('输出候选场景') based on advance_operators and the previous scene change, which is a specific verb+resource. It distinguishes from sibling tools like split_chapter_to_scenes or update_scene by focusing on suggestion rather than modification, though it doesn't 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 the tool is used after an advance_operators action and previous scene change, giving context. However, it provides no explicit guidance on when to use it versus other scene-related tools, nor any exclusions or alternative recommendations.
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 disclosing behavioral traits. However, it only says 'init' a directory, without mentioning side effects such as overwriting existing directories, whether it is destructive, authentication requirements, or the exact structure created. This is insufficient.
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 wasted words. It effectively conveys the core purpose without redundancy, making it highly 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 that there are no annotations, no output schema, and 5 parameters, the description is too sparse. It does not explain the outcome of the operation (e.g., what files/directories are created), how it relates to subsequent operations like get_project, or any limitations. The tool is a creation action needing more 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?
The input schema has 100% description coverage for all 5 parameters, so the baseline is 3. The description adds no additional detail about how parameters like 'id', 'title', or 'profile' interact. It does not go beyond what the schema already provides.
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 '从 profile 模板初始化小说项目目录' clearly states the action (initialize), the target resource (novel project directory), and the source (profile template). This distinguishes it from sibling tools like list_projects or split_chapter_to_scenes.
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, no prerequisites (e.g., the profile must exist), and no exclusions. It merely states what the tool does, leaving the agent to infer the use case.
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 disclosure. It does reveal the auto-assignment of checklist and filtering by chapter.kind, but does not disclose destructive effects, permission needs, or what happens to the original chapter or existing scenes.
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 short sentence that conveys both the core action and a key behavioral detail. It is front-loaded and free of unnecessary wording.
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?
Without output schema or annotations, the description is under-specified for a mutation tool. It omits return value, side effects, edge cases (e.g., existing scenes), and prerequisites, providing only the basic split-and-assign behavior.
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 only 33% (only n has a description). The description mentions 'N' and chapter.kind but does not clarify project_id or chapter_id semantics beyond their names, nor does it explain parameter interactions or constraints beyond the schema.
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 tool splits a chapter into N scenes and auto-assigns checklist filtered by chapter.kind. It uses a specific verb and resource, and this distinguishes it from other chapter/scene tools like update_chapter or update_scene.
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 (when you need to split a chapter into scenes) but does not explicitly mention when to use vs alternatives or any exclusions. Prerequisites and conditions for use are not clarified.
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, the description carries the burden. It discloses a key behavioral detail: kind changes do not rebuild existing checklists by default, and rebuild_checklists is optional. This adds value beyond the schema. However, it doesn't disclose other effects like return values, reversibility, or permissions, leaving some 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 a single, efficient sentence that front-loads the primary function and then adds the important nuance about rebuild behavior. Every word earns its place with no redundancy.
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 no annotations and no output schema, the description covers the main functionality and a critical default behavior. However, it omits details about return values, potential side effects on existing checklists when updating title only, or any prerequisites. It's adequate but has clear gaps in completeness for safe autonomous invocation.
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 schema description coverage is 0%, so the description must compensate. It names title and kind as updatable fields and explains the role of rebuild_checklists in determining checklist rebuilding. It doesn't elaborate on project_id and chapter_id, but they are required identifiers. The description adds some meaning above the schema, but it doesn't fully describe all 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 that the tool updates chapter title and kind, with a specific resource and fields. It distinguishes from sibling tools like update_scene by targeting chapters. However, it doesn't explicitly mention 'existing' chapter, but that's implicit.
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 on when to use this tool versus alternatives. It doesn't mention context or exclusions. The description simply states the function without comparison to siblings.
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 exist, so the description must fully disclose behavior. It mentions marking complete and writing change, but omits reversibility, prerequisites, and side effects on related data—important for a state-changing operation.
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 one concise sentence with clear, front-loaded phrases. Every word contributes value and no redundancy exists.
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?
With no annotations, no output schema, and a state-changing operation, the description is too sparse. It lacks critical context about consequences (e.g., whether closing is irreversible), effects on chapter/project status, and expected return value.
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 coverage is 50%, with change and foreshadow_ids described. The description clarifies that change is the result to write and that foreshadow linking is optional, but it does not add significant meaning beyond the schema for scene_id and project_id, which are self-explanatory.
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 tool marks a scene complete, writes the change, and optionally associates foreshadowing. The specific verb and resource (close scene) distinguish it from sibling tools like update_scene.
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 use for finalizing a scene, but does not explicitly state when to use it vs alternatives or when not to use it. No exclusions or alternative tools are named.
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 action and destination but does not reveal potential side effects like file overwriting, directory creation, or failure behavior if the chapter/project is missing. The agent would be uncertain about idempotency and cleanup.
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, tight sentence that front-loads the action ('export'), resource, destination, and purpose. Every word contributes valuable information with no redundancy.
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 two-parameter export tool without an output schema, the description covers the basic purpose and destination. However, it omits behavioral details such as overwrite semantics and error handling that would make it fully self-contained, especially given the absence of annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the two parameters (chapter_id, project_id), and the tool description provides no additional meaning about them. No format, relationship, or usage context is given, leaving the agent to rely solely on parameter names.
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 uses the specific verb 'export' and identifies the resource ('章节 PRD' / chapter PRD) with a clear destination ('.taskmaster/docs/') and intended downstream use ('供 Task Master parse_prd 使用'). This distinguishes it from sibling tools like update_chapter or split_chapter_to_scenes.
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 purpose clause 'supply for Task Master parse_prd' implies the use case (export a PRD for parsing), and mentions the destination directory. However, it does not explicitly state when to use it over alternatives or what prerequisites exist (e.g., chapter must already exist), so it falls short of full usage guidance.
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 says 'generate skeleton' but does not mention whether this is destructive, whether it overwrites existing arcs/chapters/scenes, or what happens to already-created content. This is a significant gap 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.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence that gets straight to the point. No wasted words or redundancy.
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 tool with 3 parameters, no output schema, and no annotations, the description is adequate but thin. It states the core function clearly but omits side effects, return behavior, or any specifics about what 'skeleton' entails. It is usable but leaves important 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?
Schema descriptions cover 67% of parameters (xml and file_path, each noting mutual exclusivity). The tool description adds context by mentioning the XML source, but does not explain project_id or the exact role of each parameter beyond what the schema already states. Overall, marginal added value.
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 function: parsing .drawio XML and generating arc/chapter/scene skeletons based on node labels. This distinguishes it from all sibling tools, none of which mention import or draw.io parsing.
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 context is implied: if you have a .drawio outline, this tool imports it. But there are no explicit instructions on when to use this instead of another tool, nor exclusions or prerequisites (e.g., must have an existing project).
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 must disclose behavior. The verb '读取' indicates a read-only operation, but no further details such as not-found behavior or permission requirements are given.
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, concise sentence that immediately conveys the tool's purpose without any wasted words.
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 getter with one parameter and no output schema, the description sufficiently states what is read (config and pacing). It lacks return format details, but the simplicity of the tool makes this acceptable.
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 schema fully covers the single parameter 'project_id' with a description (项目 ID), so the description adds no additional parameter semantics beyond what the schema already provides.
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 uses a specific verb '读取' (read) and clearly identifies the resource as '项目配置与 pacing' (project config and pacing). This distinguishes it from sibling tools like create_project and update_project_pacing.
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 read-only nature of the tool implies usage when needing project config/pacing, but there is no explicit guidance on when to use it versus alternatives like list_projects or update_project_pacing.
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, and the description only says 'list all,' implying read-only behavior without disclosing details like ordering, pagination, or return format. For a zero-parameter list operation, this minimal context may suffice, but it lacks explicit behavioral disclosure.
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 one short sentence, front-loaded, with no wasted words. It is appropriately sized for a simple list operation.
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 zero-parameter list tool, the description covers its scope. However, it is very brief and could mention return value or sorting, but not essential given the simplicity and absence of output schema.
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 zero parameters, so the description has nothing to add beyond the empty schema. Baseline 4 is appropriate given there are no parameters to explain.
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 tool lists all novel projects, using a specific verb and resource. It naturally distinguishes from siblings like get_project (single project) and create_project (create operation).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool vs alternatives. The description is a bare statement with no mention of use cases, prerequisites, or alternative tools, leaving the agent to infer usage.
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?
With no annotations, the description carries the full burden. It discloses that the tool returns a scene checklist and performs chapter-level aggregate validation on specific criteria. The verb '返回' implies a read-only operation, providing some transparency about its non-mutating nature.
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 concise sentence that front-loads the main purpose and includes specific validation checks. Every word earns its place with no fluff.
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 tool with two parameters and no output schema, the description adequately explains what the tool returns, including the specific checks (missing satisfactions, missing chapter-end hooks). It doesn't describe the full response structure, but the core functionality is clearly communicated.
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 schema has 0% description coverage, and the description does not mention project_id or scene_id at all. While the parameter names are self-explanatory, the description adds no additional meaning about required formats, relationships, or usage.
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 '返回' (returns) and resource '场景 checklist' with additional validation details (缺爽点/缺章末钩子). It clearly distinguishes from the sibling get_chapter_checklist by mentioning chapter-level aggregation within a scene context.
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 retrieving a scene checklist but provides no explicit guidance on when to use this tool versus get_chapter_checklist or other sibling tools. No exclusions or alternative mentions.
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?
With no annotations, the description carries the full burden. It explicitly discloses the selection logic (chapter comparison and open status), and the word 'returns' implies a non-mutating read operation. However, it does not specify return format, pagination, or ordering, leaving some behavioral ambiguity.
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 immediately states the tool's purpose and core condition. No filler words or redundant information.
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 query tool with two parameters and no output schema, the description covers the central filtering logic well. However, it omits clarification of project_id's role and what happens if current_chapter is omitted (it is optional in the schema). Minor gaps prevent a perfect score.
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 effectively explains the role of current_chapter ('当前章号') in the filter condition but says nothing about project_id, which is a required parameter. This partial coverage leaves a significant semantic gap for one parameter.
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 a specific verb ('returns') and resource ('foreshadows') with a precise filtering condition: planned_payoff_chapter <= current_chapter and not closed. This distinguishes it from sibling tools like get_open_foreshadows, which likely lists all open foreshadows without the chapter-based due criterion.
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 when a user needs 'due' foreshadows requiring payoff, but it does not explicitly state when to use this tool over alternatives such as get_open_foreshadows or pay_off_foreshadow. No exclusions or alternative comparisons 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 must carry the full burden of behavioral disclosure. It only states the action (list) and resource, but does not mention that it is read-only, what fields are returned, or any other behavioral traits. For a list operation, this is minimal but not sufficient for full 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, concise phrase that conveys the essential information without any fluff. It is front-loaded with the verb and resource, and every word adds value. This is exemplary conciseness.
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 simplicity (0 parameters, list operation, no output schema), the description is reasonably complete. It identifies the resource clearly, but it does not specify the return format or fields, which could be useful. However, for this trivial scope, the description suffices.
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 zero parameters, so the schema provides complete coverage (100%). The description does not add parameter-specific semantics, but none are needed. The baseline of 4 applies here since there are no parameters to elaborate on.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb '列出' (list) and the resource 'profiles/*.json 可用模板' (available templates). This distinguishes it from sibling tools like list_projects, which deal with projects, not profile templates. The specific resource path adds clarity.
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 by specifying the exact resource (profiles/*.json), making it obvious this tool is for listing profile templates rather than projects or scenes. It does not explicitly state when not to use it, but the resource specification implicitly excludes alternatives.
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/holycube/novel_maker'
If you have feedback or need assistance with the MCP directory API, please join our Discord server