Skip to main content
Glama

Server Details

Create and edit roadmaps with JSON or markup; share edit and view links from AI agents.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Available Tools

43 tools
artifacts_apply_jsonApply Artifacts JSONAInspect

Replace (or merge) the Artifacts graph with normalized JSON. Shared edit mode auto-saves to the cloud.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonNoFull or partial graph state, or JSON string
mergeNoIf true, merge nodes/labels arrays from payload onto current state

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It does disclose the mutate-vs-merge behavior and the cloud auto-save behavior in shared edit mode. It does not warn that 'replace' is destructive to the existing graph, nor state validation behavior, reversibility, or return values, which are material gaps for a mutation tool.

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 concise sentences with no filler. The core operation is front-loaded and the auto-save side effect is stated in a single additional clause; every word earns its place.

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 2-parameter tool with no annotations and no output schema, it communicates the essential operation but omits what happens to the previous graph on replace, whether a graph must already exist, and what the tool returns on success or failure. Given the large sibling family, a bit more routing and side-effect context would make it fully 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?

The input schema already describes both parameters with 100% coverage. The description adds the notion of 'normalized JSON' and frames merge as an alternative to replace, but this is modest extra meaning beyond the schema's existing parameter descriptions.

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?

Clearly identifies a specific operation ('Replace (or merge)') on a specific resource ('the Artifacts graph') using 'normalized JSON'. It is easy to tell apart from export/get/create siblings, though it does not explicitly distinguish itself from roadflow_apply_json.

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 'Replace (or merge)' phrasing describes the two invocation modes and the merge parameter reinforces them, and the auto-save note adds operational context. However, it does not say when this tool is preferable over artifacts_new, artifacts_get, or the roadflow_apply_json sibling, nor does it mention prerequisites or exclusions.

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

artifacts_create_sharedCreate shared Artifacts graphAInspect

Persist the current Artifacts workspace to the cloud. Returns editUrl and viewUrl under /artifacts/.

ParametersJSON Schema
NameRequiredDescriptionDefault
editIdNoOptional edit id (default: random af-…)
viewIdNoOptional view id (default: random af-…)

TDQS

A3.5/5.0
Behavior3/5

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

Since no annotations are provided, the description carries the full behavioral burden. It clearly exposes the core side effect (cloud persistence) and the return values, which is useful. It does not disclose whether repeated calls create new shared graphs, how editId/viewId affect the URLs, or what authentication/state prerequisites exist — meaningful gaps for a write/persist operation.

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 short sentences with no filler; the main effect is stated first and the return values second. This is appropriately front-loaded and every sentence earns its place.

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 description covers the essential action and return location, which is important because there is no output schema. However, with no annotations and multiple similar siblings, an agent is left to infer the broader workflow: whether this creates a new shared artifact graph, how IDs map to URLs, and what state is required before calling it.

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

Parameters3/5

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

Schema description coverage is 100%, so editId and viewId are already documented with their defaults and optionality. The description adds no extra parameter semantics, but given the schema covers everything, baseline 3 is appropriate.

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

Purpose4/5

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

The description states a specific action ('Persist the current Artifacts workspace to the cloud') and a concrete result ('Returns editUrl and viewUrl under /artifacts/'), so an agent can understand the core purpose. It does not explicitly contrast it with siblings like artifacts_open_shared or artifacts_new, but 'current workspace' + 'cloud' is reasonably distinctive.

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 use case is implied: an agent should use this when it wants to persist the current workspace and obtain shareable URLs. However, there is no explicit when-not-to-use guidance or alternative routing among the large sibling set, so the agent is left to infer selection criteria.

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

artifacts_discardDiscard Artifacts workspaceAInspect

Clear the in-memory Artifacts workspace for this MCP session (does not delete cloud graphs or the Plans workspace).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the full behavioral burden. It clearly discloses that the operation is in-memory only, session-scoped, and non-destructive to cloud graphs or the Plans workspace. This is useful context beyond what the tool name alone conveys, though it could additionally mention what happens after clearing or whether any confirmation is needed.

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

Conciseness5/5

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

The entire description is one focused sentence with the action and scope front-loaded. The parenthetical exclusion adds essential safety information without wasting words. Every part earns its place.

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 zero-parameter, no-output-schema tool, the description is nearly complete: it states the target, the scope, and the key exclusions. It lacks an explicit statement about whether the operation is reversible or what the caller should expect in return, but those are minor gaps for such a simple discard operation.

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

Parameters4/5

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

The tool has zero parameters and the schema description coverage is 100%, so there is nothing for the description to add about parameter behavior. The baseline of 4 applies because no parameter ambiguity exists.

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

Purpose5/5

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

The description uses a specific verb ('Clear'), names the exact resource ('in-memory Artifacts workspace'), and scopes it to the MCP session. It also distinguishes itself by explicitly excluding cloud graphs and the Plans workspace, leaving no ambiguity about what the tool does.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when the agent wants to reset the current in-memory Artifacts workspace. It also clarifies what the tool will not do, which helps prevent misuse. However, it does not explicitly name alternatives or state when another sibling tool such as roadflow_discard should be used instead.

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

artifacts_export_jsonExport Artifacts JSONAInspect

Export the current Artifacts workspace as JSON (serializeState).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It explains that this is a serialization/export operation, which implies a read-only capture of the workspace state. The '(serializeState)' detail adds implementation-level transparency beyond what the title alone provides.

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

Conciseness5/5

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

The description is a single focused sentence that front-loads the action, resource, and output format. Every element is useful and there is no redundancy or 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?

For a zero-parameter tool with no output schema and no annotations, this description is largely complete: an agent knows what the tool does and what it returns. It could go slightly further by noting that the returned JSON represents the complete serialized current state, but the core invocation context is clear.

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

Parameters4/5

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

The tool has zero parameters, so parameter semantics are trivially satisfied. The description adds no parameter-specific meaning because none is needed. Baseline 4 applies for a no-parameter tool.

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

Purpose5/5

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

The description states a specific verb ('Export'), a specific resource ('current Artifacts workspace'), and the output format ('as JSON'). The parenthetical '(serializeState)' adds implementation clarity. This clearly distinguishes it from sibling roadflow_export_json and from import/apply 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 intended use is implied: call this when you need the full current Artifacts workspace serialized as JSON. However, it does not explicitly contrast with alternatives such as artifacts_apply_json or roadflow_export_json, nor does it state 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.

artifacts_getGet Artifacts graphAInspect

Return the current Artifacts workspace as JSON.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It conveys that the tool returns the current workspace state as JSON, which implies a read-only getter, but it does not explicitly state that no changes are made or how 'current' relates to unsaved or exported state.

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

Conciseness5/5

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

The description is a single, clear sentence with no wasted words. It front-loads the verb and resource and immediately states the output format.

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 zero-parameter getter, the description is largely complete: an agent knows what action to perform and what output to expect. However, the lack of an output schema and the absence of explicit differentiation from export_json mean it could be slightly more informative.

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

Parameters4/5

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

The tool has zero parameters and the schema properties are empty, so there is no parameter semantics for the description to add. The baseline of 4 for zero-parameter tools applies.

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

Purpose4/5

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

The description states a specific action and resource: 'Return the current Artifacts workspace as JSON.' It clearly identifies what the tool produces. However, it does not differentiate it from the similar sibling artifacts_export_json, so an agent could not confidently choose between them based on the description alone.

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

Usage Guidelines2/5

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

No guidance is provided about when to use this tool versus alternatives such as artifacts_export_json, artifacts_get_version, or artifacts_status. With a large sibling list, the absence of any usage context leaves the agent to guess.

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

artifacts_get_versionGet Artifacts version snapshotAInspect

Load one shared Artifacts version by relative index (-1 newest). Optional load=true replaces the MCP workspace (does not save).

ParametersJSON Schema
NameRequiredDescriptionDefault
relYesRelative version index: -1 = newest checkpoint
loadNoIf true, replace the current MCP Artifacts workspace with this version

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose the key behavioral trait — 'load=true replaces the MCP workspace (does not save)' — which warns the agent about state mutation and persistence. However, it does not say whether load=true discards current unsaved workspace content, whether the operation is reversible, or what the response contains, leaving real safety gaps.

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, purpose first, with the critical no-save caveat appended in parentheses. Every word earns its place; there is no restating of the title or redundant schema content.

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 two-parameter tool with no output schema and no annotations, the description covers purpose, rel semantics, and the load behavior, but leaves two meaningful gaps: whether load=true overwrites/discards current unsaved artifacts, and what the tool returns. The sibling version-tool family (artifacts_open_shared, artifacts_get) also argues for a one-line differentiation.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3 — both rel and load are already documented inline. The description adds at most the '(does not save)' nuance beyond the schema's wording, which is marginal.

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 pair — 'Load one shared Artifacts version' — and pins down the distinguishing selection mechanism ('by relative index (-1 newest)'). This sets it apart from siblings like artifacts_list_versions (enumerates versions) and artifacts_get (current workspace), so an agent can pick it without opening schemas.

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

Usage Guidelines4/5

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

The usage context is explicit: use this when you need to load one specific shared version by relative index, and optionally replace the workspace by setting load=true. No exclusions or alternative routing are named, but for a focused version-loader the context is clear enough.

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

