Skip to main content
Glama
ProSuite

prosuite-mcp

Official
by ProSuite

add_condition_to_spec

Preview adding a quality condition to a specification by reusing an existing descriptor. Returns the updated spec XML for review, without modifying any files.

Instructions

Preview adding a new QualityCondition to a spec, reusing an existing descriptor.

Builds the condition through the same prosuite factory as run_verification, resolves a matching (never synthesizes one), and returns the full updated spec XML with the condition appended and wired into target_specification_name. Preview only: never writes to a file. Call describe_spec first for valid specification/workspace/dataset names.

Args: target_specification_name: QualitySpecification to wire the condition into. name: Human-readable condition name; must not already exist in the spec. condition_request: {condition: method name from list_conditions, params: dict}. datasets: Feature classes/tables used by condition_request, each with 'name' and an optional 'filter_expression'. workspace_id: Logical workspace id to bind datasets to (e.g. "DATA_OSM"). allow_errors: Whether issues from this condition are tolerated. description: Optional description element. spec_xml: Spec XML text; defaults to reading the active spec (the one load_spec was last called with, otherwise PROSUITE_SPEC_PATH). category: Which category to file the condition under. Only needed when the spec nests QualityConditions under more than one.

Returns 'status': 'ok' with 'spec_xml' holding the updated spec, ready to review and persist yourself, or 'status': 'error'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYes
categoryNo
datasetsYes
spec_xmlNo
descriptionNo
allow_errorsNo
workspace_idYes
condition_requestYes
target_specification_nameYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

With no annotations, the description fully carries the transparency burden. It discloses critical behavior: it 'never synthesizes' a descriptor, 'never writes to a file', defaults spec_xml to the active spec or PROSUITE_SPEC_PATH, and returns structured status. It also warns that the name 'must not already exist' and that category is only needed for multi-category specs.

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 appropriately verbose for 9 parameters and a complex preview operation. It front-loads the core purpose in the first sentence, then organizes details into a clear Args block. No extraneous fluff; every sentence contributes value.

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

Completeness5/5

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

Given the tool's complexity, no annotations, and the existence of an output schema, the description is complete. It explains return values, side-effect-free behavior, prerequisites, and parameter semantics. It even mentions how to persist the result ('ready to review and persist yourself'), fulfilling the contextual needs for safe invocation.

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

Parameters5/5

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

Schema description coverage is 0%, but the Args section compensates entirely by adding semantic meaning to every parameter. For example, condition_request is explained as '{condition: method name from list_conditions, params: dict}', datasets are described as 'Feature classes/tables', and spec_xml's default behavior is fully specified. This exceeds what the schema alone provides.

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

Purpose5/5

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

The description opens with a specific verb and resource: 'Preview adding a new QualityCondition to a spec, reusing an existing descriptor.' It clearly distinguishes itself from siblings by stating it is 'Preview only: never writes to a file' and referencing run_verification for context, making the tool's scope 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 advises to 'Call describe_spec first for valid specification/workspace/dataset names' and clearly states this is a preview that returns XML for the user to persist. However, it stops short of explicitly naming alternative tools (like preview_condition_run or run_verification) and explaining when to use them instead.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ProSuite/prosuite-mcp'

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