Skip to main content
Glama

Preview Enrichment Run

preview_enrichment_run
Read-only

What a created enrichment run WOULD do, before it costs anything: how many records are in scope, how many carry an identifier the provider accepts, how many survive the ambiguity guard and the credit cap, and every exclusion counted by reason. projected_credits is the spend if dispatched now, and is null when the scan was bounded, because a prefix cannot project a population. It calls no provider, writes nothing and spends nothing. It cannot say how many records would CHANGE: that depends on values nobody has bought yet.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
run_idYesThe enrichment run to preview. Create it first.
connection_idYesThe CRM connection. Call list_crm_connections first.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, but the description adds substantial context beyond them: no provider is called, nothing is written, nothing is spent, and `projected_credits` is null when the scan was bounded because a prefix cannot project a population. It also states an honest limitation — it cannot predict how many records would CHANGE — which is exactly the kind of boundary disclosure that prevents misinvocation.

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 dense but front-loaded: the core purpose leads, then the output contents, then the spend semantics, then the limitation. Nearly every clause earns its place, though 'writes nothing and spends nothing' partly restates what the readOnly/destructive annotations already convey.

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?

With no output schema, the description must explain return values, and it does so thoroughly: scope counts, accepted-identifier counts, guard/cap survivors, per-reason exclusions, and the nullability semantics of `projected_credits`. It also closes the loop on what the tool cannot answer, leaving no material gap for a read-only preview 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% and both parameters (run_id, connection_id) are documented in the schema, including their prerequisites. The description adds no syntax or format detail for either parameter, so the baseline of 3 is appropriate when structured fields carry the load.

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 — preview what a created enrichment run WOULD do — and enumerates the exact outputs (records in scope, identifier match counts, ambiguity-guard and credit-cap survivors, exclusions by reason). This clearly separates it from create_enrichment_run and dispatch_run, which actually perform the work. An agent can identify the tool without opening the schema.

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?

Usage is strongly implied: it runs 'before it costs anything' and 'calls no provider, writes nothing and spends nothing', which tells the agent to call it prior to dispatching a run. Prerequisites (create the run first, call list_crm_connections first) live in the schema rather than the description. No explicit when-not or named alternative is given, so it falls 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.