artifacts_list_versionsList Artifacts version historyAInspect

List shared Artifacts version checkpoints (newest first). Requires a shared edit workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It adds useful behavioral context: checkpoints are returned newest first, and a shared edit workspace is required. However, it does not explicitly state that this is a read-only operation, what each checkpoint entry contains, or what happens if no shared workspace is active.

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

Conciseness5/5

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

The description is a single, efficient sentence with no filler. The verb and resource are front-loaded, and the ordering and prerequisite are included without redundancy.

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

Completeness4/5

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

For a zero-parameter list tool with no output schema, the description covers the resource, ordering, and a key precondition. It omits the return shape and the exact relationship to opening or creating a shared workspace, but those are relatively minor for this simple operation.

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

Parameters4/5

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

The input schema has zero parameters and 100% coverage, so the baseline is 4. There is nothing for the description to add about individual parameters; the shared-workspace requirement provides useful ambient context.

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

Purpose5/5

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

The description states a specific verb ('List'), a clear resource ('shared Artifacts version checkpoints'), and an ordering detail ('newest first'). This distinguishes it from related siblings like artifacts_get_version (single version) and roadflow_list_versions (roadflow vs artifacts).

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 gives a clear usage context: list version checkpoints of shared Artifacts, newest first, and it requires a shared edit workspace. It does not explicitly name sibling alternatives or state when not to use it, which prevents a 5.

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

artifacts_newNew Artifacts workspaceAInspect

Create an ephemeral in-memory Artifacts graph workspace. Optional seed JSON (serializeState shape: nodes + labels). No cloud id until artifacts_create_shared.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonNoOptional seed graph state

TDQS

A4.4/5.0
Behavior4/5

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

Since no annotations are present, the description carries the behavioral burden. It discloses key traits: the workspace is ephemeral, stored in memory, not cloud-backed, and gets a cloud id only after artifacts_creat_shared. It could add side-effect details about an existing local workspace, but the main behavioral profile is transparent.

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 compact sentences front-load the core purpose and key constraints, then give the seed shape and cloud limitation. Every sentence earns its place and none is redundant.

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 simple creation tool with one optional parameter and no output schema, the description covers creation semantics, storage lifecycle, and seed-shaped input. The only notable gap is what happens to an existing local Artifacts workspace, but overall it is complete enough 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 description is only 'Optional seed graph state', but the tool description adds the serializeState shape as 'nodes + labels', giving far more parameter meaning than the schema alone. With 100% schema coverage, this extra shape context pushes it above baseline.

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: 'Create an ephemeral in-memory Artifacts graph workspace.' It also distances itself from artifacts_create_shared by noting that no cloud id exists until that tool is used, which helps an agent tell sibling tools apart.

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?

Implies its use case through 'ephemeral in-memory' and 'No cloud id until artifacts_create_shared,' making clear this is for a local temporary workspace rather than a shared one. It doesn't explicitly say 'use X instead' but the context is clear enough to route an agent correctly.

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

artifacts_open_sharedOpen shared Artifacts graphAInspect

Load a cloud Artifacts graph by edit or view id. View links are read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYeseditId or viewId from /artifacts/?id=…

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral disclosure burden. It does add one meaningful behavior: 'View links are read-only.' However, it does not clarify whether edit ids allow modifications, what the tool returns, or any auth/error behavior.

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 short sentences with no filler. The main action and resource are front-loaded, and the only additional sentence adds a meaningful constraint. Every word earns its place.

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?

This is a simple one-parameter tool with 100% schema coverage, so the missing output schema is not a major problem. The description covers the operation, the id source, and a key behavioral distinction. It could be slightly more complete with explicit sibling differentiation, but it is sufficient for reliable 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?

The input schema already documents the 'id' parameter well, so the baseline is 3. The description adds value by tying parameter choice to behavior: passing a view id results in a read-only graph. This is actionable semantic information beyond the schema's format-only description.

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

Purpose4/5

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

The description states a specific verb, 'Load', a specific resource, 'cloud Artifacts graph', and the lookup mechanism ('by edit or view id'). This clearly distinguishes it from create/export/discard siblings. However, it does not explicitly differentiate it from the closely related artifacts_get or roadflow_open_shared tools.

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

Usage Guidelines3/5

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

The description implies when to use this tool: when you have a shared Artifacts edit or view id. The phrase 'View links are read-only' gives a practical usage constraint. But it does not explicitly state when to prefer this tool over alternatives such as artifacts_get or roadflow_open_shared.

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

artifacts_statusArtifacts workspace statusBInspect

Return mode, ids, /artifacts/?id= URLs, and node/label counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. The verb 'Return' plus the title 'status' strongly imply a read-only operation, and the description lists what data is returned. However, it does not explicitly state that the tool makes no modifications, nor does it disclose any edge cases or operational constraints.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the action ('Return') and enumerates exactly what the tool provides. There is no filler, repetition of the title, or redundant content.

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 zero-parameter status tool, the description covers the main return values, which matters because there is no output schema. However, it leaves 'mode' undefined and does not indicate whether counts apply to the current workspace vs. another scope, making the description adequate but not fully self-sufficient.

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

Parameters4/5

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

The tool has zero parameters, so parameter semantics are effectively not applicable. Schema coverage is already complete at 100% and the description correctly avoids inventing unnecessary parameter details, earning the zero-parameter baseline of 4.

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

Purpose4/5

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

The description uses the verb 'Return' and identifies a concrete resource with specific output fields (mode, ids, /artifacts/?id= URLs, node/label counts). This distinguishes it from roadflow_status through the artifact-specific URLs and object names, though 'mode' remains somewhat ambiguous.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool instead of siblings like artifacts_get, artifacts_list_versions, or roadflow_status. The intended context is only implied by the title 'Artifacts workspace status,' not explicitly stated.

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

model_delete_edgeDelete edgeCInspect

Delete a manual edge by edgeId.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
edgeIdYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing side effects, but it only states the basic delete action. It does not say whether deletion is irreversible, what happens when the edge does not exist or is not manual, or whether related data is affected. The phrase 'manual edge' adds one useful scoping behavior but falls short of adequate transparency for a destructive operation.

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 one short, front-loaded sentence with no filler or repetition. It efficiently communicates the core operation, though it is terse enough that some of the missing semantics could have been included.

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

Completeness2/5

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

For a destructive tool with no annotations and no output schema, this description is incomplete: it lacks error/edge-case behavior, the role of the optional id parameter, and any mention of what happens to non-manual edges. The sibling list clarifies some context, but the description itself does not provide a complete operational picture.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must supply parameter meaning, but it only explains edgeId and says nothing about the optional 'id' property. The required edgeId is described as the deletion key, yet its format and the role of 'id' remain ambiguous. This partially compensates for the schema gap but not enough.

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

Purpose5/5

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

The description states a specific verb ('Delete'), a specific resource ('manual edge'), and an identifier ('edgeId'), which clearly distinguishes it from sibling delete_node, get_edge, patch_edge, and upsert_edge operations. It is not a tautology despite the name, because it narrows deletion to manual edges.

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

Usage Guidelines2/5

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

There is no guidance on when to choose this tool over alternatives; the only contextual hint is 'manual edge', which implies non-manual edges are handled elsewhere. It never says 'use model_patch_edge to modify instead' or 'use model_delete_node for nodes'. The agent must infer usage entirely from sibling names.

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

model_delete_observationDelete observationCInspect

Delete one fact by parameterId + scope/scopeKey + setId.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
scopeNo
setIdNo
scopeKeyNo
parameterIdYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description alone must disclose destructive behavior. It only states that one fact is deleted and gives no detail about hard-delete semantics, scope/scopeKey defaults, required combination vs. optional `id`, cascading, or error behavior. This is a significant gap for a mutation tool.

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 single sentence is compact and front-loads the action and key. It could be improved by incorporating the missing `id` semantics and usage conditions without becoming bloated.

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

Completeness2/5

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

For a destructive tool with five parameters, no annotations, and no output schema, this description is too thin. An agent lacks enough information to know whether an `id` can be used, what happens with partial keys, or what a successful deletion returns.

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

Parameters3/5

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

The description adds semantic meaning to parameterId, scope, scopeKey, and setId by framing them as the composite key of the fact. However, it does not explain the optional `id` property, and it implies parameterId + scope/scopeKey + setId are needed while the schema marks only parameterId as required.

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 action ('Delete one fact') on the observation resource and names the composite key, which differentiates it from model_delete_edge and model_delete_parameter. It is clear but not fully precise because the description uses 'fact' while the title says 'observation' and omits the `id` parameter, leaving some ambiguity about the deletion target.

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

Usage Guidelines2/5

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

No guidance on when to choose this tool over siblings such as model_upsert_observation, model_list_observations, or model_delete_parameter. There are no exclusions, prerequisites, or alternative conditions, so an agent must infer usage from the name.

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

model_delete_parameterDelete parameterBInspect

Delete a parameter and its observations (cascade).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
parameterIdYes

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does disclose the key destructive side effect—deleting observations via cascade—but it does not mention irreversibility, permissions, or failure behavior. This is partial transparency.

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

Conciseness5/5

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

The description is a single clear sentence with no filler. The core action and cascade behavior are front-loaded and every word earns its place.

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 is simple and the schema marks parameterId as required, so an agent could likely invoke it. However, the optional 'id' parameter is unexplained, there is no irreversibility warning, and no usage context is provided despite having no annotations or output schema.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning for either parameter. It does not explain the difference between 'id' and 'parameterId,' nor clarify which identifier should be used for the parameter.

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

Purpose5/5

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

The description uses a specific verb 'Delete' and explicitly names the resource ('a parameter') plus its scope ('and its observations (cascade)'). This clearly distinguishes it from parameter get/list/upsert 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 Guidelines2/5

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

The description gives no guidance about when to use this tool versus alternatives, and it names no sibling tools. Usage is only implied by the verb 'Delete,' with no when-not-to-use or alternative routing.

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

model_discardDiscard Model sessionAInspect

Unbind the Model project from this MCP session. Does not delete MySQL rows.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It explicitly clarifies that the operation is non-destructive to stored data, which is especially valuable because the tool name 'discard' could imply deletion. This is concise and meaningful behavioral context.

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

Conciseness5/5

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

The description is two short sentences: the primary action is front-loaded, followed by a single clarifying negative. Every word earns its place, and there is no redundant phrasing or repetition 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 no-parameter session-management tool with no annotations and no output schema, the description provides the essential facts: what it unbinds and what it does not do. It could optionally mention consequences for unsaved in-memory changes, but the current level 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?

The tool has zero parameters and the schema coverage is 100% (empty schema). The description adds no parameter details because none are needed; the baseline for a zero-parameter tool is appropriate here.

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

Purpose5/5

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

The description states a specific action ('Unbind the Model project from this MCP session') with a clear resource and scope. The addition 'Does not delete MySQL rows' distinguishes it from destructive operations like the model_delete_* siblings.

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 clearly implies when to use the tool: when the agent wants to end the Model project's attachment to the current MCP session. It provides an important boundary by stating it does not delete MySQL rows, though it does not explicitly name an alternative tool for deletion.

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

model_evaluateEvaluate Model computeAInspect

Read-only computeModel. Does not write MySQL. View ids allowed. Default period is calendar start (not today). periodId and range* are mutually exclusive. Cell cap 2000.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
setIdNo
sliceNo
periodIdNo
rangeEndNo
rangeStartNo
includeEmptyNo
parameterIdsNo
includeInputsNo

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it delivers meaningful behavioral context: read-only semantics, no MySQL writes, permission scope, default period behavior, mutual exclusivity, and a cell cap of 2000. This goes well beyond a bare restatement of purpose, though it still omits details about return structure or failure behavior.

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?

Every sentence earns its place: read-only safety, write scope, permissions, default behavior, a constraint, and a boundary limit. The description is compact, front-loaded with the most important trait, and contains no filler or redundant explanation.

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?

Given the high parameter count, nested slice object, absence of annotations, and lack of an output schema, the description is not fully complete. It captures key constraints and defaults but leaves many parameter meanings and the return shape undocumented, so an agent may still need to infer important calling details.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It adds valuable semantics for periodId and range* by noting mutual exclusivity and the default period, but it does not clarify id vs setId, slice, includeEmpty, parameterIds, or includeInputs. With 9 parameters, this leaves substantial ambiguity unresolved.

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

Purpose4/5

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

The description clearly identifies a read-only compute operation on a model, immediately distinguishing it from sibling mutation tools like model_upsert_parameter. The phrase 'Does not write MySQL' reinforces the non-mutating scope. It does not fully explain the term 'computeModel' but the intent is unambiguous enough.

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

Usage Guidelines3/5

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

The description provides useful usage constraints such as 'View ids allowed', 'Default period is calendar start (not today)', and 'periodId and range* are mutually exclusive'. However, it does not explicitly state when to use this tool versus alternatives or when not to use it, leaving much of the routing decision to implication.

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

model_getGet Model registerAInspect

Hydrate records from MySQL. include=summary (default counts), dictionaries, parameters, observations, edges, or all. Prefer model_upsert_observation to change one fact — do not treat this as a blob to rewrite.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
includeNoDefault summary

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the burden, and it does provide meaningful behavioral context: data comes from MySQL, include controls what gets hydrated, summary defaults to counts, and this tool should not be treated as a rewrite path. It does not mention error behavior or cost of selecting 'all', but the read-only intent is reasonably clear from 'Hydrate' and the explicit caution against rewriting.

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 compact: two sentences, no redundant filler, and the most important behavioral caution is placed at the end. The include list is a little run-on, but every phrase earns its place.

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 tool with no output schema and only 50% parameter schema coverage, the description is helpful but not complete. It explains include options and the default, but it does not clarify what id refers to, whether id can be omitted, or what the returned hydration structure looks like.

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

Parameters3/5

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

The description adds useful semantics to the include parameter by explaining the default 'summary' means counts and listing the meaningful sub-resource options. However, the id parameter is left entirely to inference, and with 50% schema description coverage, that is a real gap.

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

Purpose4/5

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

The description uses a concrete action ('Hydrate records') and lists the included sub-resources (dictionaries, parameters, observations, edges, all), which distinguishes it from targeted siblings like model_get_parameter or model_list_observations. The resource is slightly vague ('records' rather than 'the model register'), but the title and include list clarify the intended scope.

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

Usage Guidelines4/5

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

The description explicitly names model_upsert_observation as the alternative for changing a single fact and warns against rewriting the hydrated blob. However, it does not contrast this tool with the various model_list_* getters, so an agent must infer when the broad hydration path is preferable to a narrower list call.

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

model_get_parameterGet parameterCInspect

One catalog row plus its observations (facts).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
parameterIdYesStable id, e.g. PRJ.FACILITY_MW

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It does add value by describing the return composition ('one catalog row plus its observations/facts'), which is useful since there is no output schema. However, it does not state read-only behavior, error cases, permissions, or what happens when the parameter is not found.

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, front-loaded sentence with no filler. 'facts' in parentheses is a helpful clarification, and every word earns its place, though the brevity contributes to the lack of completeness elsewhere.

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

Completeness2/5

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

Given no output schema, no annotations, two parameters, and a large sibling-tool set, this one-phrase description is insufficient. It conveys only the basic return shape and omits invocation context, identifier semantics, and behavior around missing or invalid inputs.

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

Parameters2/5

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

The description adds no meaning about the parameters themselves. The input schema documents 'parameterId' with an example, but the optional 'id' is left unexplained in both the schema and the description, and the relationship between the two identifiers is not clarified.

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

Purpose4/5

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

The description makes clear that the result is one catalog row plus its observations, and the title supplies the action ('Get'). It is not a tautology and the singular framing helps distinguish it from list-style siblings, though it doesn't explicitly name the parameter resource or differentiate from similar getters.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of alternatives. None of the sibling tools are mentioned, and no conditions or exclusions are given, so the agent must infer selection from the tool name alone.

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

model_list_dictionariesList dictionariesCInspect

Streams, axes (members), phases, parameter sets, chains, and calendar. Period members may be derived from calendar.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full behavioral burden. It does add one useful trait, that period members may be derived from calendar, but it does not disclose whether the operation is read-only, what the response structure is, how the optional id affects results, or whether any computed/derived values appear. This is a significant gap for a no-annotation tool.

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 short and front-loaded with the main content categories. It has no filler, though the second sentence is terse and could be clearer. Under-specification slightly reduces the value but the writing itself is concise.

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

Completeness2/5

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

With no output schema, no annotations, and an undocumented optional parameter, the description leaves important context missing: what the returned 'dictionaries' look like, how id filters the listing, and why the calendar derivation matters. An agent cannot confidently predict the tool's behavior from this alone.

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

Parameters1/5

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

Schema description coverage is 0%, and the description never mentions the single 'id' parameter or its role. Since the tool has one parameter and no schema documentation, the description needed to compensate but does not.

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

Purpose4/5

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

The description names a clear verb and resource: 'List dictionaries', and enumerates the content domains (streams, axes/members, phases, parameter sets, chains, calendar). It does not explicitly differentiate this tool from siblings like model_list_edges or model_list_observations, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives, and no conditions or exclusions are provided. The optional 'id' parameter is not explained, leaving the intended selection criteria unclear. The phrase 'Period members may be derived from calendar' hints at a relationship but does not explain usage context.

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

model_list_edgesList edgesAInspect

Manual lineage edges only (SOURCE/FLOW/INTERFACE). FORMULA edges are derived from formulas on load — not stored.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
toIdNo
fromIdNo
edgeTypeNo

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral disclosure burden. It reveals the non-obvious fact that FORMULA edges are derived on load and therefore not present in this list. It does not mention pagination or response format, but the most important behavioral caveat is disclosed.

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

Conciseness5/5

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

The description is one tight sentence that front-loads the tool's scope and then states the critical exclusion. Every word earns its place, with no redundant phrasing or restating of the title.

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

Completeness2/5

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

The description captures the key domain rule about manual versus formula edges, but it leaves the four optional parameters completely unexplained and there is no output schema to clarify the return shape. For a list tool with no annotations and no parameter documentation, an agent still lacks enough context to know how filtering works.

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

Parameters1/5

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

