Skip to main content
Glama

Server Details

Immutable agent diagrams: create, edit, validate and render versioned diagrams over MCP.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 22 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 9 tools

Disambiguation4/5

The core lifecycle tools (create/get/edit/delete/find/history/validate/render) each target a distinct action on a distinct resource, and descriptions clarify edge cases like get-with-knownRevision versus history-compare. Mild overlap remains between diagram_get (which surfaces recent versions) and diagram_history, and diagram_share is a grab-bag mixing publish/link with report/feedback, which are not really 'sharing' operations.

Naming Consistency5/5

Every tool follows the strict `diagram_<verb>` snake_case pattern: create, delete, edit, find, get, history, render, share, validate. No casing or verb-style deviations anywhere in the set.

Tool Count5/5

Nine tools is well within the sweet spot and each one earns its place: CRUD, discovery, versioning, validation, rendering and sharing are all distinct capabilities rather than redundant wrappers. Nothing appears padded or missing at the count level.

Completeness4/5

The surface covers the full diagram lifecycle including versioning, history/compare, undo-able delete, validation, render artifacts and sharing, so agents have no obvious dead ends. Minor gaps exist for ancillary operations such as duplicating or moving a diagram between workspaces, and feedback/report are tucked into diagram_share rather than given their own entries.

Available Tools

9 tools
diagram_createSave a diagramAInspect

Saves a new diagram from a DSP scene or Mermaid text; returns its id, revision 1 and hashes. key is your stable name for it, unique in the workspace: your repeat with the same key and content returns the existing diagram, not a copy. brief stores context for the next agent. Versions are kept until you delete the diagram or its workspace is deleted.

NameRequiredDescriptionDefault
keyNoe.g. payments-architecture
briefNoWhat the diagram shows, conventions to keep, decisions made
sceneNohttps://zindex.ai/schemas/scene.schema.json
mermaidNoerDiagram or flowchart (graph); drops subgraphs, edges to them and styles
messageNoOne line on why it was made

Output Schema

NameRequiredDescription
idYes
keyNo
hashYes
chainYes
createdNo
revisionYes
warningsYes

TDQS

A4.2/5.0
Behavior3/5

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

The description details key behaviors, such as returning IDs/hashes and retaining versions until deletion. However, it presents a significant behavioral conflict with the annotations; it describes content-based idempotency while the annotations set `idempotentHint: false`.

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 well-structured, dedicating one sentence to output, one to the key constraint/idempotency, and one to the lifecycle. It is dense but logically paced.

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?

Given the complexity of diagram management, the description is highly complete. It covers input formats, output identifiers, content constraints (idempotency), and version lifecycle management.

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?

With 100% schema coverage, the description is not forced to explain data types, but it adds value by defining the *role* of inputs: `key` is defined as the stable, unique identifier, and `brief` is noted as storing context for future agents.

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 primary function: saving a new diagram from either a DSP scene or Mermaid text. This is distinct from sibling tools like diagram_edit or diagram_get, 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?

It implies the usage of creation and provides crucial context about how it behaves when the same inputs are repeated. While it doesn't explicitly list exclusions, the function name and context make its role clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagram_deleteDelete a diagramA
DestructiveIdempotent
Inspect

Deletes a diagram with all its versions. undo restores it within 24 hours; after that it is gone. Asks the user to confirm.

NameRequiredDescriptionDefault
idYesDiagram id or key
undoNo
confirmNoToken from CONFIRMATION_REQUIRED

TDQS

A4.1/5.0
Behavior5/5

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

Annotations already declare destructiveHint=true, but the description adds the details that actually matter: all versions are removed, undo is only available for 24 hours, and the tool prompts the user for confirmation. It also ties the 'confirm' parameter to a CONFIRMATION_REQUIRED flow. This is meaningful behavior beyond the annotation layer.

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?

Three short sentences, entirely front-loaded: what it destroys, how recovery works, and the confirmation requirement. No filler and no redundant restatement of the title.

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 single-entity delete with no output schema, the description covers consequences, recoverability, and the confirmation gate. It leaves open how an undo is actually invoked and what the response returns (e.g., an undo token or confirmation state), which is a minor but real gap.

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?

