Skip to main content
Glama

analyze_requirement

Validate extracted diagram elements against a chosen type's vocabulary and return a normalized analysis to guide the next planning step.

Instructions

PHASE 1 of diagram generation. You (the calling model) read the requirement, decide the diagram type, and extract the elements, then call this to validate the graph against that type's vocabulary (rejecting mixed element types) and get back a normalized analysis to pass into plan_diagram.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
edgesNo[{source, target, label?}] -- label is a guard like "[yes]".
nodesNo[{id, kind, label}] -- kind must be in the chosen type's vocabulary.
titleNoDiagram title.
rationaleNoWhy this diagram type/structure was chosen.
requirementNoThe original plain-language requirement, for the saved artifact.
diagram_typeNoChosen type key. Omit to get the type menu back instead.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Addedv0.2.0

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It does mention key behaviors: validating against the type's vocabulary and rejecting mixed element types, and returning a normalized analysis. However, it does not state whether the operation is read-only, what happens on validation failure, or any side effects. The absence of annotations raises the bar, and the description only partially covers the behavioral surface.

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, fairly dense sentence that front-loads the phase information ('PHASE 1 of diagram generation') and then explains the workflow. It is efficient and not verbose, though it runs on a bit. It earns a 4 for being concise and structured without wasting words.

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 tool has six parameters, no required fields, no output schema, and no annotations. The description explains the high-level workflow and mentions the output is a 'normalized analysis' to pass into plan_diagram, but it does not describe the exact structure of that analysis or how errors are reported. It also does not clarify what happens when validation fails beyond 'rejecting mixed element types'. Given the lack of an output schema, the description should provide more detail on return values and error behavior, so it is only partially complete.

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 every parameter has a description, so the baseline is 3. The description adds some context about the overall workflow (e.g., that nodes/edges form the graph to be validated), and clarifies that omitting diagram_type returns the type menu. However, it does not add per-parameter semantics beyond what the schema already provides; the schema already explains the guard labels, kind vocabulary, and rationale.

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 clear purpose: validate a graph (nodes/edges) against a chosen diagram type's vocabulary, rejecting mixed element types, and return a normalized analysis. It names the specific resource (graph) and action (validate), and distinguishes itself from siblings by positioning it as 'PHASE 1' and noting the output feeds into plan_diagram, which differentiates it from design and planning 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?

The description gives clear context: this is the first step after reading the requirement and extracting elements, and the output should be passed to plan_diagram. It implies when to use it (after extraction, before planning) but does not explicitly mention alternatives or when not to use it, such as when to use validate_spec or get_type_vocabulary instead. This is clear context without exclusions, so a 4 is appropriate.

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

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/SONA-LK/VISIO-MCP'

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