The schema provides zero parameter descriptions, and the description adds no meaning for id, toId, fromId, or edgeType. The parenthetical merely repeats the enum values already present in the schema, so an agent cannot tell whether these parameters are filters, identifiers, or something else.

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 names a specific operation ('List edges') and immediately scopes it to 'Manual lineage edges only (SOURCE/FLOW/INTERFACE)', which clearly distinguishes it from any generic edge listing. It also explicitly explains that FORMULA edges are not stored, so there is no ambiguity about what the tool returns.

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 clearly indicates when this tool is appropriate: for manual lineage edges, not derived FORMULA edges. It stops short of naming an explicit alternative for retrieving formula edges, but the context makes the boundary clear.

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

model_list_observationsList observationsAInspect

List facts. Filter by parameterId, setId, evidenceStatus. Sets are a column (Base/Downside/Upside), not an axis.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
setIdNo
parameterIdNo
evidenceStatusNo

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are present, so the description carries the behavioral disclosure burden. It discloses the non-obvious set-as-column behavior and the filtering capabilities, but does not mention return shape, ordering, pagination, or error behavior. 'List facts' implies a read-only operation, which provides minimal transparency.

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

Conciseness5/5

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

Two short sentences with the core action front-loaded and no filler. The filter note and the set-column clarification are both high-value and earn their place.

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?

Adequate for a simple list operation but not fully complete: with no output schema, the return format is unspecified; the id filter is undocumented even in the description; and 'facts' is vague. Still, the essential list/filter/set semantics are present.

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

Parameters3/5

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

Schema description coverage is 0%, so the description must compensate. It maps parameterId, setId, and evidenceStatus to filter semantics and adds meaning to setId via the column clarification. However, the id parameter is not mentioned, and evidenceStatus values/format are not described.

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 the action ('List') and the resource ('facts', i.e. observations), and names the supported filters. It is distinguishable from sibling list tools like model_list_parameters and model_list_edges by the resource type, though 'facts' is informal and does not precisely define what an observation is.

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 clear filter context and disambiguates the setId semantics with 'Sets are a column, not an axis', which prevents a common misuse. No explicit alternatives or when-not-to-use guidance, but for a list tool with obvious siblings, the filter guidance is sufficient.

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

model_list_parametersList parametersBInspect

List parameter catalog rows. Optional filters: streamId, role, layer, primaryOwner.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
roleNo
layerNo
streamIdNo
primaryOwnerNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the burden of explaining behavior. It discloses that the tool lists parameter catalog rows and that several properties act as optional filters, but it does not describe filter combination semantics, pagination, ordering, or what the returned data looks like.

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

Conciseness5/5

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

The description is two short sentences with no filler. The core action is front-loaded, and the optional filter list is compact and scannable.

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 simple read/list tool with no required parameters and no nested objects, the description is mostly adequate for invocation. However, the missing output schema and the lack of parameter detail for all five fields leave some ambiguity about the response shape and the exact meaning of each filter.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the lack of parameter documentation. It names four of the five properties and marks them as optional filters, but it does not explain their meaning or value formats, and it omits the 'id' property entirely.

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

Purpose4/5

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

The description states a clear verb and resource: 'List parameter catalog rows.' It also names the main filter fields, which helps identify the tool's purpose. It does not explicitly contrast it with model_get_parameter or other sibling list tools, so differentiation relies mostly on the resource name.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as model_get_parameter or model_upsert_parameter. The only usage hint is that filters are optional, which implies it can be used for full or filtered listing but provides no exclusions or selection criteria.

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

model_newNew Model registerAInspect

Create a Model project in MySQL (parameter register). Allocates a view id (mv-…) when omitted and returns viewUrl. Optional seed: title, calendar, streams, axes, phases, parameterSets, chains, parameters, observations, edges. Does not persist CALC outputs or FORMULA edges. Binds this MCP session. UI: /model/?id=…

ParametersJSON Schema
NameRequiredDescriptionDefault
axesNo
edgesNoManual SOURCE/FLOW/INTERFACE only
titleNo
chainsNo
phasesNo
viewIdNo
streamsNo
calendarNo{ granularity, start, end }
parametersNoCatalog rows (parameterId, streamId, role, formula, attrs, …)
observationsNoFacts: parameterId, scope, setId, value, evidence, source
parameterSetsNo

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does exceptionally well: it discloses side effects (allocates a view id, binds the MCP session), limitations (does not persist CALC outputs or FORMULA edges), and the primary return value (viewUrl). This is strong behavioral detail for a mutation tool.

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

Conciseness5/5

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

The description is compact and front-loaded: the core action comes first, followed by id allocation, the seed list, the persistence caveat, and the UI link. Every sentence earns its place 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?

For a tool with no output schema and no annotations, the description covers a lot: purpose, optional parameters, key output, a persistence limitation, session binding, and a UI reference. It stops short of documenting the full response shape beyond viewUrl and detailed seed structures, but it is reasonably complete for a create action with zero required 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?

The description enumerates all the optional seed categories, matching the 11 schema parameters and clarifying they are optional. However, schema description coverage is only 36%, and the description does not define the structure or allowed contents for most arrays (axes, streams, chains, parameterSets, etc.), leaving agents with names but not enough syntax detail.

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 and resource: 'Create a Model project in MySQL (parameter register)'. It also states the key output (viewUrl) and the optional seed payload, making the tool's role clear and distinct from roadflow/artifacts creation siblings.

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 create semantics clearly indicate when to use this tool versus model_get, model_patch_project, model_discard, and related update/query tools. It does not explicitly name alternatives or exclusion conditions, but the context is clear enough for an agent to select it for creating a new Model project.

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

model_openOpen Model registerAInspect

Bind this MCP session to an existing Model project (edit or view id). View ids are read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesProject edit id (mp-…) or view id

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description must carry the behavioral disclosure burden. It does disclose the state-changing action ('Bind this MCP session') and the read-only nature of view ids. However, it does not explain side effects on any previously bound session, required permissions, or what happens after binding.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the core action, the target resource, and an important read-only caveat. There is no filler or redundant information.

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?

Given the simple one-parameter schema, the description covers the main purpose adequately. However, with no annotations and no output schema, it leaves some gaps around the tool's return behavior, error conditions, and the exact effect of replacing an existing session binding.

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

Parameters3/5

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

Schema description coverage is 100%, and the schema already documents the id parameter as 'Project edit id (mp-…) or view id.' The description reinforces this by mentioning edit or view ids and the read-only distinction, but adds no new parameter-level details beyond the schema.

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

Purpose5/5

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

The description states a specific verb and resource: 'Bind this MCP session to an existing Model project.' This clearly distinguishes the tool from siblings like model_new, model_get, and model_status by emphasizing session binding rather than creation, retrieval, or status checking.

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 for use: it binds to an existing project and clarifies that view ids are read-only, which helps an agent choose between edit and view ids. It does not explicitly name alternative tools or state when not to use it, so it stops short of a 5.

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

model_patch_projectPatch Model dictionariesBInspect

Update title, calendar, viewId, streams, axes, phases, parameterSets, and/or chains. Send If-Match via rev. Replaces each provided dictionary in full.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
revNoExpected project rev (If-Match)
axesNo
titleNo
chainsNo
phasesNo
viewIdNo
streamsNo
calendarNo
parameterSetsNo

TDQS

B3.1/5.0
Behavior3/5

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

There are no annotations, so the description must carry the behavioral burden. It does disclose the optimistic concurrency requirement (If-Match via rev) and the important patch semantics that each provided dictionary is replaced in full. It does not mention permissions, side effects, or return behavior, but the core replacement and concurrency behavior is clearly communicated.

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 compact and front-loads the list of updatable fields before stating the If-Match and replacement behavior. It wastes no words, though the mention of 'parameterSets' without schema support creates ambiguity that slightly reduces structural clarity.

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

Completeness2/5

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

Given no annotations, no output schema, and nine parameters with mostly missing schema descriptions, this description is not complete enough for reliable invocation. It does not explain the role of 'id' or most dictionary contents, and the 'parameterSets' mismatch leaves the agent with an unanswered question about the actual accepted input.

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

Parameters2/5

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

Schema description coverage is very low: only 'rev' has a description. The tool description lists most parameter names but adds little semantic detail about their expected formats or contents, and it even mentions 'parameterSets,' which does not appear in the schema. Arrays and objects like axes, streams, calendar, and chains remain effectively undocumented.

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

Purpose4/5

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

The description states a specific action ('Update') and enumerates the exact fields involved (title, calendar, viewId, streams, axes, phases, parameterSets, chains), which makes the tool's purpose reasonably clear. However, it does not explicitly name the project resource or contrast itself with the model_upsert_* siblings beyond implying multi-dictionary updates.

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

Usage Guidelines3/5

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

The description implies that this tool is for updating one or more project dictionaries at once, and it provides the key mechanism 'Send If-Match via rev.' It does not explicitly state when to prefer this over model_upsert_parameter or model_upsert_observations, nor does it mention exclusions or prerequisites.

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

model_statusModel register statusBInspect

Counts, rev, and /model/?id= URLs for the bound project (or pass id).

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the burden of disclosing behavior. It only lists output content and gives no indication of whether this is read-only, whether it requires special permission, or if it has any side effects. For a status tool this is likely safe, but that is not explicitly stated.

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

Conciseness5/5

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