Schema coverage is 67% and the description fills the main gaps: 'undo' restores within 24 hours (the boolean's semantics are otherwise opaque in the schema) and 'confirm' is described as a user-confirmation step. Only 'id' ('Diagram id or key') is left to the schema, which is acceptable.

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?

States a specific verb and resource ('Deletes a diagram') and adds scope ('with all its versions'), which is the key distinction from a hypothetical soft-remove. It does not explicitly compare itself to siblings such as diagram_edit or diagram_history, but the destructive intent is unmistakable against a set of create/find/get/render 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 24-hour undo window implicitly signals that deletion is recoverable, which is useful decision context, but the description never states when to use this versus alternatives (e.g., archive vs delete) or any preconditions beyond confirmation. Usage guidance is present but inferred rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagram_editChange a diagramA
Idempotent
Inspect

Changes a saved diagram as a new revision; old ones stay. Give baseRevision (the revision you last read), a one-line message, and ops (typed operations, https://zindex.ai/schemas/ops.schema.json), mermaid (the whole diagram edited from view mermaid; only differences apply), restoreRevision (an earlier version back), or brief. An edit with an error saves nothing; one that changes nothing returns noop. requestId makes a retry return the first result. A conflict lists what changed.

NameRequiredDescriptionDefault
idYesDiagram id or key
opsNo
briefNoReplace the brief; null removes it
mermaidNoThe whole diagram as Mermaid; not with ops or restoreRevision
messageYesOne line on what the edit does and why
requestIdNoYour id for this edit, e.g. a UUID
baseRevisionYes
restoreRevisionNoA revision number, or { asOf } for the version current at that instant

Output Schema

NameRequiredDescription
idYes
hashYes
noopNo
chainYes
changedNo
replayedNo
revisionYes
warningsYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations only declare non-readonly, idempotent, non-destructive; the description supplies the substance behind those hints: an errored edit saves nothing (atomicity), a no-op edit returns noop, requestId makes a retry return the first result (the mechanism for idempotencyHint), and a conflict enumerates what changed. That is exactly the class of context annotations cannot carry.

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?

Front-loaded with the revision/immutability fact, then the required inputs, then failure modes. Every clause carries information, but the heavy parenthetical stacking in one long block makes it denser to parse than necessary.

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?

With an output schema present, return values need no prose, and the description covers atomicity, no-op, conflict, and retry semantics for this 8-parameter mutation. Remaining gaps are prerequisites such as permission requirements or whether validation is expected first, and how ops interacts with restoreRevision or brief beyond the mermaid constraint.

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?

Schema coverage is 75%, and the description adds real meaning beyond it: baseRevision is the revision you last read (an optimistic-concurrency token, not just an integer), and mermaid is applied as a diff against the current view rather than replacing wholesale. It partly restates schema-documented text (one-line message, requestId example), which keeps it off a 5.

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 verb and resource ("Changes a saved diagram") plus the key scope qualifier: it creates a new revision and old ones stay. That revision semantics alone distinguishes it from diagram_create (new diagram) and diagram_delete, so no sibling confusion is possible.

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?

It spells out the mutating modes and their mutual exclusivity: ops, mermaid (which cannot be combined with ops or restoreRevision), restoreRevision, or brief. That is concrete guidance for choosing an approach within the tool, though it never says when to reach for diagram_edit versus diagram_create or diagram_validate first.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagram_findFind diagramsA
Read-onlyIdempotent
Inspect

Lists this workspace's diagrams, latest version first, each with its family and brief's first line. query matches the title, key or brief, ignoring case; title matches come first.

NameRequiredDescriptionDefault
limitNoDefault 10
queryNo
cursorNoThe last page's nextCursor

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds real value with result ordering (latest version first) and per-item contents (family, brief's first line), but says nothing about pagination behavior beyond the cursor parameter's own schema note.

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?

Two tight sentences that front-load the result set and ordering, then the search semantics. No filler clauses.

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?

With no output schema, the description carries the burden of describing returns and does so (family, brief first line, version ordering). Pagination is only implied through the cursor parameter, leaving a small gap for a paged list tool.

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?

Schema coverage is 67%, with limit and cursor already documented; the description compensates on the undocumented query parameter by describing match fields, case-insensitivity, and ranking. It adds little about cursor or the limit maximum, but the important gap is filled.

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?

States a specific verb and resource ("Lists this workspace's diagrams") plus ordering and per-item return shape, so it is clearly distinct from diagram_get. It does not explicitly name the siblings it is not (e.g. diagram_get for a single diagram), so it falls short of full sibling differentiation.

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?

Explains what query searches (title, key, brief), that matching is case-insensitive, and that title matches rank first — clear guidance on how to use search versus a plain listing. It omits explicit when-not-to-use or alternative-tool routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagram_getRead a diagramA
Read-onlyIdempotent
Inspect

Reads a diagram. The default outline: a header (id, title, revision, time, hash), the brief, recent versions, one element per line nested by container, and edges as 'id: from -> to'. view 'dsp' returns the scene JSON, 'mermaid' Mermaid to edit and send back to diagram_edit. revision or asOf reads an earlier version; knownRevision, only what changed since; elements, only those elements and their neighbors. Another workspace's diagram answers NOT_FOUND.

NameRequiredDescriptionDefault
idYesDiagram id or key
asOfNo2026-06-30 (end of day, UTC) or ISO 8601 with an offset
viewNoDefault outline
cursorNoThe last page's nextCursor
elementsNo
revisionNoOmit for the latest
knownRevisionNo

TDQS

A4.5/5.0
Behavior4/5

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

The annotations already declare this as a safe, read-only, idempotent, closed-world operation. The description adds useful behavioral details beyond the annotations: the default outline shape, the scene JSON and Mermaid return forms, and the NOT_FOUND behavior for another workspace's diagram.

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 front-loaded with the core action and then packs the important view and revision semantics into a compact paragraph. It is dense and could be easier to scan as a list, but every sentence carries useful information and there is no filler.

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?

There is no output schema, but the description adequately describes the default return structure and the alternate view outputs. It also covers the key error case, though pagination via cursor is only described by the schema and not by the description.

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?

Schema coverage is 71%, so the schema documents some parameters already. The description meaningfully supplements this by explaining the semantic difference between 'revision', 'asOf', 'knownRevision', and 'elements', though it does not explain 'cursor' pagination behavior beyond what the schema provides.

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 opens with a specific verb+resource ('Reads a diagram') and then details what the default read returns, making the scope clear. It also distinguishes the mermaid view from diagram_edit by saying the Mermaid output is meant to be edited and sent back, so the agent can tell it apart from sibling mutation 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/5

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

It explicitly explains the view modes ('outline', 'dsp', 'mermaid') and when each is useful. It also names the revision-selection parameters and their distinct purposes: 'revision or asOf reads an earlier version', 'knownRevision' shows only changes since a revision, and 'elements' limits output to those elements and neighbors.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagram_historyDiagram historyA
Read-onlyIdempotent
Inspect

Lists a diagram's versions, newest first, with time, who made it (by), client, message, chain hash and counts of elements added, changed and removed. compare (from and to: revision numbers or dates) returns what changed between two versions instead.

NameRequiredDescriptionDefault
idYesDiagram id or key
limitNoDefault 10
cursorNoThe last page's nextCursor
compareNo

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered; the description adds ordering ('newest first') and a full inventory of returned fields, which the agent could not infer otherwise. It stays silent on pagination behavior beyond what the cursor param implies, and on rate limits.

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?

Two tight sentences: the primary behavior and its payload first, the alternative mode second. No filler, no restatement of the title, and the mode distinction is front-loaded where the agent will read it.

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?

With no output schema, describing the returned fields and their order is exactly the right compensation, and the compare branch is at least characterized. The compare result itself ('what changed') is left vague, and pagination semantics for cursor/limit are left entirely to the schema.

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?

Schema coverage is 75%, and the description adds genuinely new semantics: compare's from/to accept 'revision numbers or dates', which the schema only types as integer-or-string without explaining. 'to' defaulting to latest is repeated from the schema, and limit/cursor get no prose, but the schema covers them adequately.

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?

States a specific verb and resource ('Lists a diagram's versions') and enumerates the returned fields (time, by, client, message, chain hash, change counts), so the agent knows exactly what this produces. It also separates the tool's two modes (list vs. compare). It never names a sibling such as diagram_get or diagram_render, so sibling differentiation is left implicit.

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 final clause routes the agent between the tool's two modes: use the base call for a version list, use compare 'instead' to learn what changed between two versions. That is an explicit alternative with a selecting condition. There is no guidance about when to prefer this over siblings like diagram_get or diagram_find.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagram_renderRender a diagramA
Read-onlyIdempotent
Inspect

SVG and PNG links to a version, not the image, with its size, date, hashes and engine version. A published diagram's links, and a version link's, last until the link is revoked, or the diagram made private or deleted (then NOT_FOUND); url is its page. Others last 7 days. A version link needs no sign-in and works from any workspace; a share link gives no title. preview adds a PNG. Artifacts, slides and PDFs need the png file itself. scene or mermaid instead of id previews an unsaved diagram.

NameRequiredDescriptionDefault
idNoDiagram id or key, or a version link: https://zindex.ai/d/<ref>@<n>, <ref>@<n> or <ref>
asOfNo2026-06-30 (end of day, UTC) or ISO 8601 with an offset
sceneNohttps://zindex.ai/schemas/scene.schema.json
mermaidNoerDiagram or flowchart (graph); drops subgraphs, edges to them and styles
previewNo
revisionNoOmit for the latest
knownRevisionNoAnswers only { id, revision, unchanged } if it's the version to render

Output Schema

NameRequiredDescription
idNo
pngNo
svgNo
urlNo
hashNo
chainNo
titleNo
widthNo
engineNo
heightNo
latestNo
expiresNo
savedAtNo
revisionNo
unchangedNo

TDQS

A4.2/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: link expiry rules (7 days vs until revoked/private/deleted), NOT_FOUND behavior, no sign-in for version links, share links omit title, and preview adds a PNG. Annotations only establish read-only/idempotent safety, so this extra operational context is valuable.

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 dense but front-loaded and has no filler; the key output and link behavior come first. However, telegraphic fragments such as 'url is its page' and 'Others last 7 days' reduce clarity.

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?

With an output schema and annotations present, it covers the key operational context: link lifetime, auth, error behavior, preview, and unsaved diagrams. A few short phrases remain ambiguous, but the definition is sufficient for correct invocation.

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?

Schema coverage is high at 86%, so the baseline is 3, but the description adds meaningful semantics for preview, scene/mermaid vs id, and version-link ids. It leaves asOf, revision, and knownRevision to the schema, which is acceptable given the 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?

States that it returns SVG/PNG links for a diagram version rather than image bytes, including size, date, hashes, and engine version. It distinguishes version, published, and share link behavior, though the description itself never uses the verb 'render' and only indirectly contrasts with 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/5

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

Gives concrete selection guidance: use scene or mermaid instead of id to preview an unsaved diagram, add preview for a PNG, and note that artifacts, slides, and PDFs need the PNG file itself. It also explains link lifetimes and auth differences, but does not name sibling tools or state explicit when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagram_shareShare a diagramA
Destructive
Inspect

publish makes a diagram readable by anyone at its link; unpublish makes it private. link makes a share link showing its images, not its scene, to anyone who has it; unlink revokes them all. report sends one version to Zindex support. feedback sends Zindex staff a bug, docs (the docs and engine disagree), request or other; id or snippet attaches a diagram. Asks the user to confirm publish, link, report and feedback.

NameRequiredDescriptionDefault
idNoDiagram id or key
kindNo
actionYes
confirmNoToken from CONFIRMATION_REQUIRED
problemNoFor report: what is wrong, in one line
snippetNoA scene or Mermaid, 64 KB at most
summaryNoFor feedback, required: one line
expectedNo
observedNo
revisionNoFor report or feedback; default the latest
anonymizeNoFor report and feedback; default true
confidenceNo

TDQS

A3.8/5.0
Behavior4/5

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

Beyond destructiveHint=true and openWorldHint=true, the description discloses the exposure scope ('readable by anyone at its link', 'showing its images, not its scene', 'revokes them all') and that data leaves the system to Zindex support/staff. It also flags the confirmation gate for four actions, which the annotations do not convey. It doesn't state reversibility of unpublish or what the confirm token flow returns.

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?

Compact and action-ordered, front-loading the four sharing verbs before the two support verbs, with zero filler. The semicolon-chained clauses are dense enough that a fast reader may mis-parse where one action's semantics end and the next begins.

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?

For a 12-parameter destructive multi-action tool with no output schema, the description covers the actions and confirmation gate but leaves the feedback/report payload fields (expected, observed, confidence, anonymize) and the confirm token mechanics unexplained. An agent could pick the right action but would still guess at how to fill several parameters.

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?

At 58% schema coverage, the description compensates for some gaps: it explains the 'docs' kind meaning, that id or snippet attaches a diagram, and that report targets one version (implying revision). It says nothing about expected, observed, confidence, or anonymize, leaving several maxLength-bounded fields undocumented in both places.

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?

Each of the six actions is given a specific verb+effect (publish makes readable at its link, unlink revokes all links, report sends one version to support), so an agent knows exactly what this tool does per action. It does not differentiate the tool from siblings like diagram_get or diagram_render, which would require a single framing sentence about sharing vs. reading.

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 per-action semantics effectively encode when to choose each action, and the closing sentence names which actions trigger a user confirmation (publish, link, report, feedback), which is real selection guidance. It stops short of explicit exclusions or cross-references to alternatives such as diagram_history for version inspection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

diagram_validateCheck a diagramA
Read-onlyIdempotent
Inspect

Checks a DSP scene or Mermaid text without saving it. Returns ok, errors and warnings, each with a code, the element if any, and a one-line fix.

NameRequiredDescriptionDefault
sceneNohttps://zindex.ai/schemas/scene.schema.json
mermaidNoerDiagram or flowchart (graph); drops subgraphs, edges to them and styles

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the description is free to spend its words on the return contract, which it does: ok/errors/warnings plus code, offending element, and one-line fix. It does not state what happens if neither or both inputs are supplied (both are optional), which is the one behavioral hole.

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?

Two sentences, zero filler, and the single most decision-relevant fact ("without saving it") is placed up front. The second sentence delivers the return shape compactly in one clause chain.

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?

Because there is no output schema, the description correctly spends its second sentence explaining return values, and the nested scene object is delegated to an external schema URL in the input schema. The gap is that neither parameter is required, and the description doesn't say whether exactly one input must be provided or how the two are combined.

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 coverage is 100% and the mermaid property already carries the erDiagram/flowchart limitation note, so the schema does the heavy lifting. The description only names the two input kinds ("DSP scene or Mermaid text"), adding no format or size detail beyond the structured fields; baseline 3 applies.

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 verb ("checks") over a specific resource ("DSP scene or Mermaid text") and adds the scoping qualifier "without saving it," which separates it from diagram_create and diagram_edit. An agent can pick it out of the diagram_* family without opening the schema.

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 "without saving it" implies a pre-save validation workflow, which is useful context, but the description never names an alternative or an explicit when-not-to-use condition. There is no guidance on using this before diagram_create versus after diagram_edit, so usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updates
    • Changeddiagram_create3 fields changed
      • removedOutput schema / properties / changed
        Removed value: -{
        -  "additionalProperties": false,
        -  "properties": {
        -    "added": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "more": {
        -      "maximum": 9007199254740991,
        -      "minimum": 1,
        -      "type": "integer"
        -    },
        -    "removed": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "updated": {
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    }
        -  },
        -  "required": [
        -    "added",
        -    "updated",
        -    "removed"
        -  ],
        -  "type": "object"
        -}
      • removedOutput schema / properties / noop
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / replayed
        Removed value: -{
        -  "type": "boolean"
        -}
    • Changeddiagram_delete1 field changed
      • removedInput schema / properties / undo / description
        Removed value: -"Restore a deleted diagram"
    • Changeddiagram_edit2 fields changed
      • removedOutput schema / properties / created
        Removed value: -{
        -  "type": "boolean"
        -}
      • removedOutput schema / properties / key
        Removed value: -{
        -  "anyOf": [
        -    {
        -      "type": "string"
        -    },
        -    {
        -      "type": "null"
        -    }
        -  ]
        -}
    • Changeddiagram_get2 fields changed
      • removedInput schema / properties / elements / description
        Removed value: -"Element ids to focus on"
      • removedInput schema / properties / knownRevision / description
        Removed value: -"A revision you already know"
    • Changeddiagram_render8 fields changed
      • changedInput schema / properties / id / description
        Previous value: -"Diagram id or key"New value: +"Diagram id or key, or a version link: https://zindex.ai/d/<ref>@<n>, <ref>@<n> or <ref>"
      • addedInput schema / properties / knownRevision
        Added value: +{
        +  "description": "Answers only { id, revision, unchanged } if it's the version to render",
        +  "maximum": 9007199254740991,
        +  "minimum": 1,
        +  "type": "integer"
        +}
      • addedOutput schema / properties / height
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / latest
        Added value: +{
        +  "type": "number"
        +}
      • addedOutput schema / properties / savedAt
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / title
        Added value: +{
        +  "type": "string"
        +}
      • addedOutput schema / properties / unchanged
        Added value: +{
        +  "type": "boolean"
        +}
      • addedOutput schema / properties / width
        Added value: +{
        +  "type": "number"
        +}

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables creating, importing and incrementally editing draw.io diagrams through structured tools that manage nodes, edges and groups, then render validated .drawio files. It keeps diagram state across turns, supports automatic layout and undo, and runs locally over stdio or HTTP so any MCP client can drive it.
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to create and edit diagrams on a live canvas via MCP tools, including adding nodes, edges, and batching operations, with conflict detection via versioning.
    93,784 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources