Savage in a Suit MCP Server
Server Quality Checklist
Latest release: v1.0.0
- Disambiguation5/5
Each tool is scoped to a distinct resource and action (e.g., events, episodes, letters, testimonials, members, products, site content, pages, leads). Even where similar patterns exist, the resource is clear from the name and description, so an agent can confidently select the right tool.
Naming Consistency4/5Tool names overwhelmingly follow a consistent snake_case verb_noun pattern (list_*, get_*, create_*, update_*, delete_*). Minor deviations like 'add_podcast_episode' instead of 'create_episode' and 'update_product_display' for a product-specific action prevent a perfect score.
Tool Count2/5With 31 tools, the set exceeds the 25+ threshold and feels heavy. While each tool is purposeful, many could be consolidated (e.g., generic resource handlers) without losing clarity, making the overall count more than necessary.
Completeness4/5The toolkit covers full CRUD for events, letters, and testimonials, and provides sensible read/update operations for site content and pages. Minor gaps include missing direct getters for episodes and members (list returns full records) and a read-only leads surface, but these are workable.
Average 4.2/5 across 31 of 31 tools scored. Lowest: 2.7/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
Add a LICENSE file by following GitHub's guide. Once GitHub recognizes the license, the system will automatically detect it within a few hours.
If the license does not appear after some time, you can manually trigger a new scan using the MCP server admin interface.
MCP servers without a LICENSE cannot be installed.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations state readOnlyHint=false, indicating a write operation, and the description's 'Add' aligns with that. The description adds the detail 'Members are anonymized by default,' but this is already captured in the schema's anonymized property default, so it adds no new behavioral context. It doesn't disclose side effects, conflict handling, or permission requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise—two sentences with no filler. It leads with the core purpose, then lists required fields and a default behavior, all in under 30 words. This is efficient, though the field list is a bit perfunctory.
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 19 parameters, 11 required, no output schema, and low schema coverage, the description is under-specified. It doesn't describe what a member success story entails, how to structure the content fields, what the tool returns, or how it interacts with other member tools. This leaves an agent without enough guidance to invoke it confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 37%, the description should explain key parameters, but it only repeats the required field names from the schema. It doesn't provide any additional meaning for fields like city, name, initials, quote, or category, nor for optional fields, leaving significant ambiguity for an agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Add' and identifies the resource as 'member success story,' clearly stating the tool's function. However, sibling tools like create_testimonial also deal with success stories, and the description doesn't differentiate between them, so it's clear but not fully distinguished.
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 create_member versus update_member, delete_member, or create_testimonial. It only states what it does and lists required fields, with no context about scenarios or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral context by noting 'number (unique)' and listing required fields, going slightly beyond the annotations. However, it does not disclose idempotency, error behavior on duplicates, or authentication requirements, which are important for a create 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 a single sentence, front-loaded with the action, and contains no filler. It efficiently communicates the core operation and required parameters.
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 10 parameters, no output schema, and annotations that provide no safety hints, the description is too sparse. It does not explain what 'art' refers to, what the return value will be, or any prerequisites or constraints beyond the unique number, leaving significant gaps for an agent.
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 40%, and the description merely lists parameter names without explaining their meanings. For ambiguous fields like 'blurb' or 'appleUrl', no additional value is provided, and it repeats the schema's note about unique 'number' without elaboration.
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 'Add a new podcast episode' with a specific verb and resource, distinguishing it from sibling list/update/delete episode tools. It also lists the required fields, which reinforces the purpose.
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 like update_episode or other create tools. It simply states the action without any contextual comparison or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-read-only, non-idempotent, non-destructive operation. The description adds one useful behavioral detail ('The public site updates immediately') but does not mention permissions, uniqueness constraints, or error behavior. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and includes a clear list of required fields. Every sentence earns its place without unnecessary elaboration.
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 (15 parameters, no output schema), the description is somewhat thin. It mentions immediate public visibility but does not explain success response, error conditions, or how to verify the created event. The schema covers optional fields, but behavioral context is lacking.
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 merely restates the required parameters already listed in the schema's 'required' array, adding no new semantic meaning. With 60% schema description coverage, some parameters lack descriptions, and the description does not compensate for those gaps.
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 action ('Create a new event on the site') with a specific verb and resource. It distinguishes itself from siblings like update_event and delete_event by focusing on creation.
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 indicates the tool is for creating new events but does not explicitly contrast with update_event or other alternatives. The required-field list offers some practical guidance, but there's no explicit when-not-to-use or alternative recommendation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false, so the description must explain side effects. It does state that the public archive updates immediately, which is useful, but it omits the published flag's impact on visibility and doesn't mention duplicate slug handling. The 'Publish' wording could mislead if published defaults to false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no fluff. Front-loaded verb 'Publish' immediately conveys intent, and the required fields list is efficient. Well-structured for quick scanning.
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 create tool with no output schema, the description covers essentials but leaves ambiguity around the published flag and default visibility. It does not describe the response, but that is less critical. The missing published nuance is a notable gap.
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 high (5/6 properties have descriptions), so the baseline is 3. The description adds a list of required fields and notes body is markdown, but this largely duplicates schema info. The 'published' parameter is not mentioned in the description.
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 action ('Publish a new Playbook letter') and identifies the resource. It lists required fields and notes the immediate public archive update, distinguishing it from sibling tools like update_letter, delete_letter, and list_letters.
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 word 'new' implies it is for creating letters, not updating or deleting, and siblings make this clearer. However, there is no explicit guidance on when to use this tool versus update_letter or whether certain prerequisites exist. It relies on sibling names for context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds context by specifying the return payload ('full letter record, including the markdown body, as JSON'), which is beyond the annotations. It does not describe error behavior, but that is less critical given the strong 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 two short sentences that are front-loaded with the verb and resource. Every sentence adds necessary information (action + return format) with zero fluff or redundancy.
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 low complexity (one parameter) and rich annotations, the description adequately covers the tool's purpose, identifier input, and return format. It lacks explicit error-handling semantics (e.g., 404 behavior) but is otherwise complete for a simple read 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 coverage is 100% for the single parameter 'id', which already describes 'Letter id or slug'. The description repeats this information without adding new syntax, format, or edge-case details. Thus it meets the baseline but does not enhance 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 states a specific action ('Fetch') with a specific resource ('a single Playbook letter') and identifier type ('by id or slug'). It clearly distinguishes from sibling tools like list_letters (multiple letters) or mutation tools like create_letter/update_letter.
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 single specific letter but does not explicitly mention when to use this tool versus alternatives such as list_letters or get_page_content. There are no explicit exclusions or alternative tool references, though the context makes the primary use case clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description does not need to restate those. It adds value by specifying that the tool returns JSON values for a set of site copy keys, but it does not disclose response shape, ordering, pagination, or any side effects. Given the high annotation coverage, this is acceptable but not particularly rich.
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 starts with the action verb 'Read' and then specifies the object and examples. Every word contributes to understanding, and there is no filler or redundant restatement of the title. It is well-structured for quick agent comprehension.
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?
With no output schema and zero parameters, the description carries the burden of explaining what the tool returns. It does so by naming the content type ('editable site copy keys') and their format (JSON values) plus concrete examples. However, it stops short of explaining the exact JSON structure or any constraints (e.g., whether all keys are returned in a single response), leaving slight ambiguity for a low-complexity tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description correctly conveys a parameterless operation with phrases like 'all editable site copy keys,' implying no filters are needed. There are no parameter semantics to clarify, and the description adds appropriate context without needing to document inputs.
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 opens with 'Read,' clearly indicating an immutable fetch operation. It specifies the resource as 'all editable site copy keys and their JSON values' and enumerates concrete examples (home stats, announcement banner, featured member, inquiry form URL), which distinguishes it from sibling tools like get_page_content (returns page-specific content) and update_site_content (writes).
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 establishes the tool's role as reading site-wide copy, and the 'all editable' phrasing implies broad access. However, it does not explicitly mention alternatives or provide when-to-use vs. when-not-to-use guidance, unlike tools that state 'To filter by X, use Y instead.' The context implicitly differentiates from update_site_content, but no exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and idempotentHint=true. The description adds meaningful partial-update semantics ('Send only the fields to change'), which is valuable behavioral context not present in the annotations. No contradictions detected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with an immediate action verb and no redundant information. The description is front-loaded and easy to parse.
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 11-parameter schema with incomplete descriptions and no output schema, the description covers the core identification and partial update mechanism but leaves parameter-specific understanding and return behavior to the schema. It is adequate but not comprehensive.
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 45%, with fields like blurb, guest, title, appleUrl, published, and spotifyUrl lacking descriptions. The description says 'send only the fields to change' but does not explain individual parameter meanings, failing to compensate for the low coverage.
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 'Update an episode by id or slug,' using a specific verb and resource. It distinguishes itself from sibling tools like 'add_podcast_episode' and 'delete_episode' by explicitly scoping to updates.
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?
Provides clear usage context: it is for updating existing episodes, identified by id or slug, and supports partial updates ('Send only the fields to change'). It does not explicitly name alternatives, but the sibling tool names make the usage boundaries obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a non-read-only, idempotent, non-destructive operation. The description adds valuable behavioral context: partial updates are supported, and setting published to false hides the member from the public site. It also notes that lookup can be by id or slug.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and identifier, followed by essential usage details. No filler 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?
The description is adequate for a simple update but omits return behavior and error scenarios, which is more critical given there is no output schema. It covers key usage and the publish toggle, but with 20 parameters, it leaves room for ambiguity around what the tool returns and whether updates are confirmed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 20 parameters and only 40% schema coverage, the description needed to compensate but only mentions 'id', 'slug', and 'published'. Most parameters (e.g., 'city', 'firm', 'role', 'order', 'featured') are not explained beyond the schema, and the description does not clarify values or relationships for the undocumented fields.
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 action ('Update a member') with a specific resource ('member') and identifies the identifier ('id or slug'). This distinguishes it from sibling tools like create_member, delete_member, and list_members.
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 guidance: 'Send only the fields to change' and explains the effect of setting published to false. It does not explicitly state when not to use it or mention alternatives, but the update context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are all false and provide little behavioral context, so the description carries the burden. It clearly states the write nature ('Add') and explains behavioral implications of the two display modes (featured vs. review). It does not disclose defaults for fields like published or handling of duplicate slugs, but the mode guidance goes beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, with the primary action first, then required fields, then the two use cases. Every word adds value; no filler or redundancy. It is well-structured and easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 parameters and no output schema, the description covers the main workflow (featured vs. review) but omits guidance for video, ordering, and publication state. It is sufficient for basic use but not complete for all possible invocations. Advanced agents would need to inspect the schema or guess for optional fields.
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 45%, so the description must compensate. It does clarify required parameters (slug, name, quote) and explains the semantic difference between rating and result/featured, which is valuable. However, it ignores many optional parameters (order, detail, videoId, videoType, published) that lack schema descriptions, leaving those semantics unclear.
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 opens with 'Add a testimonial', a specific verb and resource that clearly indicates creation. It distinguishes from sibling tools like update_testimonial and delete_testimonial by defining this as the create operation. The additional required-field list and two modes further clarify its purpose.
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 explicit conditional guidance: set result and featured: true for featured career-outcome cards, or set rating (1-5) for short community reviews. It also lists required fields. However, it does not explicitly mention alternatives like update_testimonial for modifying existing testimonials, leaving a small gap in distinguishing when to create versus update.
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?
The description adds behavioral context beyond annotations: 'Set published to false to hide it from the public site' reveals a side effect of that field. It also implies a partial-update behavior, which is not specified in the annotations. However, it does not mention authentication or error cases.
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 three short sentences, front-loaded with the core action, and every sentence adds value. No redundancy or filler.
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 16 parameters, no output schema, and annotations already covering idempotency and destructiveness, the description gives the essential usage pattern. It could mention the response shape or any required permissions, but it is complete enough for a partial-update tool with a detailed schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes 63% of parameters, including id, slug, image, dates, and published. The description reinforces that id accepts slug and emphasizes partial updates, but does not explain individual field semantics beyond what the schema provides. This is adequate but not exceptional.
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 opens with 'Update an existing event by id or slug', clearly stating the verb (update), resource (event), and method (by id or slug). This distinguishes it from sibling tools like create_event, delete_event, and get_event.
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?
It provides practical guidance: 'Send only the fields to change' clarifies partial update semantics, and 'by id or slug' tells how to identify the event. It does not explicitly name alternatives or list exclusions, but the scope of 'existing event' implies it is not for creation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly=false and destructive=false, so the description doesn't need to restate that. It adds valuable behavioral context: the partial-update semantics ('Send only the fields to change') and the effect of setting published=false to hide the letter. This goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, action-first, and every word contributes value. It names the resource, the targeting strategy, the update semantics, and the published field's behavior without any filler.
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 straightforward update tool with strong schema coverage and annotations, the description sufficiently covers how to target a letter and the key update behavior. It doesn't mention return values or error handling, but given the lack of an output schema and the simple nature of the operation, this is adequate.
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?
Schema coverage is 86% and field descriptions are detailed. The description adds a key semantic not in the schema: the tool performs a partial update, so only provided fields are changed. This clarifies the update model beyond what the schema alone communicates.
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 'Update a Playbook letter by id or slug' with a specific verb and resource, distinguishing it from create/delete/list/get letter siblings. It is precise and immediately identifies the tool's function.
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 modifying an existing letter, but it doesn't explicitly contrast with create_letter or delete_letter. The partial-update guidance ('Send only the fields to change') gives some direction, but alternatives are not named, so the when-to-use is only implied.
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 annotations already declare destructiveHint=true and idempotentHint=true, so the core safety profile is covered. The description adds the word 'permanently,' which reinforces the destructive nature but is largely redundant with the annotation. It does not disclose additional side effects (e.g., associated data removal) beyond what annotations already imply, so with annotations present, the added value is minimal.
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 only two sentences: the first states the core purpose, the second provides an alternative. It is front-loaded with the primary action and avoids any filler or redundancy. Every word earns its place, making it highly efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one parameter, rich annotations (destructive, idempotent), and no output schema, the description is complete. It covers the operation, the identifier format, and the alternative approach. There is no missing context that would prevent an agent from using the tool correctly.
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 provides 100% coverage for the only parameter 'id' with description 'Member id or slug,' so the description does not add meaning beyond what the schema already states. The phrase 'by id or slug' in the description simply repeats the schema's parameter description. Baseline of 3 is appropriate when schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Permanently delete a member story by id or slug.' It names the specific verb (delete), the resource (member story), and the identifier type (id or slug). This clearly distinguishes it from sibling tools like delete_letter or delete_episode, and the contrast with update_member clarifies its unique scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides usage guidance with an alternative: 'Prefer update_member with published: false if you only want to hide it.' This directly tells the agent when not to use this tool and which sibling to choose instead, making the decision boundary very clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal destructiveHint and readOnlyHint, so the description adds little beyond what is already known. The word 'permanently' is essentially redundant with the destructive annotation, and the alternative suggestion is more about usage than behavioral traits. No contradiction, but no meaningful new 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 only two sentences, front-loaded with the action and followed by a pragmatic alternative. Every word serves a purpose; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter delete tool with no output schema, the description covers the core function, the parameter type, and the relevant alternative. It is fully sufficient for an agent to select and invoke the tool correctly.
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 has 100% coverage and already describes the 'id' parameter as 'Testimonial id or slug'. The description repeats this, adding no new detail. Baseline 3 is appropriate given the high schema coverage.
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 verb (delete), resource (testimonial), and method (by id or slug). It also distinguishes itself from update_testimonial by emphasizing permanence, which differentiates it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly advises using update_testimonial with published: false when only hiding is needed, providing clear when-to-use guidance and an alternative. This is a strong usage guideline that prevents misuse.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior. The description adds valuable context by specifying the return format ('full event record as JSON') and the lookup by id or slug, which goes beyond the structured annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that states the action, resource, and return format with no unnecessary words or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-get tool with one parameter and no output schema, the description adequately covers the return value and lookup mechanism. No additional behavior needs explanation.
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 100%, with the 'id' parameter already described as 'Event id or slug'. The description reiterates this without adding new details like format examples or constraints, so it adds minimal value 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 uses a specific verb ('Fetch') and resource ('single event'), and clarifies the lookup key ('by id or slug'). This clearly distinguishes it from list_events and other sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use this tool: when you need a single event by id or slug. It does not explicitly mention alternatives or exclusions, but the use case is evident from the phrasing and sibling context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, so the safety profile is known. The description adds that the full record is returned as JSON, providing insight into the response format, and clarifies that lookup can be by id or slug. This adds value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two terse sentences that front-load the action and return type without extraneous details. It is minimal and every phrase contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-fetch tool with one parameter and no output schema, the description covers the core invocation and return behavior. Combined with strong annotations (read-only, idempotent), it provides enough context for an agent to use it correctly. The only minor gap is lack of error-handling details, but this is not essential for such a basic 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?
The schema description for the 'id' parameter already states 'Testimonial id or slug', which fully covers the parameter meaning. The tool description repeats this information without adding new semantics, so it adds no additional value beyond the schema's 100% coverage.
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 fetches a single testimonial by either id or slug, using the specific verb 'fetch' and distinguishing it from list_testimonials. It also specifies the return format as JSON, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving one testimonial rather than a list, which is supported by the required id parameter. However, it does not explicitly contrast with list_testimonials or mention when to use alternatives. The context is clear but lacks explicit exclusions, so it scores a 4.
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?
The description adds meaningful behavioral context beyond the annotations by explicitly stating that unpublished letters are included and that full letter records are returned as JSON. This provides useful details not covered by readOnlyHint, idempotentHint, or destructiveHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that directly state the action, scope, ordering, and return format. Every word earns its place, with no redundancy or irrelevant details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, no output schema, and complete annotations, the description fully covers the essential aspects: what is returned (full letter records as JSON), ordering, and inclusion of unpublished items. This is sufficient for a parameterless list operation.
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, and the description correctly avoids unnecessary parameter explanations. Since schema coverage is 100% (void), the baseline of 4 applies, and the description adds sufficient clarity about the operation's output.
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), resource (Playbook letters), and scope (all letters, including unpublished), and specifies ordering (newest first). This distinguishes it from sibling tools like get_letter (single letter) and other list_* tools 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 Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The context of use is implied by the clear purpose (use this to get all letters), but there is no explicit mention of when to use alternatives like get_letter for a single letter. No exclusions or alternative references are provided, so the guidance is implicit rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds valuable behavioral context beyond annotations: it reveals that unpublished episodes are included and that results are ordered newest-first, and it clarifies the return format ('full episode records as JSON'), which is not otherwise specified. This adds meaningful expectations for the caller.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences that front-load the core purpose and immediately state the key scoping details ('all episodes', 'newest first', 'including unpublished ones') and the return type ('full episode records as JSON'). Every word contributes, with no redundancy or filler.
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) and the existing rich annotations, the description adequately covers the essential behavior: what is listed, the ordering, inclusion of unpublished items, and the return format. The only omission is a note about pagination or limits, but for a tool with no parameters and a stated 'all episodes' scope, this is not a significant gap.
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 and the schema is empty, so schema coverage is trivially 100%. Per the rubric, 0 params earns a baseline of 4. The description adds no parameter information (since there are none to describe), but that is not a deficiency in this case.
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: 'List all podcast episodes on the site, newest first, including unpublished ones.' It uses a specific verb ('List') and resource ('podcast episodes'), and distinguishes itself from sibling list tools (e.g., list_events, list_pages) by naming the exact resource and adding ordering and inclusion of unpublished items.
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 on when to use this tool: whenever all podcast episodes are needed, with a specific ordering and inclusion of unpublished content. It does not explicitly mention exclusions or alternatives, but the comprehensive scope ('all episodes') effectively implies that for a single episode or other resources, different tools are appropriate. This is just short of the 'explicit alternatives' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare readOnly and idempotent, so the description's mention of returning full records and including unpublished content adds behavioral context beyond the safety profile. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, immediately states verb and resource, adds definition and scope, then output format. No 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 no-parameter list tool with no output schema, the description covers purpose, scope, and return format. It might benefit from pagination details, but not required for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters; description clarifies the tool lists all testimonials with no filtering, and the parenthetical defines the resource. Schema coverage is effectively 100%, so baseline 4 applies.
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 identifies the tool as listing testimonials, defines what testimonials are (featured career outcomes and short community reviews), and specifies scope (including unpublished). This distinguishes it from related tools like get_testimonial and create_testimonial.
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?
Description implies use for retrieving all testimonials without filtering, but doesn't explicitly contrast with get_testimonial or mention when not to use. Clear context but no exclusions or alternatives named.
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?
The description adds significant behavioral context beyond annotations by explaining the 'creates if not exists' upsert behavior. This complements the idempotentHint and readOnlyHint=false annotations. It does not describe return values, but this is not critical for an update tool with no output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no redundancy. It front-loads the core purpose and field list, then adds the critical upsert behavior in the second sentence. Every word contributes to understanding.
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 6-parameter update tool with no output schema, the description adequately covers what it does, the key identifier (handle), the fields affected, and the upsert side effect. It lacks specification of return value, but this is a minor omission for an update operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema describes 4 of 6 parameters (67% coverage). The description compensates by mapping 'visibility' to visible, 'featured flag' to featured, 'title and description overrides' to displayTitle/displayDescription, and 'sort order' to order, adding semantic meaning to the two parameters lacking schema descriptions. It does not detail constraints like order direction, but the schema types provide basics.
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 action: updating how a shop product appears on the site by Shopify handle, listing the specific fields (visibility, featured flag, title/description overrides, sort order). It distinguishes from sibling tools by focusing on product display overrides and the upsert nature.
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: it is used to update display settings for a shop product identified by handle, and mentions the upsert behavior. However, it does not explicitly state when not to use it or name alternative tools (e.g., update_site_content) for different resources.
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?
The annotations already mark this as non-read-only, non-destructive, and idempotent. The description adds behavioral insight: hiding from the public site via published=false and the patch-like semantics of sending only changed fields. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, immediately front-loaded with the operation, then the update pattern, then a key usage caveat. No filler.
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?
Although the tool has 12 parameters, the schema describes most of them. The description gives essential missing context: how to identify a testimonial, partial update behavior, and the featured/published effect. It is adequate for an agent to use this tool correctly.
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 50% schema coverage, the description clarifies the 'id' parameter to accept either id or slug, and the 'published' parameter's effect on public visibility. This adds meaning beyond the schema's terse descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Update a testimonial by id or slug.' It specifies the resource (testimonial) and the identifier (id or slug), distinguishing it from sibling tools like create_testimonial or delete_testimonial.
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?
It provides clear usage context: partial updates ('Send only the fields to change') and a specific action ('Set published to false to hide it from the public site'). However, it does not explicitly name alternatives or exclusion criteria, so it is clear but not fully explicit.
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?
The description adds the behavioral nuance of 'Permanently delete,' which emphasizes irreversibility and goes beyond the destructiveHint annotation by concretizing the consequence. It also suggests a non-destructive alternative, providing useful context. However, it omits other details like permission requirements or return behavior, but the annotation already covers the destructive nature, so this is well-handled.
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 exceptionally concise—two short sentences with no filler. Each sentence carries essential value: the first defines the action and input method, the second provides a key usage alternative. It is front-loaded with the core purpose, making it easy to scan and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter delete tool with clear annotations, this description is fully sufficient. It covers the action, the input method, the consequences (permanent), and provides an alternative, all within a compact statement. No additional context is necessary given the tool's simplicity and the available structured metadata.
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 already fully describes the sole parameter ('Episode id or slug') with 100% coverage. The description's mention of 'by id or slug' merely reflects the schema, adding no new semantic details. Given the high schema coverage, a baseline score of 3 is appropriate, as no additional meaning is contributed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('delete') and the resource ('podcast episode'), and clarifies the input method ('by id or slug'). It distinguishes itself from the sibling tool update_episode by explicitly framing the tool as permanent deletion versus hiding an episode, making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use this tool for permanent deletion, and states a clear alternative ('Prefer update_episode with published: false if you only want to hide it'). This tells the agent exactly when to use this tool versus the sibling update_episode, fulfilling the dimension perfectly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already include destructiveHint=true and idempotentHint=true. The description adds 'Permanently' which reinforces irreversibility, providing modest value beyond the annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action and followed by a relevant alternative. No unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive tool, the description covers purpose, permanence, and usage guidance. Annotations cover safety, and schema covers parameters fully, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter (id). The description's mention of 'by id or slug' adds no new semantic detail beyond the schema's own 'Event id or slug'.
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 'Permanently delete an event by id or slug' with a specific verb, resource, and scope. It clearly distinguishes from update_event by contrasting permanent deletion with hiding.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly provides an alternative: 'Prefer update_event with published: false if you only want to hide it.' This gives clear guidance on 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false. The description adds the 'permanently' qualifier, reinforcing the destructive nature, and adds the nuance about using update_letter for hiding. This provides context beyond what annotations alone convey, without contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no wasted words. The primary action is front-loaded in the first sentence, and the alternative usage is presented concisely in the second. Every word contributes value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with a single parameter and no output schema. Annotations cover the destructive and idempotent profile, and the description fully explains purpose and usage guidance. Nothing important is missing 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.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the id parameter is described as 'Letter id or slug'. The description repeats this phrase, adding no new meaning. With the schema fully covering the parameter, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('delete') and resource ('Playbook letter') and states the method (by id or slug). It clearly distinguishes from sibling tools by explicitly noting the alternative for hiding, so the purpose is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to prefer update_letter with published: false when the intent is to hide, which serves as both a when-to-use and when-not-to-use guideline. This directly references a sibling tool, giving clear guidance on choosing between them.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the description correctly aligns with those. It adds value by specifying that the tool returns both the editable content and the field schema, which is a behavioral detail not covered by the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, and every clause adds meaningful information. There is no fluff or redundant repetition of the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter, no output schema, and strong annotations, the description covers the essential context: what is returned (content + schema), why it is useful (before updating), and how to obtain the key. It is sufficiently complete for a simple read operation.
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 already provides a description and example for the 'key' parameter, so baseline is 3. The tool description enhances this by adding the source of the key ('from list_pages') and a concrete usage example ('page:home'), which goes beyond the schema's static example by tying it to a sibling tool and a real workflow.
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 has a specific verb and resource: 'Fetch a page's current editable content plus its field schema'. It clearly distinguishes itself from update_page_content by noting the purpose is to know the exact shape before updating. This is more than just a restatement of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'before updating' gives clear context for when to use this tool, and 'Use the key from list_pages' tells the user exactly where to obtain the required parameter. It does not explicitly name the sibling tool update_page_content as the alternative, but the implication is strong enough for an agent to infer the appropriate workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds valuable context by stating it includes unpublished events and returns full event records as JSON, which are not visible in annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and every word adds value. It avoids repetition or fluff, making it highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless list tool with strong annotations, the description is complete. It covers the scope (all events, including unpublished) and the return type (full JSON records). Since there is no output schema, mentioning the output format is essential and provided.
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 no parameter details. The description compensates by specifying the output format (full JSON records), which is the primary information needed for a parameterless list operation. Per the rubric, a baseline of 4 is appropriate.
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 'List all events' with a specific verb and resource. It also distinguishes from siblings like 'get_event' by emphasizing 'all' and 'including unpublished ones', making its scope explicit.
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 for when to use this tool (to retrieve all events, including unpublished). It doesn't explicitly name alternatives, but the phrase 'all events' implies a comprehensive listing versus the single-event 'get_event' sibling, offering sufficient guidance without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's 'Read-only' is redundant. However, it adds non-annotation context: data source ('public site') and ordering ('newest first'). This goes beyond what annotations provide, earning a 4 rather than a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the verb 'Read', and contains absolutely no fluff. Every word serves a purpose: the resource type, source, ordering, and read-only nature. It is a model of concise structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with zero parameters and rich annotations, this description is fully adequate. It does not have an output schema, but the description's mention of resource type and ordering is sufficient for an agent to know what to expect. There is no missing critical information.
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 zero parameters, and the baseline for 0 params is 4. The description adds no parameter-specific details, but none are needed since there are no parameters to describe. It implicitly suggests an ordering behavior that any result list will follow.
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 'Read', the resource 'inquiry and newsletter leads captured by the public site', and ordering 'newest first'. This distinguishes it from sibling list tools (e.g., list_events, list_episodes) by explicitly specifying the lead type and source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (public site leads) but does not explicitly name alternatives or exclusion criteria. It provides clear context for when to use this tool, but lacks explicit when-not-to-use guidance, so it stops short of a 5.
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?
The description adds meaningful behavioral context beyond the annotations: it reveals that unpublished records are included, which could be an unexpected disclosure, and states that full member records are returned as JSON. These details supplement the readOnlyHint and idempotentHint annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences, front-loaded with the core action and scope. Every word earns its place, with no redundant information or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-parameter list operation with robust annotations, the description fully covers what the tool does (list all member success stories), the important scope (including unpublished), and the return format (full records as JSON). The openWorldHint=false aligns with 'all', and the description is complete enough for an agent to select and invoke the tool confidently.
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 and the schema confirms this with 100% coverage, so the description has no need to explain parameters. The baseline score of 4 applies because there is nothing to add.
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 specifies 'List all member success stories' with the scope 'including unpublished ones', clearly identifying the resource and the exact operation. This distinguishes it from sibling list tools like list_events and list_leads through the resource name and the scope detail.
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: it lists the complete member set, including unpublished records, which tells the agent when to use it. It does not explicitly mention when not to use it or name alternatives, but given there is no get_member sibling, the absence of exclusions is acceptable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds specificity by enumerating exact page keys and stating that output includes key and public path, giving useful behavioral context beyond the annotations. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, information-dense sentence. It front-loads the core verb and resource, then lists specific pages and output fields without any fluff. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is complete. It explicitly states what pages are included and what fields are returned, leaving no ambiguity for the agent. Rich annotations further fill in behavioral context.
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, and the schema is empty (100% coverage). With no parameters to describe, the description adds sufficient context by indicating what the tool returns, so a baseline of 4 is justified.
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 editable pages of the site, enumerating specific page keys and the return fields (key and public path). This distinguishes it from sibling list tools like list_events or list_products, which target 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 Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The tool's purpose is self-evident: use it to get an inventory of editable pages. It does not explicitly mention when not to use it or compare to alternatives, but the context provided by sibling tools and the explicit list of pages gives clear context. A 4 is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, and the description adds context that these rows only control appearance, not core Shopify data. This clarifies side effects (none on inventory/price), though it doesn't mention return structure or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, and the second sentence adds necessary scope without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description covers purpose, data scope, and relationship to Shopify. It is sufficiently complete for an agent to select and invoke the tool correctly.
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?
There are zero parameters, so the description needs no parameter-specific details. Schema coverage is trivially 100%, and the baseline for 0-param tools is 4, which is appropriate here.
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 it lists on-site display settings for shop products, using a specific verb+resource combination. It distinguishes from siblings like update_product_display and other list tools by narrowing to display overrides.
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?
It explains that Shopify is the source of truth for inventory, price, and checkout, implying this tool is only for display settings. This provides clear context on when to use it, though it doesn't explicitly name an alternative for core product data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false. The description adds important behavioral context beyond annotations: it warns that the full value must be sent, implying that a partial value will overwrite the existing data. It also instructs to read first to understand value shapes, which is a safety measure. This adds meaningful behavioral nuance without contradicting annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action ('Set the JSON value'), followed by a necessary prerequisite. Every word earns its place; no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two parameters, no output schema, low complexity), the description covers the key behavioral aspects: what it does, what to do first, and what to send. It leverages the annotations for idempotency and non-destructiveness. No critical information is missing for an agent to use it correctly.
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?
Schema coverage is 100% with descriptions for both key and value. The description adds the crucial semantic that value must be the full new value, not a patch. This goes beyond the schema's generic 'stored as the new content' phrasing, helping the agent understand the replacement semantics.
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 'Set' and clearly identifies the resource: 'the JSON value for one site content key.' This distinguishes it from reading operations like get_site_content and from page-specific updates like update_page_content. The purpose is unambiguous.
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 guidance to read get_site_content first and to send the full new value, establishing a necessary prerequisite. It does not explicitly exclude alternatives or name when not to use the tool, but the instruction to read first implies a safe workflow. Lacks explicit alternative naming but enough for practical use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (idempotent, non-destructive), the description discloses critical behavior: deep-merge semantics, partial updates, image field path/URL input, and FAQ link syntax. This significantly helps the agent predict how the update will behave.
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 compact and front-loaded, using a clear instruction, a practical example, and two short format notes. Every sentence adds value without redundancy.
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 complexity (nested deep-merge, multiple field types), the description covers the essential usage details: pre-fetch, partial update, example, image URL/path, and FAQ links. It omits return value and error cases, but the nested-object complexity is well addressed, making it nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, yet the description adds substantial meaning: it illustrates the nested object shape with a concrete example, clarifies that only changed fields are sent, and provides format rules for image and FAQ fields. This goes well beyond the schema's basic descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Update a page's copy or images,' clearly stating the action (update) and resource (page content). It differentiates from siblings like get_page_content (read) and update_site_content (site-level vs page-level).
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 explicit usage guidance: call get_page_content first for the shape, then send only changed fields as a nested object. It does not discuss exclusions or alternative tools, but the prerequisite step is clear and actionable.
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/ayushg8/sias-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server