The description is a single sentence with no filler words. It prioritizes the core outputs and scope. While telegraphic, every word contributes; this is concise rather than verbose.

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 simple one-parameter tool with no annotations and no output schema, the description gives the essential outputs and scoping. However, domain-specific terms like 'bound project' and 'rev' are undefined, and it is not clear what the returned URLs/counts describe. It is adequate but leaves gaps an agent may need to infer.

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 0%, but the description does add meaning to the 'id' parameter by indicating it is optional ('or pass id') and that it scopes the call away from the bound project. It still leaves the exact nature of 'id' (e.g., model id? project id?) and format unspecified.

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

Purpose4/5

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

The title 'Model register status' plus the description's enumeration of outputs ('Counts, rev, and /model/?id= URLs') make it clear this tool reports status information for models. It lacks an explicit verb and doesn't contrast with sibling tools, but the resource and scope are identifiable.

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 'for the bound project (or pass id)' offers context on when to use the tool and suggests the id parameter as an alternative scope. However, it does not name any sibling tools as alternatives or state when NOT to use this tool, so guidance is implied rather than explicit.

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

model_upsert_edgeUpsert edgeBInspect

Create or patch a manual SOURCE, FLOW, or INTERFACE edge. FORMULA is rejected.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
revNo
toIdNo
labelNo
ownerNo
edgeIdYes
fromIdNo
edgeTypeNo
conditionNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries full responsibility for behavior; it does disclose the upsert-style mutation and the manual-only constraint with FORMULA rejection. It does not mention auth requirements, idempotency behavior, revision handling, or what happens on conflicting writes, leaving some behavioral gaps.

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?

Two tightly written sentences with no wasted words; the key constraint (manual and FORMULA-rejected) is front-loaded. It could be slightly expanded to cover parameter meaning without sacrificing conciseness.

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

Completeness2/5

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

Given 9 parameters, no output schema, and no annotations, the description is too thin to let an agent invoke the tool correctly with confidence. It makes the purpose clear but omits parameter roles, revision/conflict behavior, and return expectations.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only adds meaning for edgeType by restricting to SOURCE, FLOW, or INTERFACE and rejecting FORMULA. Parameters like edgeId, fromId, toId, condition, label, owner, id, and rev are left entirely unexplained by the description.

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 resource (manual edges) and operation (create or patch), and enumerates acceptable edge types (SOURCE, FLOW, INTERFACE) while explicitly excluding FORMULA. This clearly distinguishes it from sibling tools like model_upsert_observation and model_upsert_parameter.

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

Usage Guidelines3/5

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

The description implies this is the tool for creating or modifying edges, and the FORMULA exclusion tells the agent what is not allowed. However, it does not explicitly mention alternatives (e.g., model_list_edges for listing, model_delete_edge for deletion) or state conditions that would make another tool preferable.

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

model_upsert_observationUpsert observationAInspect

Create or replace one fact (parameterId + scope + setId). Example: Base P2 facility MW. Do not write CALC-computed values; only IN facts or CALC overrides (valueOverride). Pass rev for If-Match.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
revNo
scopeNoaxisId → memberId, e.g. { "Phase_ID": "P2" }
setIdNoBase (default), Downside, Upside, or custom
valueNo
sourceNo{ sourceId, locator, date, owner, allowedUse }
scopeKeyNo
parameterIdYes
valueLockedNo
valueOverrideNo
evidenceStatusNo

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses upsert/replce semantics, the allowed fact types, and the conditional If-Match behavior via rev. It does not mention auth requirements, side effects on derived CALC values, or what happens when no rev is supplied, but it gives much more than a minimal mutation description.

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 compact sentences front-load the core operation, then add a concrete example and the critical restrictions. Every sentence earns its place, and no schema information is redundantly repeated.

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 an 11-parameter mutation tool with no annotations and no output schema, this description provides the essential upsert model and constraints but is not fully complete. It does not describe the value property, the nested source contract, identity fields like scopeKey/id, or failure behavior without a rev, leaving advanced calls partially underspecified.

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

Parameters3/5

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

Schema description coverage is only 27%, so the description must compensate. It clarifies the composite identity (parameterId + scope + setId) and the meaning of valueOverride and rev, but it leaves value, source, evidenceStatus, valueLocked, and scopeKey unexplained; the value parameter is notably absent from the prose despite being central to writing a fact.

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

Purpose5/5

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

States a specific action 'Create or replace one fact' and defines the unique key as parameterId + scope + setId. The wording 'one fact' distinguishes it from the plural sibling model_upsert_observations, and the concrete example 'Base P2 facility MW' anchors the tool to a real use case.

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?

Provides explicit usage constraints: only IN facts or CALC overrides (valueOverride) should be written, not CALC-computed values, and rev should be passed for If-Match. It does not explicitly name the plural sibling for batch usage, so it stops short of complete alternative routing.

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

model_upsert_observationsBulk upsert observationsAInspect

Create or replace many facts (cap 400). Same body shape as model_upsert_observation. Rejects CALC outputs unless valueOverride. continueOnError returns per-row errors; otherwise one transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
observationsYesFacts (parameterId, scope, setId, value, …)
continueOnErrorNo

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so very well. It discloses that the operation is create-or-replace, enforces a 400-item cap, rejects CALC outputs without valueOverride, and clarifies transaction semantics: per-row errors with continueOnError versus a single transaction otherwise. This is substantial behavioral context beyond the bare fact of an upsert.

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

Conciseness5/5

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

The description is compact and front-loaded: the core action and cap appear in the first sentence, followed by two sentences of high-value behavioral notes. There is no fluff or redundant restating of the schema.

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

Completeness4/5

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

Given the moderate complexity and the absence of annotations and output schema, the description covers the most important operational details: batch size, transaction behavior, CALC restriction, and error handling. It falls slightly short on explaining the optional id field and the exact response shape, but the referenced sibling tool helps fill those gaps.

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 description coverage is only 33%, so the description must compensate. It does add real meaning: continueOnError's effect is explained, and the 'same body shape as model_upsert_observation' line tells the agent how to structure each observation. However, the optional top-level id parameter is left undocumented, and the description does not fully spell out the observation item fields.

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

Purpose5/5

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

The description states a specific verb-resource pair: create or replace many facts, with a clearly defined batch scope (cap 400). The title 'Bulk upsert observations' and the phrase 'many facts' distinguish this from the singular sibling model_upsert_observation without ambiguity.

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

Usage Guidelines4/5

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

The description gives clear context for using this tool: it is for bulk upserts of many observations and explicitly references model_upsert_observation for body-shape compatibility. It also provides a usage constraint (rejects CALC outputs unless valueOverride) and explains continueOnError behavior, though it does not explicitly enumerate when to prefer this over other sibling tools.

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

model_upsert_parameterUpsert parameter catalogAInspect

Create or patch one parameter definition (not observations). Pass rev for If-Match on update.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
revNo
nameNo
roleNo
unitNo
attrsNoname, definition, unit, scopeAxes, SBC fields, comments, …
layerNo
commentNo
formulaNo
domainIdNo
priorityNo
streamIdNo
scopeAxesNo
valueTypeNo
assignedWsNo
definitionNo
canonicalIdNo
parameterIdYes
primaryOwnerNo
economicClassNo
adjustmentKindNo
qtyParameterIdNo
rateComponentsNo
rateParameterIdNo

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It does add useful behavior: it clarifies upsert semantics (create vs patch) and the If-Match/rev requirement on update. However, it does not mention permissions, failure behavior when rev is missing, partial-patch semantics, side effects, or response behavior, so disclosure is only partial.

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

Conciseness5/5

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

The description is two short sentences with no filler. The core action and resource are front-loaded, and the rev detail is scoped to updates. Every sentence earns its place.

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

Completeness2/5

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

For a mutation tool with 24 parameters, no annotations, and no output schema, two sentences are not enough. The description lacks guidance on which fields are needed for create vs patch, the role of the required parameterId, and the meaning of the many optional fields. It is a skeleton definition rather than a complete one.

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

Parameters2/5

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

Schema description coverage is only 4% across 24 parameters, so the description needed to compensate for the many undocumented fields. It does add meaning to rev ('If-Match on update'), but almost all other parameters such as parameterId, role, unit, formula, and scopeAxes remain unexplained. This is insufficient for the low coverage.

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

Purpose5/5

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

The description uses specific verbs ('create or patch') and a specific resource ('one parameter definition'), and explicitly excludes observations, which separates it from model_upsert_observation and model_upsert_observations. The singular 'one' also distinguishes it from the plural model_upsert_parameters, even though that sibling is not named explicitly.

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: use it for one parameter definition, not observations, and pass rev on update for If-Match. It provides an explicit when-not for observations, but it does not name alternative tools such as model_upsert_parameters for bulk operations or model_upsert_observation for observations, so routing still depends partly on sibling-name inference.

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

model_upsert_parametersBulk upsert parametersAInspect

Create or patch many catalog rows (cap 400). Same body shape as model_upsert_parameter. continueOnError returns per-row errors; otherwise one transaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo
parametersYesCatalog rows (parameterId + same fields as model_upsert_parameter)
continueOnErrorNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the burden of disclosing effects. It reveals the batch cap, the transaction behavior when continueOnError is false, and the per-row error behavior when true. It does not fully explain failure responses or cap-violation handling, but the core operational behavior is clear.

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 compact sentences with no filler. The cap is front-loaded in the first sentence, the body-shape reference is brief, and the error-mode distinction is presented in one clause. Every sentence earns its place.

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?

