Skip to main content
Glama
Berrio
by Berrio

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v0.0.0

  • Disambiguation5/5

    Each tool targets a clearly distinct resource and action: element geometry/styles vs transforms vs z-order are separated, as are document inspection, preflight, resizing, pages, settings, and creation. Export tools are clearly differentiated by format, and workspace/status tools do not overlap with document mutation.

    Naming Consistency4/5

    Most tools follow a consistent object_action snake_case pattern (elements_update, document_inspect, workspace_list_documents). The export_* tools invert this to action_object, and inkscape_status is a noun phrase, but the overall scheme remains predictable and readable.

    Tool Count4/5

    At 19 tools, the server is slightly above the typical 3-15 well-scoped range, but the count is justified by the breadth of SVG document editing, element manipulation, workspace discovery, and export. There is no obvious redundancy or filler.

    Completeness4/5

    Core workflows are covered: document create/inspect/settings/resize, element create/query/update/delete/arrange/transform/group, and PNG/PDF/SVG export. Minor gaps remain, such as dedicated layer management and detailed full-element inspection, but they are not dead ends for most Inkscape automation tasks.

  • Average 3.4/5 across 19 of 19 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • No commit activity data available
    • No stable releases found
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI status not available
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to 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?

    Annotations indicate destructiveHint=true, but the description does not disclose any destructive behavior. It also fails to mention the required expectedRevision parameter, which implies the tool uses optimistic concurrency and may fail if the revision is stale. The description does not contradict the annotations, but it omits critical behavioral context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, tightly worded sentence that front-loads the core purpose and immediately clarifies a key constraint ('without accepting XML or arbitrary attributes'). There is zero fluff, and every word contributes to the meaning.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness1/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given the tool's complexity—4 required parameters, a detailed schema with 11 shape types, and an output schema—the description is grossly insufficient. It does not mention the required revision parameter, the need for a workspace ID, the types of shapes supported, or any limits on the batch size. An agent would be forced to infer nearly everything from the schema alone.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description entirely fails to explain the meaning of any of the four required parameters (elements, expectedRevision, path, workspaceId). The description does not even hint at what these parameters refer to, leaving the agent without any semantic guidance beyond the raw schema.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's purpose: it 'creates a bounded batch of typed SVG basic shapes'. The verb is specific ('creates'), the resource is defined ('batch of typed SVG basic shapes'), and it explicitly excludes XML or arbitrary attributes, which distinguishes it from potential alternative creation tools. This provides clear intent without ambiguity.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description does not provide any guidance on when to use this tool versus alternatives. It does not mention the sibling tools like elements_update or elements_delete, nor does it explain when this tool is preferable. Without such direction, an agent may struggle to select the appropriate tool among the many element-related options.

    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 annotation readOnlyHint=true already signals read-only behavior, and the description reinforces this with 'without mutating it'. It adds minimal new behavioral context, such as the requirement of an 'authorized' document, which hints at access control. However, it does not disclose edge cases like behavior on missing documents, revision mismatches, or the effect of the 'level' parameter on the response. Given the annotation covers the core safety trait, the description adds only a small amount of extra 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, succinct sentence that front-loads the key action ('Reads') followed by the specific data types. It contains no filler words or redundant explanations, making it an exemplary model of conciseness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    While the purpose is clear, the description does not provide enough contextual information for an agent to call the tool correctly. It omits explanations of the four parameters, particularly 'level' and 'expectedRevision', which are not self-evident. The presence of an output schema helps, but the lack of param semantics and usage guidance means the agent must guess or inspect elsewhere. For a tool with 4 parameters and no schema descriptions, this is insufficient.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, meaning the schema provides no parameter documentation, and the description does not mention any parameters at all. The agent is left to infer the meaning of 'path', 'workspaceId', 'level', and 'expectedRevision' from their names alone, with no explanation of format, defaults, or how they affect the operation. This is a significant gap because the description fails to compensate for the schema's lack of detail.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool reads SVG viewport dimensions, viewBox, and revision from an authorized document, with a specific verb and resource. It also explicitly notes it does not mutate the document, which aligns with its read-only intent. However, it doesn't differentiate itself from other read-focused siblings like document_preflight or document_settings, leaving some ambiguity about when to choose this specific tool.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides no explicit guidance on when to use this tool versus alternatives. It doesn't mention that document_preflight might be better for validation, or that elements_query is for element-level inspection, or that mutation tools should be used for changes. The read-only nature is implied by 'without mutating it' but there is no comparison or exclusion of sibling tools, leaving the agent to infer usage on its own.

    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 annotation destructiveHint already signals mutation risk. The description adds a key behavioral constraint: updates require the current document revision. This is valuable context but it doesn't elaborate on failure modes, idempotency, or the safety of read operations. It neither contradicts the annotation nor fully discloses behavior, so a 3 is appropriate.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences and front-loads the main function. It is concise without fluff, though the first sentence's phrasing is slightly awkward. Overall, it earns its place without redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The description does not explain the distinction between read and update operations, the meaning of path and workspaceId, or what the output contains (though an output schema exists). For a tool with a nested settings object and revision precondition, significant context is missing. An agent would need to infer critical details from the schema and surrounding tools.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must explain parameter meaning. It only addresses expectedRevision via the phrase 'current document revision', leaving path, workspaceId, and the settings object fields unexplained. The nested settings fields are self-descriptive from names, but required params path and workspaceId are not clarified, so the description only partially compensates.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool reads or updates typed Inkscape page, desk, and border display settings. The verb-resource pairing is specific and distinguishes it from tools like document_resize or elements_create, though it doesn't name alternatives. The term 'typed' is slightly ambiguous but overall the purpose is clear.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives no guidance on when to use this tool versus alternatives. It does not mention conditions like 'use when adjusting display settings' or exclude cases like read-only inspection. An agent must infer usage from the schema and context, which is insufficient for proper selection among 19 sibling tools.

    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 specific behavioral context beyond the readOnlyHint annotation by detailing the checks performed and explicitly stating no modification occurs. This goes beyond the annotation's simple read-only hint.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single, concise sentence that front-loads the purpose. No wasted words, and the key action is immediately clear.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    While an output schema exists, the description omits critical parameter semantics and does not explain how the profile option alters behavior. For a tool with 0% schema coverage, this leaves the agent without enough information to invoke it correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0% and the description provides no explanation of the path, profile, or workspaceId parameters. The profile enum, in particular, likely affects what is checked, but no semantics are given.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool's action on an SVG resource and specifies what it checks (active content, external references, invalid settings). It is distinct enough from siblings like document_inspect, although it does not explicitly name alternatives.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives such as document_inspect or document_settings. The description only states what it does, leaving the agent to infer usage context.

    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 annotation already provides destructiveHint=true, so the description does not need to restate that it is destructive. The description adds a behavior trait by mentioning 'typed allowlisted patches', which indicates that only certain fields are modifiable. However, it does not disclose the optimistic concurrency behavior via expectedRevision, failure modes, or the fact that it is a batch operation. The added value beyond the annotation is modest.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, short sentence that immediately states the action and scope. It is front-loaded with the verb 'Updates' and avoids fluff. While it could include more detail, it is concise and efficient given its brevity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a destructive update tool with optimistic concurrency (required expectedRevision), batch execution (elements array up to 100 items), and an output schema, the description is sparse. It does not explain the concurrency mechanism, the meaning of workspaceId/path, or the effect of conflicting revisions. It also does not clarify limits like the 100-element maximum. The description leaves multiple operational details unaddressed that are essential for an agent to call the tool correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, and the description does not explain any of the four required parameters. It vaguely alludes to the elements array by listing 'geometry, basic styles, text, or layer labels', but it does not explain 'path', 'workspaceId', or 'expectedRevision'. The description adds minimal meaning over the schema, which itself lacks descriptions for the parameters, leaving the agent without crucial semantic context for the concurrency token and workspace/document identification.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses the verb 'Updates' with a concrete resource: 'bounded SVG geometry, basic styles, text, or layer labels' and mentions 'typed allowlisted patches', which clearly conveys a patch-based update mechanism. It is not a tautology and distinguishes itself from create/delete tools, though it does not explicitly differentiate from elements_transform or elements_arrange which also modify elements.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The phrase 'bounded' and 'allowlisted patches' implies that only a restricted set of properties can be updated, but it does not explicitly state when to use this tool versus alternatives like elements_transform or elements_arrange. There is no mention of exclusions or when-not-to-use conditions; 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.

  • Behavior3/5

    Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

    Annotations only state destructiveHint=false; the description adds that it uses Inkscape and produces a 'validated PDF' via 'bounded, allowlisted options,' which hints at security constraints. However, it does not disclose side effects such as whether the output file is created at outputPath, how expectedRevision is used for concurrency, or what happens on validation failure. Given sparse annotations, this is a moderate gap.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence with no wasted words. It front-loads the core action ('Exports an SVG document to a validated PDF') and adds a constraint ('bounded, allowlisted options'). It is appropriately concise, though it sacrifices necessary detail.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness1/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with six parameters, four required, and no schema descriptions, the description is severely incomplete. It does not explain the role of expectedRevision, the workspace-scoped identifiers, the output path semantics, or the validation process. The existence of an output schema does not compensate for the missing parameter guidance. An agent cannot correctly call this tool with the given information.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The schema has zero descriptions for all six parameters, and the description does not mention any of them. There is no explanation of what path, outputPath, workspaceId, expectedRevision, pdfVersion, or expectedOutputRevision mean. The phrase 'bounded, allowlisted options' is too vague to clarify parameter semantics. With 0% schema coverage, this is a critical failure.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool exports an SVG document to a validated PDF via Inkscape, with a specific resource and target format. It distinguishes from sibling tools like export_png and export_svg by format, so an agent can tell them apart without opening schemas.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    Usage is implied by the name and format (PDF vs PNG/SVG), but no explicit guidance is given on when to use this tool versus alternatives. There is no mention of when not to use it, no exclusions, and no context like workspace prerequisites. The description offers only implicit direction.

    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 only specify destructiveHint: false, which indicates the operation is not destructive. The description adds the 'bounded Inkscape pipeline' phrase but does not clarify what 'bounded' means (e.g., size limits, resource constraints). It does not state whether the operation is read-only, whether it modifies the source, or what side effects (if any) occur. With minimal annotation coverage, the description should provide more behavioral context but offers only a vague hint.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness3/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, short sentence, which is concise and front-loads the core purpose. However, it is overly terse given the tool's complexity (7 parameters, 5 required). While no unnecessary words are used, the brevity sacrifices informative content. It earns a middle score because it is concise but not adequately structured to support the agent.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With 7 parameters, no schema descriptions, and only a vague mention of 'bounded' pipeline, the description is far from complete. It does not explain the purpose of expectedRevision, outputPath, textToPath, or how the flavor parameter maps to output. The existing output schema might help, but since it is not visible, the description alone is inadequate for an agent to understand the full invocation context. The tool is moderately complex, requiring more elaboration.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, meaning none of the 7 parameters (including required ones like path, outputPath, workspaceId, expectedRevision, flavor, and optional textToPath and expectedOutputRevision) have any documentation. The description mentions the 'flavor' concept but does not explain any parameter semantics, relationships, or formatting requirements. This forces the agent to rely solely on parameter names and types, which is insufficient for correct invocation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool exports an SVG and distinguishes two output flavors (Inkscape or plain), which differentiates it from sibling export tools like export_png and export_pdf. The phrase 'through the bounded Inkscape pipeline' adds specific context. The verb 'Exports' plus resource 'SVG' is precise and unambiguous.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies this tool is for SVG export, but it does not explicitly state when to use it over export_png or export_pdf, nor does it mention any exclusions or prerequisites. The 'bounded' pipeline hints at limitations but is not explained. No alternative tools are named, so the agent has to infer usage from the name 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?

    The description adds a meaningful behavioral guarantee beyond the destructiveHint annotation: the concurrency requirement ('mutations require the current document revision') and the notion of 'stable page ID' (implying identity stability). It also highlights that changes are made 'safely' (likely referring to revision checks), which contextualizes the destructive operations. The annotation only flags destructiveness; the description provides operational context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, compact sentence that front-loads the core purpose and immediately states the key safety constraint. There is zero redundancy. It earns its place by giving essential context without elaboration, which is an ideal length for such a broad tool.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness1/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With 8 parameters, nested objects, and an output schema, the description is grossly inadequate. It does not explain the 'action' enum values, how to specify a page (via 'page' vs 'pageId'), the semantics of 'patch' and 'pageIds,' or how 'expectedRevision' is used. An agent would have to guess the parameter interplay; the description leaves too much to inference for a tool of this complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema coverage is 0%, and the description provides zero detail about any of the 8 parameters (action, page, patch, pageId, pageIds, expectedRevision, etc.). It does not clarify which parameters are needed for which action, the expected format of 'page', or the meaning of 'expectedRevision.' The description completely fails to compensate for the lack of schema coverage.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verbs ('Lists or safely changes') and the resource ('explicit Inkscape 1.4 pages'), and adds 'by stable page ID' to specify the targeting mechanism. It is specific enough to hint at a page-focused tool, which distinguishes it from sibling element/document tools, though it does not explicitly name a sibling as a contrast.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies the tool is for explicit page operations and mentions a critical constraint: 'mutations require the current document revision.' This gives some guidance on when it applies, but it does not offer explicit exclusions (e.g., 'use elements_update for non-page objects') or describe scenarios for each action. The context is partially implied by the tool name and resource focus.

    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 annotation already sets destructiveHint=true, and the description complements it by adding the behavioral detail about rejecting deletions that break fragment references. This adds transparency beyond the annotation by describing a safety guard. No contradiction with destructiveHint; 'Deletes' matches. It earns a 4 for adding useful context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence, extremely concise and front-loaded with the primary action ('Deletes explicitly selected SVG elements'). It wastes no words. However, it omits crucial parameter information, so the brevity is not fully justified; it's concise but incomplete.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Even though the output schema exists (so return values may be covered there), the description lacks vital context for a destructive operation. It does not explain the parameters, the need for expectedRevision (concurrency control), or the workspace/path context. An agent cannot confidently call this tool without additional schema details, making it incomplete for practical use.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate by explaining parameters. It does not mention ids, path, workspaceId, or expectedRevision at all. The description only describes the tool's general behavior, leaving agents to infer parameter meanings from names and patterns alone. This is a severe gap for a 4-parameter tool.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose4/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool deletes SVG elements and adds a specific guard ('rejects deletions that would leave fragment references broken'). It distinguishes from sibling tools like elements_update and elements_create. However, it doesn't elaborate on what 'explicitly selected' means or differentiate from any potential delete-like siblings, so not a 5.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies a usage constraint: deletions are only allowed when they won't break fragment references. This gives some context but does not explicitly state when to use this tool versus alternatives, nor when to avoid it. There is no mention of prerequisites or related workflows, so usage guidance is minimal.

    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 provide destructiveHint: false, and the description adds the explicit guarantee 'Existing outputs are never overwritten,' which reinforces and specifies the non-destructive behavior. However, it does not disclose other behavioral aspects such as potential validation failures, response format, or whether it works asynchronously. Given the annotation covers the safety profile, the added value is moderate.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that leads with the primary action and then states the key constraint. There is no wasted wording or redundant detail, making it easy to parse and remember.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With 7 parameters (including a pages array and multiple enums) and several document-related siblings, the description is too brief. It lacks information about parameter interactions (e.g., whether pages overrides width/height), any limitations on mixed inputs, or how the output path is used. The output schema exists, so return values are not required, but operational context is insufficient for an agent to use this reliably without additional docs.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate, but it only loosely references 'bounded custom dimensions' (width/height) and 'named page preset' (preset). It does not explain the meaning of unit, pages, outputPath, workspaceId, or the relationship between preset and explicit dimensions. Agents would need external knowledge to correctly structure calls.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the tool 'Creates a new SVG document' with a specific verb and resource, and further specifies it works 'from bounded custom dimensions or a named page preset'. This distinguishes it from sibling tools that modify or resize existing documents, 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 Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    No guidance is provided on when to use this tool versus alternatives like document_resize, document_pages, or export_svg. It does not state prerequisites, restrictions, or scenarios where this tool is preferred. The agent is left to infer usage from the name alone.

    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 include destructiveHint: true, so the agent knows this is a write operation. The description adds the useful detail that the transform is 'appended' (implying it adds to existing transforms rather than replacing), and limits input to 'allowlisted numeric' structured objects. However, it does not disclose side effects, reversibility, or any state changes beyond appending, so the burden on the description is only partially met. The description is consistent with 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, efficient sentence that front-loads the key action ('Appends an allowlisted numeric SVG transform') and ends with an important constraint. Every word contributes to understanding the tool's core purpose, with no filler or redundancy. This is a model of conciseness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The tool has 5 required parameters, a complex transform schema, and a destructiveHint annotation, yet the description covers none of these details. It does not explain the purpose of expectedRevision (optimistic concurrency), workspaceId, ids, or path. Given that an output schema exists, return values are covered, but the description leaves the agent without guidance on parameter semantics, how the transform is applied, or what 'selected elements' means in the context of the other parameters. This is notably incomplete for a tool of this complexity.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate by explaining parameter meaning. It does not. The description only refers to the transform concept but never clarifies what each parameter (ids, path, workspaceId, expectedRevision) represents or how they relate. The transform schema is complex (oneOf with many kinds), but the description adds nothing beyond it. With no parameter explanations, agents must rely solely on the schema, which is insufficient given the tool's complexity.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific verb ('Appends') with a clear resource ('SVG transform to selected elements') and adds a critical qualifier ('allowlisted numeric' and 'without accepting transform strings'). This precisely distinguishes it from sibling tools like elements_update (which presumably updates other properties) and elements_arrange (ordering). The phrase 'selected elements' and 'append' clearly convey the action and scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines2/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    There is no guidance on when to use this tool versus alternatives. The description does not mention any sibling tools, exclusions, or context such as 'use this instead of elements_update when applying transforms.' The implied usage (for applying transforms) is present, but no explicit conditions or alternatives are provided, leaving the agent to infer routing on its own.

    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 only provide destructiveHint=false. The description adds useful behavioral context by noting Inkscape as the execution engine and promising 'bounded, allowlisted options', which helps set safety expectations. However, it does not explain side effects, revision handling, overwrite behavior, or output semantics.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single efficient sentence with no redundant wording. It front-loads the core action and adds the Inkscape and bounded-options qualifiers without wasted space.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with 12 parameters, 4 required, and 0% parameter documentation, this description is far too sparse. It does not explain what expectedRevision is, how outputPath behaves, or how the sizing and background options interact. The output schema reduces the need to document return values, but invocation semantics remain mostly unexplained.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters1/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, yet the description names none of the 12 parameters. It does not clarify how dpi, area, width, height, background, expectedRevision, or outputPath should be set. The phrase 'bounded, allowlisted options' is too generic to count as parameter guidance.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description uses a specific action verb ('Exports'), names the source resource ('SVG document'), the target format ('PNG'), and the mechanism ('through Inkscape'). This clearly distinguishes it from sibling tools like export_svg and export_pdf.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The PNG/SVG pairing implies when the tool should be used, but the description does not explicitly state when to prefer it over alternatives such as export_svg or export_pdf. There are no exclusions or conditions provided.

    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 mark destructiveHint=true, so the description needn't restate that. It adds useful behavioral context: the operation is constrained to same-parent elements and cannot accept arbitrary indexes. But it does not explain the role of expectedRevision (e.g., conflict protection) or any side effects on the document, so some transparency is missing.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single sentence that front-loads the verb and core action. Every word adds meaning, and the exclusionary clause ('without accepting arbitrary order indexes') earns its place by disambiguating the tool.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given five required parameters and zero schema descriptions, this description is under-specified. It does not explain the purpose of expectedRevision, how to derive ids/path, or what constraints exist on workspaceId beyond the regex in the schema. An agent would need external domain knowledge to call this correctly.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description must compensate. It only clarifies the 'action' parameter's semantics (front/back/raise/lower), and vaguely references 'same-parent SVG elements' for ids/path. It says nothing about workspaceId or expectedRevision, leaving the agent without enough meaning to construct a correct call.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb ('moves'), a precise resource ('same-parent SVG elements'), and a clear scope (front, back, one step up/down). It also draws an explicit boundary by saying 'without accepting arbitrary order indexes', which differentiates it from reorder-style tools.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies when to use it: whenever you need to arrange SVG elements within their parent. However, it does not explicitly name alternatives or say when not to use it (e.g., when arbitrary order is needed), leaving the agent to infer exclusions from the 'without arbitrary order indexes' clause.

    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 declare destructiveHint=true, and the description adds useful context beyond that: it specifies 'page_only semantics' and 'preserving element geometry', indicating the mutation does not move elements. It also adds the revision prerequisite. However, it does not elaborate on the effects of other modes or commit behavior, so it partially discloses but doesn't fully cover the mutation's impact.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is two sentences, front-loaded with the core purpose and a critical prerequisite. No wasted words, and the most important information (effect on geometry) is stated early. Excellent structure for its length.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness2/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    With 8 parameters (6 required), multiple enums, and an output schema, the description is far too sparse. It does not explain parameter interactions, defaults, or the meaning of modes and anchors. While the output schema exists, an agent still needs guidance on constructing valid calls, which is missing here. The description leaves too many gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 0%, so the description carries the full burden for parameter meaning. It only mentions 'page_only semantics' (related to mode) and the revision requirement (expectedRevision). It does not explain width, height, unit, anchor, path, workspaceId, or the other mode options. For an 8-parameter tool, this is insufficient.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb ('changes'), resource ('SVG page size'), and a specific semantic ('page_only semantics') while preserving element geometry. This distinguishes it from siblings like elements_transform or document_pages, 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description provides a clear usage prerequisite ('Requires the current document revision') which is relevant for concurrency. However, it does not explicitly mention when NOT to use this tool or name alternative tools, leaving some inference to the agent. Still, the purpose is specific enough that usage is mostly 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 provide readOnlyHint=true, covering the read-only nature. The description adds the 'opaque cursor' detail and the 'allowed' filter, which are behavioral hints. It does not explain pagination mechanics, error cases, or sorting, but the presence of an output schema handles return structure. The added context is modest, hence 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.

    Conciseness4/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    One sentence encapsulates the core function and the cursor mechanism without fluff. It is efficient and front-loaded with the primary action. Slightly more structure (e.g., separating the pagination note) would improve readability, but it earns a 4 for brevity.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness3/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    The output schema covers return shape, but the description is missing critical usage context: how to paginate (does the response include a next cursor?), what 'allowed' means (permission filtering?), and whether paths are absolute or relative. These are important for an agent to use the tool correctly and are not fully evident from the schema alone. A 3 reflects these gaps.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters2/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Since schema description coverage is 0%, the description must compensate for all three parameters. It only hints at workspace (via 'within one workspace') and cursor ('opaque cursor'), but does not explain pageSize, its default/max, or how to use the cursor for pagination (e.g., pass it back from the response). This is a significant gap for a 3-param tool.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb (lists), resource (allowed SVG/SVGZ document paths), and scope (within one workspace). This clearly distinguishes it from sibling workspace_list (which enumerates workspaces) and document_inspect (for individual documents). 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/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description gives clear context (one workspace, allowed paths) and implies its use for enumerating documents in a workspace. However, it does not explicitly mention when not to use it or point to alternative tools (e.g., 'use document_inspect for file details'), so no exclusions are stated.

    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 the description adds meaningful behavioral context: results are summarized rather than full elements, bounded (consistent with limit/offset), and deliberately stripped of arbitrary XML attributes. This clarifies what an agent should expect in the return payload beyond the raw 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/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single sentence that front-loads the core action and resource before stating filtering dimensions and the key output limitation. Every clause earns its place; there is no redundancy.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a read-only list operation, the description covers what is returned, the filtering dimensions, and a key exclusion (arbitrary XML attributes); the output schema covers return details. It falls short only in not explicitly routing the agent toward or away from sibling query/export tools, though the purpose is mostly self-evident.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The description maps the main filter parameters to concepts: IDs, type (kinds), and Inkscape layer (layerId). But with 0% schema description coverage, it does not clarify path/workspaceId context or the pagination parameters (limit/offset), leaving the agent to infer those from the schema names alone.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    States a specific action ('Lists') and resource ('SVG element summaries'), plus the three filtering dimensions (IDs, type, Inkscape layer). The qualifier 'without exposing arbitrary XML attributes' distinguishes this from raw SVG/XML inspection and from sibling write tools like elements_update or elements_delete.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The read-only verb 'Lists' and readOnlyHint imply this is for retrieval rather than mutation, and sibling names make the contrast obvious. However, it never explicitly states when to choose this tool over alternatives or when not to use it, so usage guidance is implied rather than spelled out.

    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?

    Even with destructiveHint=true, the description adds meaningful behavioral detail: it preserves child order and rejects broken href references. It also clarifies scope constraints such as 'same-parent' and 'non-layer group,' which are not present in the annotations or schema. This goes well beyond the structured metadata.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The entire description is one dense, front-loaded sentence that conveys the operation, constraints, ordering guarantee, and validation behavior. Every clause adds information, and there is no filler or repetition.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a destructive mutation tool, the description covers the key constraints and edge-case behaviors (same-parent only, non-layer group only, child order, href validation), while the output schema covers return expectations. It does not explain the revision-checking requirement, but the parameter name expectedRevision is reasonably self-explanatory.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters3/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    Schema description coverage is 100%, so the schema carries the parameter documentation burden. The description does not explain individual parameters like groupId, ids, or expectedRevision, but it does clarify the two modes of operation (group vs. ungroup), which slightly reinforces the action enum. This is an adequate baseline-3 situation.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb and resource: it groups or ungroups SVG elements, with precise constraints ('same-parent', 'one non-layer group'). It also adds distinguishing behavior ('preserving child order', 'rejecting broken href references'), making it clearly separable from sibling tools like elements_update or elements_arrange.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines3/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies the core use cases: grouping same-parent elements and ungrouping a single non-layer group. It does not explicitly mention when to prefer this tool over alternatives or when it should not be used, but the constraints in the description provide enough context for basic selection.

    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 provide readOnlyHint=true, and the description adds value beyond that by disclosing that filesystem paths are not exposed and that security posture is included. This goes beyond the annotation without contradicting it, giving the agent useful behavioral context.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    A single, well-structured sentence that front-loads the action and outcome, with no filler. Every element adds information about scope, output, or security. Ideal conciseness.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness4/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    Given that an output schema exists and there are no parameters, the description covers the key aspects: availability, capabilities, security posture, and path redaction. It does not explicitly mention when to call it, but for a status tool this is self-evident. Slightly more could be said about the typical usage order, but overall it is sufficient.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    There are zero parameters and the schema is empty, so the description has no parameter meanings to add. Baseline for 0-param tools is 4, and the description correctly omits any parameter talk. No gaps here.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description states a specific verb ('Reports') and resource ('local Inkscape availability, observed capabilities and security posture') and clearly distinguishes it from all sibling tools, which focus on document/element operations. It leaves no ambiguity about what the tool does.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies a read-only status check that would precede Inkscape-dependent operations, but it does not explicitly state when to use it or name alternatives (though none exist). The context is clear enough for an agent to infer usage, but explicit guidance about 'use before any Inkscape operation' is missing.

    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 the description aligns with that by stating it lists workspaces. Beyond the annotation, it adds the behavioral detail that filesystem roots are not exposed and that IDs are opaque, which is useful context about the data returned.

    Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

    Conciseness5/5

    Is the description appropriately sized, front-loaded, and free of redundancy?

    The description is a single, tightly worded sentence that front-loads the primary action and resource, then specifies key constraints. No filler or redundant wording; every word earns its place.

    Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

    Completeness5/5

    Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

    For a tool with no parameters and an output schema present, the description is complete for an agent to invoke it correctly. It states what is returned, the ID format, and the exclusion of root paths, leaving no critical gaps for a simple list operation.

    Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

    Parameters4/5

    Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

    The tool has zero parameters, so the schema fully covers the parameter space with 100% schema description coverage. The description doesn't need to elaborate on parameters, and the baseline of 4 applies here as there is nothing to explain.

    Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

    Purpose5/5

    Does the description clearly state what the tool does and how it differs from similar tools?

    The description clearly states the verb 'lists' and the resource 'authorized workspaces', adding that they are identified by opaque IDs and that filesystem roots are not exposed. This distinguishes it from the sibling workspace_list_documents, which would list documents, and clarifies the tool's scope.

    Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

    Usage Guidelines4/5

    Does the description explain when to use this tool, when not to, or what alternatives exist?

    The description implies usage by noting it lists 'authorized' workspaces, which tells the agent it returns those the user can access. It does not explicitly mention when not to use it or name alternatives, but the narrow scope and sibling context make the intended usage clear enough.

    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

inkscape-mcp MCP server

Copy to your README.md:

Score Badge

inkscape-mcp MCP server

Copy to your README.md:

Latest Blog Posts

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/Berrio/inkscape-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server