Skip to main content
Glama

Verify a Company

preview_cost

Read-onlyIdempotent

Return an expected cost estimate, latency estimate, and success-probability estimate for a proposed call before execution. Returns the exact price when it is fixed, and a min/max range when the cost depends on channel or outcome. It does not promise an accuracy percentage - check cost_range.

EXAMPLE USER QUERIES THAT MATCH THIS TOOL: user: "How much will this SMS cost me?" -> call preview_cost({"operation": "send_message", "params": {"preferred_channel": "sms"}}) user: "Estimate the cost of booking via voice fallback" -> call preview_cost({"operation": "schedule_appointment", "params": {"preferred_channel": "voice"}})

WHEN TO USE: Use before any operation when the agent is operating under a budget constraint and needs to decide whether to proceed. WHEN NOT TO USE: Do not use in a hot loop — cache the result for at least 60 seconds if repeating the same preview. COST: free - no key required LATENCY: ~100ms

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYesThe same request body you would pass to the operation
operationYes

TDQS

A4.9/5.0
Behavior5/5

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

Annotations already declare readOnly, idempotent, and non-destructive. The description adds useful behavioral detail beyond those: exact price vs min/max range, no accuracy percentage promise, free/no key requirement, and ~100ms latency. This is exactly the kind of supplementary context annotations do not carry.

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 front-loaded with the core return behavior, then uses compact sections for examples, when to use/not use, cost, and latency. Each part earns its place and there is no filler or tautology.

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?

There is no output schema, so the description carries the burden of explaining return values. It covers cost, latency, success probability, fixed vs range behavior, and the important caveat to check `cost_range`. It also addresses caching, authentication requirements, and latency, making it complete for an estimation 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 50%, so the description must compensate. It does so with concrete invocation examples showing `operation` and `params` shapes, and it clarifies that `params` mirrors the actual operation request body. The description does not enumerate valid operation values, but the examples and context provide enough for correct use.

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 ('Return') and names the exact resource: cost, latency, and success-probability estimates for a proposed call. It also distinguishes fixed vs range outcomes, making it clear this is a pre-execution estimator rather than an actual execution or status tool.

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?

Explicit sections say when to use it ('under a budget constraint... before proceeding') and when not to use it ('do not use in a hot loop... cache for at least 60 seconds'). This gives an agent actionable routing and exclusion guidance with no inference required.

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.

TDQS

A4.4/5.0
Disambiguation4/5

The core due-diligence tools are clearly distinct: registry verification, sanctions screening, and contract lookup each have separate purposes and boundaries. The only possible confusion is between get_status and get_outcome, but their descriptions clearly separate state polling from final result retrieval.

Naming Consistency4/5

Tool names mostly follow a snake_case verb_noun pattern such as get_status, preview_cost, screen_sanctions, and verify_company_record. The main deviation is self_test, and verbs vary across get, lookup, preview, screen, and verify, but there is no casing or style conflict.

Tool Count4/5

Seven tools is within the ideal range for a focused MCP server. However, several tools are generic infrastructure utilities rather than company-verification features, so the set is slightly less scoped than it could be.

Completeness3/5

The company-verification workflow is reasonably covered: legal existence, sanctions screening, and US federal contracts are all available. However, get_status and get_outcome reference async operations that no exposed tool creates, and preview_cost examples mention operations like send_message that are not present in the server, creating dead ends.