Zovo Fishbone
Server Details
Turns a problem and its list of causes into a fishbone diagram you can print.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 2 tools
The two tools are clearly separated by intent: check_fishbone validates inputs and returns diagnostics without drawing, while make_fishbone generates the diagram and downloadable files. The descriptions explicitly cross-reference each other and clarify that both take the same inputs but perform different actions.
Both tool names follow the same predictable verb_noun pattern: check_fishbone and make_fishbone. The shared noun reinforces that they operate on the same domain object while the verbs distinguish the actions.
Two tools are enough for this focused fishbone diagram use case, with one tool for generation and one for pre-drawing validation. The count is slightly below the typical 3-15 range, but each tool earns its place and no obvious operation is artificially split.
The surface covers the main lifecycle: validating inputs, generating the diagram, checking layout, and exporting to PDF, SVG, CSV, and text. Minor gaps remain around editing or updating an existing diagram and managing reusable templates, though stateless regeneration mitigates these.
Available Tools
2 toolscheck_fishboneCheck fishbone causesARead-onlyIdempotentInspect
Use this when the user wants their fishbone or cause and effect list reviewed before drawing, for example "check my fishbone causes for duplicates" or "how many pages will this Ishikawa diagram need". Takes the same problem and categories as make_fishbone. Returns counts per category, empty categories, duplicate causes (ignoring case), each text over its limit, other input problems, and the PDF pages needed on Letter, A4 and Tabloid. Draws nothing and makes no files. Does not judge whether a cause is a real root cause.
| Name | Required | Description | Default |
|---|---|---|---|
| problem | Yes | The problem or effect at the head of the fish, up to 120 characters, e.g. "Late deliveries in March". | |
| categories | No | 2 to 8 categories (the big bones), each {"name":"People","causes":[...]} with 0 to 10 causes and 0 to 5 sub-causes per cause. Each cause is text ("Training gaps") or {"text":"Training gaps","sub_causes":["No manual","Rushed onboarding"]}. Leave it out to get the 6M set (People, Methods, Machines, Materials, Measurements, Environment) with no causes yet. |
Output Schema
| Name | Required | Description |
|---|---|---|
| ready | Yes | |
| counts | Yes | |
| limits | Yes | |
| problem | Yes | |
| problems | Yes | |
| pages_needed | Yes | |
| per_category | Yes | |
| preview_count | No | |
| categories_used | Yes | |
| duplicate_causes | Yes | |
| empty_categories | Yes | |
| duplicate_sub_causes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, but the description adds real behavioral context beyond them: no drawing, no files created, and an explicit statement of what the tool will not evaluate (root-cause validity). That last line prevents a common misuse where an agent expects qualitative judgment.
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?
Front-loaded with the trigger and examples before the return-value list, and every sentence carries routing or scope information. The enumeration of return values is somewhat long given an output schema already exists, but it is compact and reinforces the tool's boundary rather than padding.
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 a pure validation pass with two parameters, an output schema, and full annotation coverage, and the description still covers when to use it, what it will not do, and how it relates to the sibling. Nothing an agent needs in order to call it correctly or interpret the result 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% and the schema itself documents the 6M default and nesting limits, so the description does not need to re-explain shapes. It does add cross-tool meaning by stating it takes 'the same problem and categories as make_fishbone', letting an agent reuse a payload it built for the sibling rather than reconstructing it.
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?
States a specific verb and resource (review a fishbone/cause-and-effect list) plus a scope boundary: 'before drawing' and 'Takes the same problem and categories as make_fishbone.' It also explicitly separates itself from the sibling by noting it 'Draws nothing and makes no files', so an agent can choose between check_fishbone and make_fishbone without opening either schema.
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?
Gives an explicit trigger ('when the user wants their fishbone or cause and effect list reviewed before drawing') with two concrete example utterances, and adds a negative boundary ('Does not judge whether a cause is a real root cause'). The sibling relationship is named directly, which is exactly the routing information an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_fishboneMake fishbone diagramARead-onlyIdempotentInspect
Use this when the user wants a fishbone, Ishikawa or cause and effect diagram drawn for a problem, for example "make a fishbone for late deliveries" or "6M fishbone template for high scrap rate". Takes the problem (the effect), 2 to 8 categories with up to 10 causes each and up to 5 sub-causes per cause, and a landscape PDF page size. With no categories it uses the 6M set and says so. Returns counts per category, a layout check (overlapping labels, labels crossed by a bone), the PDF page count and smallest text size, an outline, an interactive diagram, and PDF, SVG, CSV and text downloads. Refuses text over the limits with the item named. Does not find, rank or verify root causes. Download links of large diagrams expire after about 1 hour.
| Name | Required | Description | Default |
|---|---|---|---|
| problem | Yes | The problem or effect at the head of the fish, up to 120 characters, e.g. "Late deliveries in March". | |
| page_size | No | PDF page in landscape: letter (default), a4 or tabloid (11 x 17 in, fits more on one page). | |
| categories | No | 2 to 8 categories (the big bones), each {"name":"People","causes":[...]} with 0 to 10 causes and 0 to 5 sub-causes per cause. Each cause is text ("Training gaps") or {"text":"Training gaps","sub_causes":["No manual","Rushed onboarding"]}. Leave it out to get the 6M set (People, Methods, Machines, Materials, Measurements, Environment) with no causes yet. |
Output Schema
| Name | Required | Description |
|---|---|---|
| Yes | ||
| counts | Yes | |
| outline | Yes | |
| problem | Yes | |
| warnings | Yes | |
| downloads | Yes | |
| page_size | Yes | |
| layout_check | Yes | |
| per_category | Yes | |
| preview_count | No | |
| categories_used | Yes | |
| duplicate_causes | Yes | |
| empty_categories | Yes | |
| duplicate_sub_causes | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description still adds substantive behavior: silent defaulting to the 6M set when categories are omitted, hard refusal of oversized text with the offending item named, inline layout warnings, and ~1 hour expiry on large-diagram download links. Those are exactly the operational facts an agent cannot get from the structured fields.
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?
It is a dense single block, but it is front-loaded with the use case and examples, then limits, then return shape, so an agent can stop reading early and still call it correctly. A few clauses (the enumerated return artifacts) could be tightened since an output schema already exists.
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 single required parameter plus two optional ones, the definition covers activation, defaults, limits, refusal behavior, link expiry and output shape. With an output schema present, it arguably over-delivers on return values rather than under-delivering, so nothing an agent needs 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 all three parameters are already documented, making 3 the baseline. The description does add some meaning the schema lacks, chiefly the defaulting behavior for an omitted categories array and the stated 2-to-8 / 10-cause / 5-sub-cause limits, but it does not explain page_size tradeoffs or the mismatch between the 4000-character schema cap and the 120-character guidance.
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 names a specific verb and artifact ('make a fishbone, Ishikawa or cause and effect diagram drawn for a problem') and grounds it with two concrete user-phrase examples. It also carves out scope ('Does not find, rank or verify root causes'), but it never names the sibling check_fishbone, so the agent must infer the boundary between generating a diagram and checking one.
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 opening 'Use this when the user wants...' plus verbatim example requests ('make a fishbone for late deliveries') gives clear activation conditions, and the negative scope line tells the agent this is not a root-cause analysis tool. It stops short of an explicit when-not-to-use rule or a named alternative, which keeps it out of 5 territory.
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.
2 tool updates
- First observed
check_fishbone - First observed
make_fishbone
Related MCP Connectors
Turns SQL CREATE TABLE statements into an entity relationship diagram you can print.
1Turns a short text description of classes into a UML class diagram you can print.
1Turns a few lines of text into a UML sequence diagram you can print.
1Turns an outline of project work into a work breakdown structure chart your team can print.
1
Related MCP Servers
- AlicenseAqualityBmaintenanceEnables causal root cause analysis with 56 tools covering causal graph construction, 10 RCA model families plus 3 dedicated PyRCA algorithms (Salesforce PyRCA, BSD-3-Clause), multi-model consensus, and PDF/HTML/Excel/Markdown report generation. Works with Claude, Ollama, Groq, OpenAI, Gemini, LangChain, Cursor — 10 providers.5625 PyPIMIT
- AlicenseAqualityBmaintenanceEnables converting ASCII and Unicode text diagrams into crisp, animated SVG with 1:1 verification, including repair of misaligned diagrams.2MIT
- AlicenseNot gradedqualityDmaintenanceConverts Mermaid flowchart syntax or a plain indented outline into a shareable diagram link and an editable board in a browser-based editor, returning read-only and editable URLs plus node and connection counts. Also lists built-in templates such as swimlane, decision tree, org chart, network, and mind map diagrams.MIT
- AlicenseAqualityCmaintenanceEnables assistants to turn a plain-language process description into a checked BPMN swimlane diagram, asking only for missing details and showing a picture for approval. Once approved, it exports the diagram as SVG, PNG and a .bpmn file that opens in Camunda, all drawn and checked locally on the user's own computer.3MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.