The description captures the essential contract: batch size cap, payload shape, and the two error-handling modes. Given there is no output schema and no annotations, this is reasonably complete, though a description of the id parameter and the exact success response shape would make it fully self-contained.

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

Parameters3/5

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

The description adds meaning for continueOnError ('per-row errors' vs 'one transaction'), which is not in the schema. However, the optional id parameter is left unexplained, and the 'same body shape' reference depends on another tool's documentation. With only 33% schema description coverage, this is partial compensation.

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 the action ('Create or patch'), the resource ('many catalog rows'), and an important constraint ('cap 400'). It clearly distinguishes this bulk endpoint from the singular model_upsert_parameter via the word 'many' and the cap.

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 phrase 'many catalog rows' plus the 400-row cap makes it clear this is for batch operations, and the sibling tool name model_upsert_parameter implies the single-row alternative. It does not explicitly say 'use model_upsert_parameter for one row' or state when not to use this tool, so it stops short of a 5.

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

roadflow_apply_jsonApply JSON stateAInspect

Replace workspace state with normalized JSON (serializeState shape). In shared edit mode, saves to the cloud automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonNoFull or partial map state object, or JSON string
mergeNoIf true, deep-ish merge timeline/display and replace roads from payload

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It does disclose the destructive behavior ('Replace workspace state') and the cloud-autosave side effect in shared mode, which is useful. However, it does not mention whether this is reversible, whether it triggers an export, or what happens to unsaved data in non-shared mode—gaps that matter for a state-replacing tool.

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?

Two sentences, front-loaded with the primary action and format. The second sentence adds the shared-mode cloud behavior as a meaningful condition. Slightly lean given there is no annotation coverage to back it up, but no wasted 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?

For a state-replacing tool with zero annotations and no output schema, the description covers the core action and the shared-mode caveat but omits important behavior: reversibility, prerequisites (e.g., must a workspace be active/open first?), and error conditions. Sibling tools like roadflow_status and roadflow_open_shared suggest state management context, but the description doesn't link usage to that flow.

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 100%, so the JSON schema already describes both parameters. The description adds value by clarifying the expected JSON shape ('serializeState shape') and on the schema's json parameter states 'Full or partial map state object', which is meaningful beyond the schema. The merge flag's deep-ish merge behavior is described in the schema, not the description, but the description's shape hint is genuinely additive.

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

Purpose4/5

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

The description uses a specific verb ('Replace') plus a clear resource ('workspace state') with a format qualifier ('normalized JSON / serializeState shape'). This clearly distinguishes it from siblings like roadflow_apply_markup (which applies markup form, not JSON). However, the term 'serializeState shape' could be clearer, and 'Full or partial' in the schema suggests partial replaces are allowed, which slightly muddies the 'Replace' verb in the description.

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 when-context by specifying the input format (serializeState-shaped JSON), and notes the shared edit mode auto-saves to cloud, which distinguishes this from non-shared workflows like roadflow_export_json (read) and roadflow_new (fresh state). The merge parameter is mentioned in the schema but not elaborated in the description as a usage discriminator, so no explicit when-not-to-use guidance is given.

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

roadflow_apply_markupApply markupBInspect

Replace roads via friendly markup (same as the editor panel). Shared edit mode auto-saves.

ParametersJSON Schema
NameRequiredDescriptionDefault
markupYesFriendly roadflow markup text

TDQS

B3.2/5.0
Behavior3/5

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

With no annotations provided, the description must carry the full burden. It does disclose that shared edit mode auto-saves, a useful side-effect clue. However, it doesn't state whether the operation is destructive (does it overwrite existing roads?), what happens on failure, or whether it requires a loaded document — gaps for a mutation tool with zero annotations.

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?

Two sentences, zero filler. It front-loads the core action ('Replace roads via friendly markup') then adds the format reference and auto-save side effect. Each sentence earns its place, though the description is brief enough that more useful guidance could be added without harming conciseness.

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

Completeness2/5

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

For a mutation tool (apply/replace) with no annotations and no output schema, this description is thin. It doesn't explain what the markup format supports, whether edits are destructive, what the return/response is, or how it relates to workflows involving create_shared/open_shared/create_new/discard. The auto-save note is helpful but incomplete for a state-changing 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 100% with a single 'markup' parameter documented as 'Friendly roadflow markup text'. The description adds the key clarification that the markup matches the editor panel's format, which meaningfully augments the bare 'friendly roadflow markup text' schema description. For a single simple param, this is adequate.

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

Purpose3/5

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

The description states 'Replace roads via friendly markup' which is a clear verb+resource, distinguishing it from roadflow_apply_json (the JSON alternative). However, it doesn't detail what kinds of markup operations are supported (add, remove, modify roads) beyond 'replace', leaving scope ambiguous compared to the sibling apply_json tool.

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?

'Same as the editor panel' gives helpful context that markup format matches the UI, and mentions shared edit mode auto-saves. However, it doesn't explicitly say when to use this tool vs roadflow_apply_json, when not to use it, or mention shared mode vs the open_shared/create_shared distinction which sibling names suggest.

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

roadflow_create_sharedCreate shared roadflowAInspect

Persist the current workspace to the cloud (permanent share). Returns editUrl (play/edit/share further) and viewUrl (visual canvas, read-only). Prefer viewUrl when the user only needs to see the map.

ParametersJSON Schema
NameRequiredDescriptionDefault
editIdNoOptional edit id (default: random rm-…)
viewIdNoOptional view id (default: random rm-…)

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries some burden. It describes the behavior (persist to cloud, creates two URLs) and the edit/view distinction. But it doesn't disclose whether the share is permanent/reversible, any ephmeral aspect of editUrl, or content that gets publicized. The word 'permanent share' hints at persistence but the reversibility/side effects aren't explained.

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 concise sentences with zero waste. Front-loads the main action, names the two key return values, and ends with concrete usage guidance. Every sentence earns its place.

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 2-param tool with 100% schema coverage, the description is reasonably complete. It explains both return values and gives usage guidance. However, with no output schema and no annotations, it doesn't fully clarify what the editUrl vs viewUrl look like or what the visual canvas entails, and whether sharing is reversible.

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%, so both parameters (editId and viewId) are documented in the schema. The description adds context that these correspond to editUrl and viewUrl but doesn't add meaningful detail about how to construct/use custom ids that isn't evident from the schema. Baseline 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description clearly states the verb+resource ('Persist the current workspace to the cloud') and distinguishes this from siblings by noting it creates a 'permanent share'. It mentions the two return values (editUrl and viewUrl). It doesn't fully differentiate from open_shared or the export tools, but the core purpose is clear and specific.

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?

Provides explicit guidance: 'Prefer viewUrl when the user only needs to see the map.' This directly helps the agent choose which returned URL to use. However, it doesn't state when to use this vs. alternatives like export_json or open_shared, or note any limits on when sharing is appropriate.

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

roadflow_discardDiscard workspaceAInspect

Clear the in-memory workspace for this MCP session (does not delete cloud maps).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It mentions that cloud maps are preserved, which is useful, but does not describe what happens to the session state, whether changes can be reversed, or if any confirmation is needed. For a destructive action, more transparency about consequences would be warranted.

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

Conciseness5/5

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

The description is a single, tight sentence with no wasted words. Every clause earns its place: 'Clear the in-memory workspace' states the action, 'for this MCP session' scopes it, and the parenthetical 'does not delete cloud maps' adds a critical distinguishing detail.

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 zero-parameter tool with no output schema, the description is reasonably complete. The main gap is the absence of any mention of what happens after discarding (e.g., is the workspace empty, undefined, needs re-initialization) which would be useful given the tool's destructive nature, but the simple interface generally keeps completeness high.

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

Parameters4/5

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

The tool has 0 parameters, and the schema coverage is 100% (trivially, since there are no parameters). The baseline 4 applies for zero-parameter tools. There are no parameter details needed since none exist.

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

Purpose5/5

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

The description clearly states the verb 'clear' with the resource 'in-memory workspace for this MCP session'. It distinguishes itself from related tools by explicitly noting it does NOT delete cloud maps, which differentiates it from persist-related operations among siblings like roadflow_export_* or roadflow_create_shared.

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

Usage Guidelines3/5

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

The description implies usage (when you want to clear session memory) but provides no explicit when/when-not guidance or alternative naming. The parenthetical note about cloud maps gives some context for what won't happen, but there's no explicit statement about when to use this vs. alternatives.

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

roadflow_export_csvExport CSVCInspect

Export steps as CSV (road, goal, lane, step, notes, type, status, position, date).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool exports data (a read-like operation) but doesn't disclose whether this is guaranteed non-destructive, whether it requires an existing road, what happens with no data, or how file downloads/returns are handled. For a zero-annotation tool, this is thin coverage.

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?

A single compact sentence that efficiently conveys the format (CSV) and the field list in parentheses. No wasted words. It earns its place, though a touch more context (return format) could be added.

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 zero-parameter tool with no output schema, the description is moderately complete: it names the output format and all included fields. However, it doesn't clarify whether the CSV is returned inline, written to disk, or offered as a download, and doesn't explain what 'steps' represents in the roadflow domain. Given the simplicity of the tool, this is adequate but with room to close the return-format 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?

