Draw Hola Cloud
Server Details
Draw Hola Cloud gives AI agents a visual canvas for creating and sharing diagrams. Through a simple MCP interface, agents can draw architecture diagrams, system designs, workflows, sequence diagrams, flowcharts, infrastructure layouts, and other visual explanations using shapes, connectors, text, icons, and images. The server lets an AI build a complete diagram programmatically and return a shareable Draw Hola Cloud URL that can be opened in the browser, edited, presented, or shared with others.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-06-18
- URL
TDQS
Scored across 8 tools
Each tool targets a distinct operation: creation, reading, preview rendering, schema inspection, and individual shape lifecycle (add/update/remove). No overlap between actions, and the descriptions clearly differentiate when to use each.
All tool names follow a consistent verb_noun snake_case pattern (create_drawing, get_drawing, add_shape, update_shape, remove_shape, set_drawing). This makes the API predictable and easy to navigate.
With 8 tools, the server is well-scoped for a drawing manipulation service. Each tool covers a core operation without unnecessary fragmentation or bloat.
The surface covers drawing creation, reading, editing shapes, and metadata updates, which handles the primary workflows. However, there is no way to list or delete drawings, a minor gap for multi-drawing management.
Available Tools
8 toolsadd_shapeAdd a figure or connectorAInspect
Insert exactly one object in an existing drawing. Requires its editToken and latest revision; returns the new revision. Use a new unique shape.id; it will never overwrite another object.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Public drawing UUID (last component of its /draw/<uuid> URL). | |
| shape | Yes | Canvas object; for figure types include x/y center, width/height and optional rotation, text, annotation, style. Connector uses start/end instead of bounds. See get_drawing_format for every type. | |
| afterId | No | Optional existing object ID to insert immediately above this object in drawing order; empty string inserts first (bottom). Omit to append on top. | |
| revision | Yes | Revision from create_drawing, get_drawing or the previous edit. Stale revisions fail; read again before retrying. | |
| editToken | Yes | Private editing capability returned by create_drawing. Never place it in a URL or public answer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses the write prerequisite (editToken), the concurrency requirement (latest revision), the return contract (new revision), and the non-overwrite guarantee. This is strong behavioral context for a mutation tool and aligns with readOnlyHint=false and destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences front-load the core action, then cover prerequisites and the non-overwrite guarantee with no filler. Every sentence carries operational weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex nested-object tool, the description gives the essential high-level contract: one insertion, required capabilities, returned revision, and uniqueness. The rich input schema covers the shape/connector details and points to get_drawing_format, so no critical operational context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents every parameter; the description adds actionable guidance on shape.id (must be new/unique) and stresses that revision must be the latest. This goes slightly beyond the schema's baseline, though it leaves afterId ordering to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a specific verb ('Insert'), a concrete resource ('an existing drawing'), and a strict cardinality ('exactly one object'), so an agent knows this is the add-not-create, add-not-update tool. The unique-id guarantee further distinguishes it from update_shape and remove_shape.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly frames the use case: adding one new shape to a drawing that already exists, with a fresh shape.id and the latest revision. It does not explicitly name sibling alternatives like update_shape or remove_shape, but the new-id/no-overwrite constraint implies when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_drawingCreate and share a diagramAInspect
Publish native canvas JSON and return its public URL, revision and PRIVATE editToken. Retain editToken for later edits and never show it with the shared link.
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Public title (1–200 characters). | |
| document | Yes | Native editor document, not an exported local-backup wrapper. See get_drawing_format for field details and per-type examples. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and openWorldHint=true, but the description adds critical behavioral context beyond that: it emphasizes the privacy of the editToken ('never show it with the shared link'), which is not present in annotations. This extra security note provides valuable operational guidance. It stops short of describing rate limits or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The purpose and primary outputs are front-loaded, and the security warning is stated concisely. Every phrase adds information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential return fields (URL, revision, editToken) and the critical privacy constraint, which is especially important given there is no output schema. It also implicitly directs the user to get_drawing_format for schema details. Minor gaps include missing error-handling or idempotency notes, but for a creation tool with a rich schema, this is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents every parameter thoroughly. The description's mention of 'native canvas JSON' slightly reinforces the document parameter's nature, but this is already captured in the schema (e.g., 'Native editor document'). No meaningful additional parameter semantics are added beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Publish') and resource ('native canvas JSON'), and clearly specifies the key returns: public URL, revision, and private editToken. This clearly distinguishes it from read siblings like get_drawing and mutation siblings like update_shape, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies its usage for creating a newly published diagram and warns to retain the editToken for later edits, but it does not explicitly state when to prefer this tool over alternatives like set_drawing or update_shape. No direct 'when not to use' guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_drawingRead a drawingARead-onlyInspect
Read the current PUBLIC document and revision using its drawing UUID. This never returns an edit token.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID from /draw/<uuid>. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and destructiveHint, and the description adds meaningful behavioral context: the document must be PUBLIC and the tool never returns an edit token. This goes beyond the annotations and gives an agent a clearer expectation of the tool's behavior. No contradiction with annotations found.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences with no filler. Every phrase adds meaningful constraints: 'current', 'PUBLIC', 'using its drawing UUID', and 'never returns an edit token'.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only tool with supportive annotations and complete schema coverage, the description is nearly sufficient. It clearly states the resource scope and a key behavioral guarantee. It does not describe the response format, but the absence of an output schema makes that less critical for a simple drawing read.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema fully documents the single 'id' parameter with its UUID format from /draw/<uuid>. The description adds the context of 'current public document and revision using its drawing UUID', but largely restates what the schema already provides rather than adding new parameter-level details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Read') and clearly identifies the resource: the current public document and revision identified by a drawing UUID. It also mentions the important 'never returns an edit token' behavior, which helps distinguish it from mutation tools. However, it does not explicitly differentiate itself from sibling tools like get_drawing_format or get_drawing_preview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for read-only access to public drawings and explicitly notes that it never returns an edit token, which suggests it is not for editing workflows. However, it does not explicitly state when to use this tool versus alternatives such as get_drawing_format or set_drawing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_drawing_formatLearn selected canvas JSONARead-onlyInspect
Read a short canvas overview or request details for only the needed types, such as types:['triangle','connector']. Use types:['all'] for the full guide. Ordinary rectangle and arrow diagrams can use the input schemas without calling this tool.
| Name | Required | Description | Default |
|---|---|---|---|
| types | No | Optional figure types to explain. Omit for a short overview; ['all'] returns the complete guide. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds the scoping behavior of the types parameter (short overview vs. specific types vs. all), but does not disclose details like output structure or potential size of the 'all' guide. That is acceptable for a simple read-only tool with annotation coverage, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The primary action is front-loaded, and the second sentence provides a concrete usage example and an explicit when-not-to-call rule. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a documentation/helper tool with one optional parameter and no output schema, the description covers the main usage modes (short overview, specific types, full guide) and tells users when the tool is unnecessary. It could be slightly more explicit about what 'details' or 'full guide' returns, but the title and schema fill in enough context, making the definition sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents the types parameter thoroughly, including that omitting it returns a short overview, that items are enums, and that ['all'] returns the complete guide. The description restates some of this information and provides examples like 'types:["triangle","connector"]', but adds no substantially new meaning. With 100% schema coverage, the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Read a short canvas overview or request details for only the needed types', clearly identifying a specific action and resource. The title 'Learn selected canvas JSON' reinforces the educational purpose, and the description distinguishes this from sibling tools by positioning it as a guide rather than a drawing/retrieval mutation operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to call the tool ('request details for only the needed types', 'Use types:["all"] for the full guide') and when not to call it ('Ordinary rectangle and arrow diagrams can use the input schemas without calling this tool'). This gives clear context and an alternative, satisfying the when/when-not criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_drawing_previewInspect diagram imageARead-onlyInspect
OPTIONAL: render the current drawing as a 1200x630 PNG image so you can inspect arrangement and labels before deciding whether to edit. Use view:'fit' for the complete layout or view:'camera' for the published camera. This is a simplified light-theme preview, not a pixel-perfect browser export; no edit token is required. Do not call by default after every edit.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | UUID from /draw/<uuid>. | |
| view | No | Default fit: show all objects; camera: published initial viewport. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=true), the description discloses that the preview is a simplified light-theme image, not a pixel-perfect export, and that no edit token is required. This sets accurate expectations about fidelity and cost.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, front-loaded with the core purpose, then provides details about view options, fidelity, and usage frequency. Every sentence adds value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only preview tool with two parameters and no output schema, the description covers purpose, output format, view options, fidelity caveat, and usage frequency. Nothing necessary for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents both parameters with 100% coverage. The description only restates the view values ('fit' for complete layout, 'camera' for published camera) without adding new meaning beyond the schema, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('render') and resource ('current drawing') with an output format (1200x630 PNG) and purpose ('inspect arrangement and labels'), which clearly distinguishes it from data retrieval tools like get_drawing and editing tools like set_drawing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use the tool ('before deciding whether to edit') and when not to ('Do not call by default after every edit'), and marks it as 'OPTIONAL.' It does not name a sibling alternative explicitly, but the contextual guidance is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_shapeRemove a figure or connectorADestructiveInspect
Remove one object; a figure's incident connectors are removed in the same revision. Requires editToken and latest revision.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Public drawing UUID (last component of its /draw/<uuid> URL). | |
| shapeId | Yes | ID of the object to remove. Removing a figure also removes its incident connectors, as in the editor. | |
| revision | Yes | Revision from create_drawing, get_drawing or the previous edit. Stale revisions fail; read again before retrying. | |
| editToken | Yes | Private editing capability returned by create_drawing. Never place it in a URL or public answer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as destructive, so the description goes further by disclosing the cascading behavior—removing a figure also removes its incident connectors in the same revision. This adds meaningful behavioral context beyond the annotation hints and does not contradict them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two crisp sentences, front-loading the action and scope before the prerequisites. Every clause earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive single-object removal tool with rich parameter descriptions and annotations, the description covers the core behavior, the cascading deletion effect, and the key prerequisites. Nothing essential for invoking the tool correctly appears to be missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the schema already documents each parameter clearly, including editToken privacy and stale-revision failures. The description reinforces the editToken and revision requirements but does not add detail beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Remove one object') and clarifies the resource scope, including that incident connectors are removed with a figure. This clearly distinguishes it from siblings like add_shape and update_shape despite the title being slightly broader.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear operational context by requiring editToken and the latest revision, which are essential preconditions for a destructive edit. It does not explicitly name alternatives or exclusion cases, but since no other sibling handles deletion, the intended use is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_drawingChange drawing title or viewAInspect
Set title, camera and/or active drawing color atomically. Requires editToken and latest revision. The viewer's theme is not part of drawing JSON.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Public drawing UUID (last component of its /draw/<uuid> URL). | |
| title | No | Optional new public title, up to 200 characters. | |
| camera | No | Initial camera center in world pixels and zoom in [0.02,64]. Keep shapes near this point on first open. | |
| revision | Yes | Revision from create_drawing, get_drawing or the previous edit. Stale revisions fail; read again before retrying. | |
| editToken | Yes | Private editing capability returned by create_drawing. Never place it in a URL or public answer. | |
| appearance | No | Currently selected semantic drawing color, not the theme. Theme is a viewer preference and is not stored in the drawing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false and destructiveHint=false, indicating a mutation but not destructive. The description adds critical behavioral details: it requires editToken and latest revision, and it clarifies that the viewer's theme is not part of drawing JSON. This informs the agent about prerequisites and side effects beyond the basic mutation hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two sentences and a clear list of affected attributes. The atomicity requirement is mentioned upfront, and the theme clarification is placed at the end as a minor, non-essential note. It is not overly verbose, but could be slightly more structured to separate the key purpose from the nuance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is complex with nested objects and 6 parameters, but the schema covers all parameter semantics comprehensively, and the description covers the behavioral nuances (atomicity, token/revision requirements, theme exclusion). Since there is no output schema, the description doesn't need to explain return values. The tool is relatively complex but the combination of description and schema is sufficient for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already explains all parameters in detail, including the camera constraints, revision staleness, and editToken security. The description adds a brief mention of atomicity and the theme exclusion, but for most parameters it adds little beyond the schema. Since coverage is high, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('set'), the resource ('drawing'), and lists the specific properties that can be modified: title, camera, and active drawing color. It also emphasizes the atomic nature of the operation, distinguishing it from other drawing tools. The tool name and title reinforce this but the description adds clarity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when needing to change drawing properties, and the atomic mention hints at batching changes. It does not explicitly mention when not to use this tool or alternatives, though sibling tools like get_drawing and create_drawing suggest alternatives. The context signals show openWorldHint=true, but the description doesn't explicitly guide against usage in read-only contexts, though it does require editToken which implies mutation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_shapeEdit a figure or connectorAInspect
Patch one existing object without replacing other objects. Requires editToken and latest revision; returns the new revision. Read the drawing first to inspect existing fields.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Public drawing UUID (last component of its /draw/<uuid> URL). | |
| changes | Yes | Top-level fields to replace. Cannot change id or type. style/start/end replace the whole subobject; read it first to preserve other fields. | |
| shapeId | Yes | ID of the existing figure or connector to change. | |
| revision | Yes | Revision from create_drawing, get_drawing or the previous edit. Stale revisions fail; read again before retrying. | |
| editToken | Yes | Private editing capability returned by create_drawing. Never place it in a URL or public answer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations already indicating readOnlyHint=false and destructiveHint=false, the description adds key behavioral context: it is a non-destructive patch that 'does not replace other objects', it requires a valid revision ('Stale revisions fail; read again before retrying'), and it returns the new revision. It also warns about the editToken ('Never place it in a URL or public answer'). These are valuable behavioral disclosures beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: the first sentence captures the essential behavior, the second states prerequisites, and the third gives a practical instruction. No filler; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (5 params, nested objects, revision management), the description covers the critical context: read before editing, stale revisions fail, editToken security, and the subobject replacement subtlety. A minor gap is that it doesn't explicitly spell out what the output looks like, but there's no output schema and the context is largely sufficient for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all parameters. The description adds meaning beyond the schema: it clarifies the semantic distinction between patch vs replace ('without replacing other objects'), warns that style/start/end replace the whole subobject and to read first, and emphasizes the editToken security constraint. This exceeds the baseline 3 for full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Patch') and resource ('one existing object without replacing other objects'), and the title adds that it edits a figure or connector. It clearly differentiates from sibling tools like add_shape and remove_shape by emphasizing patching an existing object rather than adding or removing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool ('Patch one existing object...') and gives a clear directive: 'Read the drawing first to inspect existing fields.' It also implicitly distinguishes from set_drawing (which likely replaces the whole drawing) and add_shape. The requirement for editToken and latest revision provides usage context.
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.
8 tool updates
- First observed
add_shape - First observed
create_drawing - First observed
get_drawing - First observed
get_drawing_format - First observed
get_drawing_preview - First observed
remove_shape - First observed
set_drawing - First observed
update_shape
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.167 npm1MIT
- AlicenseCqualityAmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs119 npm37 PyPIMIT
- AlicenseNot gradedqualityBmaintenanceEnables tracking competitor websites, changelogs, blog feeds, and pricing pages with meaningful diffs, classification, and Markdown digests via MCP tools for listing, adding, removing competitors, running checks, and retrieving digests or changes.MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.