The tool has zero parameters and 100% schema coverage (an empty schema correctly signals no inputs). With no params, the baseline is 4 per the rubric. The description lists the exact columns included in the export, which adds useful context beyond the empty schema even though there are no parameters to document.

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

Purpose3/5

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

The description states it exports steps as CSV and lists the included fields (road, goal, lane, step, notes, type, status, position, date). It is distinguishable from siblings roadflow_export_json and roadflow_export_markup by naming the CSV format. However, it doesn't explain what 'steps' means conceptually or what the output is used for, relying on context free of detail.

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

Usage Guidelines2/5

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

No guidance on when to use CSV export versus JSON or Markup export alternatives. The description implies export usage but provides no exclusions, no context for when CSV is preferred, and no mention of prerequisites (e.g., must a road/plan exist first?). Among the export siblings, there's no differentiation guidance.

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

roadflow_export_jsonExport JSONCInspect

Export the current workspace as JSON (serializeState).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. The mention of 'serializeState' adds some transparency about what function it calls, but it doesn't describe the return format, whether this is read-only, size limits, or any side effects. Minimal behavioral context.

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

Conciseness4/5

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

Single sentence, compact, front-loaded with the key verb. The parenthetical '(serializeState)' adds a small implementation hint. Efficient for a zero-parameter export tool, though slightly sparse.

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 zero-parameter export tool, the description is mostly adequate. However, given the export-centric siblings (CSV, markup, JSON) and no output schema, it could clarify what the JSON output structure looks like or how it relates to roadflow_apply_json for round-tripping. Also lacks clarification of read-only nature since no annotations exist.

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

Parameters4/5

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

The tool has 0 parameters with 100% schema coverage (no properties, so nothing undocumented). With zero parameters, the description needs no parameter documentation, and the baseline of 4 applies. Any param information would be irrelevant here.

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

Purpose3/5

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

The description states the verb (export) and resource (current workspace as JSON) clearly, mentioning serializeState for implementation context. However, it doesn't distinguish from sibling roadflow_export_csv and roadflow_export_markup beyond the format name, which is somewhat implicit in the tool name itself.

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

Usage Guidelines2/5

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

No guidance on when to use this vs roadflow_export_csv or roadflow_export_markup. The context signals show 9 siblings including other export tools, yet the description provides no differentiation or when-to-use guidance.

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

roadflow_export_markupExport markupCInspect

Export the current workspace as friendly markup.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden of behavioral disclosure. 'Export' implies a read operation, but the description doesn't state whether this mutates the workspace, whether it produces a file or string, what happens to the represented state, or any side effects. Without annotation coverage, this is a significant gap for an export operation.

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

Conciseness4/5

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

The description is a single, efficient sentence with zero wasted words. However, it's arguably under-specified rather than genuinely concise - the brevity reflects missing content more than careful editing. Still, structurally it front-loads the key information in a clear verb+object pattern.

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?

Given 0 parameters, no output schema, and no annotations, the description alone defines this tool. For a zero-param tool, the core purpose is conveyed, but it doesn't describe what the markup output looks like, how it relates to the sibling apply_markup tool (implying a round-trip workflow), or whether results are returned or written somewhere. Adequate for a simple operation but lacks the connective detail an agent would benefit from.

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

Parameters4/5

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

The tool has 0 parameters, and schema description coverage is 100% (trivially complete since the schema is an empty object). Per the rubric, 0 parameters earns a baseline 4. The description correctly implies there are no configuration options, though it doesn't explicitly state this.

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

Purpose3/5

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

The description 'Export the current workspace as friendly markup' states a specific verb (export), resource (workspace), and format (markup). However, it doesn't distinguish from sibling tools like roadflow_export_csv and roadflow_export_json, though the markup format is inherently different from those. It doesn't clarify what 'friendly markup' means or contrast with the CSV/JSON exports.

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

Usage Guidelines2/5

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

No when-to-use guidance is provided. The description doesn't explain when to choose this export format over roadflow_export_csv or roadflow_export_json, nor does it mention any context where exporting markup would be preferred. No exclusions or alternatives are named.

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

roadflow_getGet workspace snapshotCInspect

Return the current workspace as JSON and/or markup.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoDefault both

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It doesn't state whether this is a read-only snapshot operation, whether it has side effects, what the JSON/markup represents structurally, or how it differs from a full export. For a tool returning workspace data, this is thin coverage.

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

Conciseness4/5

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

One concise sentence that gets straight to the point with no filler. Efficiently sized.

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

Completeness2/5

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

The tool has no annotations and no output schema, so the description must fully explain behavior, which it does not. Sibling ambiguity with export tools, no indication of what 'snapshot' means versus an export, and no behavioral detail all leave significant gaps for such an underspecified tool.

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

Parameters3/5

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

Schema description coverage is 100% — the single 'format' parameter with an enum of json/markup/both is fully documented in the schema. The description adds marginal value by mentioning JSON and markup formats, consistent with the parameter, but nothing beyond that.

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

Purpose3/5

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

The description states the tool returns the current workspace as JSON and/or markup, which is a clear verb+resource. However, it doesn't distinguish this from sibling tools like roadflow_export_json/export_markup that also produce JSON/markup output, so differentiation from closely-related siblings is absent.

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

Usage Guidelines2/5

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

No when-to-use guidance is provided, and no distinction is drawn from the similarly-named export tools (roadflow_export_json, roadflow_export_markup) or the apply tools. An agent has no basis for choosing this over the export siblings.

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

roadflow_get_versionGet version snapshotAInspect

Load one shared-map version by relative index (e.g. -1 newest, -2 previous). Returns JSON state. Does not change the live map or workspace unless load=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
relYesRelative version index: -1 = newest checkpoint, -2 = older, …
loadNoIf true, also replace the current MCP workspace with this version (does not save to cloud).

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses the read-vs-write distinction (load flag) and notes cloud persistence behavior ('does not save to cloud'). However, it doesn't disclose what happens to unsaved local changes when load=true, error behavior for out-of-range indices, or the return structure beyond 'JSON state'.

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 concise sentences, zero wasted words. Front-loads the primary action and index convention first, then the read-only default, and concludes with the load flag caveat. Highly efficient.

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 a 2-param schema at 100% coverage and no output schema, the description competently explains purpose, scope, and the side-effect flag. The main gap is absence of error-behavior context (e.g., what happens with invalid rel indices) and whether return is a full state dump or delta, but for a simple read tool this is reasonably 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 both parameters (rel, load) have descriptions in the schema. The tool description adds the load=true cloud-persistence caveat, which supplements the schema. Baseline 3 is appropriate since the schema already documents both parameters well and the description adds modest extra context.

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?

Description states a specific verb+resource ('Load one shared-map version') with clear indexing semantics (-1 newest, -2 previous). It differentiates from siblings: roadflow_list_versions lists versions while this loads one, and roadflow_get presumably gets the live map. Purpose is unambiguous.

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

Usage Guidelines4/5

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

The description clearly states the load-versus-view distinction: loading by relative index does not change the live map/workspace unless load=true. This provides context for when to use the tool, though it doesn't explicitly name alternative tools or specify when to prefer this over roadflow_list_versions or roadflow_get.

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

roadflow_list_versionsList version historyAInspect

List shared-map version checkpoints (newest first). Relative indexes: -1 = newest. Requires a shared edit workspace (not view-only).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It's a read-only operation (listing) with no side effects described. It mentions ordering ('newest first') and the relative index convention, which is helpful. However, it doesn't disclose what format the returned versions take or whether pagination/limits apply.

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?

Two sentences, both earning their place. The ordering note and the relative index explanation are genuinely useful, and the workspace requirement is critical context. No filler words. Could potentially add a bit more behavioral detail but is appropriately compact.

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?

Simple 0-param read tool, so completeness needs are modest. The description covers purpose, ordering, and prerequisites. However, with no annotations and no output schema, it could hint at what fields appear in the returned list (version IDs, timestamps, commit messages?) to help the agent chain this with get_version. Minor 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?

There are 0 parameters, so schema coverage is trivially 100%. Per rubric, 0 params = baseline 4. The description adds the important convention of relative indexes (-1 = newest), which is semantic context that helps the agent understand how version references work even without parameters here.

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?

Clear verb+resource: 'List shared-map version checkpoints' with ordering specified ('newest first'). Distinguishes from sibling roadflow_get_version (which retrieves a specific version). The relative index convention (-1 = newest) is useful context. However, it doesn't explicitly differentiate from all version-related siblings.

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?

Explicitly states when to use: requires a shared edit workspace (not view-only). This is a clear usage condition/precondition. The sibling context helps differentiate it from get_version. The description gives actionable guidance on prerequisites.

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

roadflow_newNew roadflow workspaceBInspect

Create an ephemeral in-memory roadflow workspace (default). Optional seed JSON and/or markup. No cloud id until create_shared.

ParametersJSON Schema
NameRequiredDescriptionDefault
jsonNoOptional seed state (same shape as serializeState)
markupNoOptional friendly markup to apply after seed/empty

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It discloses that the workspace is ephemeral and in-memory (a key behavioral trait — data is lost unless create_shared is called), and mentions no cloud id is created. This is meaningful transparency. However, it doesn't clarify what happens on reuse/discard, memory limits, or whether calling it repeatedly creates separate workspaces, which would be relevant for an ephemeral resource.

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 compact sentence that packs key information: ephemeral, default, optional seed params, and the create_shared relationship. Minimal waste. Could arguably drop 'and/or markup' but it's informative. Efficient and front-loaded.

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 simple constructor tool with 2 optional params, full schema coverage, no output schema, the description covers the essentials: what it does, ephemeral nature, and relationship to create_shared. Gaps include lack of detail on lifetime/cleanup (roadflow_discard relationship) and return value expectations, but for a low-complexity creation tool this is reasonably 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% — both json and markup have schema descriptions. The description adds the context that these are optional and applied to the new workspace, but doesn't add meaning beyond the schema's own descriptions. The 'same shape as serializeState' hint for json lives in the schema, not the description. Baseline 3 is appropriate given full schema coverage.

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

Purpose4/5

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

The description clearly states the tool creates an ephemeral in-memory roadflow workspace. It distinguishes from siblings by noting 'default' (vs shared workspace via create_shared) and mentions both optional seed JSON and markup, differentiating from roadflow_apply_json and roadflow_apply_markup which operate on existing workspaces.

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

Usage Guidelines3/5

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

The description implies usage context by noting 'ephemeral in-memory' and default behavior, and contrasts with create_shared via 'No cloud id until create_shared'. However, it doesn't explicitly state when to use this vs apply_json/apply_markup alternatives, nor does it clarify whether the optional json/markup params are meant to be passed inline versus applied later with sibling tools.

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

roadflow_open_sharedOpen shared roadflowBInspect

Load a cloud map by edit or view id into this session. View links are read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYeseditId or viewId from a share URL (?id=…)

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It does disclose that view links are read-only, which is useful behavioral context about loading constraints. However, it doesn't disclose what happens to the current session state (e.g., whether the loaded map replaces existing content), what 'load into this session' means for subsequent tool calls, or potential failure modes like invalid or expired share ids.

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

Conciseness4/5

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

The description is a single efficient sentence plus a concise note about view-link read-only behavior. Every phrase earns its place, and the two clauses complement each other without redundancy. Front-loaded with the primary action verb.

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 single-parameter load tool with no output schema and no annotations, the description covers the core mechanics (what id to provide, edit vs. view semantics) but leaves gaps. It doesn't clarify session state changes, return behavior, or error handling for invalid ids. Given it's a simple tool, this is adequate but not complete — the absence of an output schema and annotations raises the description's responsibility.

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%, with the id parameter described as 'editId or viewId from a share URL (?id=…)' — already fairly informative. The description adds the semantic distinction that edit ids allow editing while view ids are read-only, which enhances understanding beyond the raw schema. This crosses beyond baseline but doesn't add format or parsing details beyond what the schema provides.

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

Purpose4/5

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

The description states a specific verb+resource: 'Load a cloud map by edit or view id into this session.' It clearly identifies what the tool does (loads a shared map) and adds the scope distinction of edit vs. view ids. It doesn't explicitly contrast with siblings, but the edit/view differentiation helps set it apart from roadflow_new or roadflow_get.

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

Usage Guidelines3/5

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

The description implies usage context ('Load a cloud map... into this session') and notes that view links are read-only, which gives some when-not guidance. However, it doesn't explicitly state when to prefer this over roadflow_get or roadflow_new, nor does it clarify prerequisites like whether the map must have been shared via roadflow_create_shared first.

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

roadflow_statusWorkspace statusAInspect

Return mode, ids, URLs, and road/step counts for the current MCP session workspace.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. The description discloses what data will be returned (mode, ids, URLs, counts), which is helpful, but doesn't state whether this is a read-only operation, whether any side effects occur, or what happens if no workspace is active. Since the description names the returned data types, it adds some transparency, but for a status tool the read-only nature is implied rather than explicit.

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

Conciseness5/5

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

The description is a single, compact sentence that enumerates the exact output content (mode, ids, URLs, road/step counts). Zero waste, front-loaded with the verb, and every word earns its place. Ideal length for a no-parameter status tool.

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 is a simple status read with 0 parameters and no output schema, so complexity is low. The description names the output categories which is reasonably complete. However, without an output schema or annotations, and without describing the return format/structure, there is some gap in knowing exactly what shape the response takes. Adequate but could detail the return structure or edge cases (e.g., no active workspace).

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

Parameters4/5

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

The tool has 0 parameters, which gives a baseline of 4. With no parameters, there is nothing for the schema or description to document in terms of parameter semantics, so this dimension is largely moot and the baseline applies.

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

Purpose4/5

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

The description clearly states what the tool does: returns 'mode, ids, URLs, and road/step counts' for the current MCP session workspace. It uses a specific verb ('Return') and resource ('current MCP session workspace'). However, it doesn't explicitly distinguish itself from sibling tools like roadflow_get, though the status/read-only intent is discernible.

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

Usage Guidelines3/5

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

The description conveys that this is a status/read-only tool for the current session workspace, which implies it should be used for inspection rather than modification. However, it provides no explicit when-to-use versus alternatives guidance, no exclusions, and doesn't mention when it would be preferable over roadflow_get or sibling read tools.

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. Dates show when Glama detected each change.

  1. 2 tool updates
    • Addedmodel_evaluate
    • Changedmodel_upsert_parameter5 fields changed
      • addedInput schema / properties / adjustmentKind
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / economicClass
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / qtyParameterId
        Added value: +{
        +  "type": "string"
        +}
      • addedInput schema / properties / rateComponents
        Added value: +{
        +  "type": "array"
        +}
      • addedInput schema / properties / rateParameterId
        Added value: +{
        +  "type": "string"
        +}
  2. 19 tool updates
    • Addedmodel_delete_edge
    • Addedmodel_delete_observation
    • Addedmodel_delete_parameter
    • Addedmodel_discard
    • Addedmodel_get
    • Addedmodel_get_parameter
    • Addedmodel_list_dictionaries
    • Addedmodel_list_edges
    • Addedmodel_list_observations
    • Addedmodel_list_parameters
    • Addedmodel_new
    • Addedmodel_open
    • Addedmodel_patch_project
    • Addedmodel_status
    • Addedmodel_upsert_edge
    • Addedmodel_upsert_observation
    • Addedmodel_upsert_observations
    • Addedmodel_upsert_parameter
    • Addedmodel_upsert_parameters
  3. 10 tool updates
    • Addedartifacts_apply_json
    • Addedartifacts_create_shared
    • Addedartifacts_discard
    • Addedartifacts_export_json
    • Addedartifacts_get
    • Addedartifacts_get_version
    • Addedartifacts_list_versions
    • Addedartifacts_new
    • Addedartifacts_open_shared
    • Addedartifacts_status
  4. 2 tool updates
    • Addedroadflow_get_version
    • Addedroadflow_list_versions
  5. 11 tool updates
    • First observedroadflow_apply_json
    • First observedroadflow_apply_markup
    • First observedroadflow_create_shared
    • First observedroadflow_discard
    • First observedroadflow_export_csv
    • First observedroadflow_export_json
    • First observedroadflow_export_markup
    • First observedroadflow_get
    • First observedroadflow_new
    • First observedroadflow_open_shared
    • First observedroadflow_status

Frequently Asked Questions

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Markdown collaboration for AI workflows. Share markdown via public links with four permission levels, inline comments, and real-time sync. AI agents can read docs, review comments, incorporate feedback, and resolve threads. Free, no login.
    14
    16
    8
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    End-to-end agent-managed company brain. Humans and any MCP agent co-author living docs (Markdown + extensions), 40+ visual diagrams (Mermaid, BPMN, D2, PlantUML, ELK, Excalidraw), plans, and a self-learning Knowledge Graph. 163 tools across 16 categories. Auth: OAuth 2.1 or API key. Lean, secure, affordable — from individuals to enterprise.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables AI models and browser users to collaboratively create and edit a shared freeform canvas of positioned cards and directed connections, with tools for adding, updating, linking, and exporting boards as JSON or SVG.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents and humans to collaboratively manage kanban boards and Markdown documentation via MCP tools, with stable item keys, revision-safe editing, and full audit trails.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

B3.2/5.0
Disambiguation2/5

Many tools are mirrored across `artifacts_*` and `roadflow_*` with near-identical names and behavior, and within each family `get`, `export_json`, and `export_markup` overlap in what they return. Descriptions identify the target workspace, but an agent must carefully inspect prefixes and formats to avoid misselection.

Naming Consistency4/5

The set consistently uses lowercase snake_case with a domain prefix and predictable verbs like get, list, create, open, export, and apply. Minor deviations are bare commands (`new`, `discard`, `status`) and the parallel `artifacts_*`/`roadflow_*` prefixes, which make names look duplicated.

Tool Count3/5

At 23 tools, the surface lands in the heavy 16-25 range and feels padded because many operations are duplicated for two workspace types. Each subsystem alone would have a reasonable count, but combined the set is bloated.

Completeness4/5

The toolset covers the full workspace lifecycle: create, read, update via apply, discard, share, version, status, and multiple export formats. Missing cloud deletion and fine-grained element editing are minor gaps that can be worked around with full-state apply/export.

Resources