Skip to main content
Glama

Truvon

Server Details

Find and check local U.S. businesses: open or closed, sourced phone and hours, and how to act.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
ChatGPT
–
Claude
–

TDQS

A3.8/5.0

Scored across 11 tools

Disambiguation4/5

Most tools have clearly distinct roles across search, record lookup, history, external verification, authentication, and reporting. The main possible confusion is among the report_* tools and the two follow-up-related tools, but their descriptions make the boundaries reasonably clear.

Naming Consistency4/5

All tool names use snake_case and generally follow a verb_noun pattern. A few names such as more_results and connect_truvon deviate slightly, but the overall convention is predictable.

Tool Count5/5

Eleven tools is well-scoped for a local business search and reporting server. Each tool appears to earn its place by covering a distinct part of the search, verification, reporting, and follow-up lifecycle.

Completeness4/5

The surface covers the core lifecycle: search, pagination, business records, field history, external verification, authentication, missing-business reporting, answer capture, outcome reporting, follow-ups, and job status. Minor gaps may exist around listing or retrieving prior searches/jobs without an id, but the main workflows are covered.

Available Tools

11 tools
answer_follow_upAnswer a follow-upB
Idempotent
Inspect

Days later, when the outcome is knowable: send your user's answers to the questions report_outcome gave you, by follow_up id. Closed options only, never personal details.

NameRequiredDescriptionDefault
againNo
modelNoOptional: the model you run on (for example claude-sonnet-5-5 or gpt-5.5), kept with this report's provenance so what each model reports can be weighed over time. Leave it out if you do not know.
reasonNo
matchedNo
assertionNoPlatforms only: your Truvon agent assertion (identity protocol §4, a JWS binding this report to your user's pairwise sub). Accepted only when this MCP request carries an OAuth DPoP access token; see /.well-known/truvon-agent-auth.
completedNo
differentNo
elsewhereNoCancelled jobs: did your user get it done elsewhere
follow_upYes
satisfiedNo
connectionNoThe connection code connect_truvon gave you, once your user approved its link. Not needed when your app signed in to Truvon itself.

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already cover safety (readOnly=false, destructive=false, idempotent=true), so the description's job is to add constraints, which it does: 'Closed options only, never personal details' is a genuine data-handling rule an agent could otherwise violate. It stops short of saying what happens on rejection or whether answers can be revised after submission.

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 tight sentences with the timing condition front-loaded and no filler. The compression borders on cryptic ('Days later' as an opening clause), but nothing is wasted.

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 write tool with no output schema, the description establishes the report_outcome pairing and the closed-options constraint, while the schema covers the auth-related fields (assertion, connection) and model. It leaves the agent without guidance on conditional field selection or on the result of submission, which is a meaningful gap at this complexity.

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?

With 11 parameters and only 36% schema description coverage, the description carries real weight but supplies almost none: 'by follow_up id' covers the required field, and 'Closed options only' hints at the enum fields generically. It never maps parameters such as completed, satisfied, matched, reason, or elsewhere to the specific questions report_outcome asked, which is the central ambiguity for this tool.

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 concrete action (send the user's answers) on a concrete resource (a follow-up, identified by follow_up id) and ties it to the sibling tool report_outcome. It is clear enough to distinguish from report_outcome and report_answer, though the phrasing 'answers to the questions' is elliptical about what the tool actually records.

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?

Timing guidance is explicit ('Days later, when the outcome is knowable'), which is the key gating condition. However, it never says which sibling to use if the outcome is not yet knowable, nor what to do if no follow-up was issued, and gives no rule for which of the eleven fields to fill.

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

check_places_resultsCheck businesses you foundA
Read-only
Inspect

Check up to 10 businesses you found elsewhere (maps, web, a link) before you give your user a phone or send them somewhere: open or closed with dated evidence, the phone its sources agree on, how to act. Send the name plus phone, website or address, and the town. With the need, you also get two listed businesses that fit it that you did not send. One not found is reported as not in Truvon.

NameRequiredDescriptionDefault
zipNo
nameNoOne business: its name (or use businesses)
needNoYour user's need: the next step quotes the lines of each business's own pages that answer it, and may_have_missed lists the two best businesses for it that you did not send
phoneNo
placeNoTown, ST
addressNoThe street address as you found it
websiteNo
businessesNoSeveral businesses to check at once, each with what you have; place, zip and need below apply to all

TDQS

A3.8/5.0
Behavior4/5

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

Annotations only cover read-only and closed-world, so the description carries the return-value burden and does so: open/closed status with dated evidence, a source-agreed phone, an action recommendation, two extra "may_have_missed" businesses when need is supplied, and the not-found behavior ("reported as not in Truvon"). "how to act" stays vague, and there is no note on latency, cost, or what happens when no identifier is supplied.

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

Conciseness3/5

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

Two long, comma-spliced sentences pack real information but read as a run-on, with the triggering condition and the input recipe competing for the front position. Phrases like "how to act" and "One not found is reported as not in Truvon" assume brand knowledge without glossing it.

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?

With 8 parameters, zero required, no output schema and only 63% schema coverage, the description should resolve which inputs are mandatory or how partial input is treated, and it does not. It adequately covers the added value of need and the 10-item cap, but an agent cannot tell from this text what a minimal valid call looks like.

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?

At 63% schema coverage the description meaningfully compensates: it states the accepted identifier combination ("name plus phone, website or address, and the town") and explains what the need parameter unlocks, which the schema only partly conveys. It does not clarify zip vs place precedence or how sole-argument calls (e.g. website only) are handled.

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?

"Check up to 10 businesses you found elsewhere (maps, web, a link)" gives a specific verb (check), a bounded resource (businesses), and a scope that implicitly separates it from discovery siblings like find_local_businesses. The name-plus-title synergy makes the verification role unmistakable, though no sibling is 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?

"before you give your user a phone or send them somewhere" is a concrete trigger condition, and "Send the name plus phone, website or address, and the town" tells the agent what input to assemble. It stops short of naming alternatives (get_business_record, find_local_businesses) or saying when not to call it.

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

connect_truvonConnect for reportingAInspect

When your app has not signed in to Truvon itself: get a link for your user to open and a connection code for you. One tap on the link (no account) and the reporting tools accept connection in this conversation. Searching needs none of this.

NameRequiredDescriptionDefault
clientNoYour assistant or product name, for Truvon's own records (optional; never shown to the person)

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already say this is a non-read-only, non-idempotent, non-destructive, closed-world operation; the description adds genuinely useful context beyond that: the user taps the link without an account, and the connection then applies to 'this conversation'. It does not disclose link/code expiry, whether repeated calls mint additional links (relevant given idempotentHint=false), or whether the call returns immediately or waits for the user to tap.

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?

Three short sentences, front-loaded with the condition and the deliverable, with the search exclusion placed last where it reads naturally. Minor wordiness in 'get a link for your user to open and a connection code for you', but nothing is wasted or 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 a single-optional-param connection tool with no output schema this covers the essentials: why to call it, what it produces, and who acts next. It is incomplete on the mechanics an agent needs in practice — expiry of the link/code, whether the connection persists across sessions, and whether calling twice issues two links — but it is not misleading.

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?

There is a single optional 'client' parameter with 100% schema description coverage, so the schema already explains it as the assistant/product name kept for Truvon's records and never shown to the user. The description adds nothing about this parameter, which is acceptable at full coverage but earns only the baseline.

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 concrete outcome: obtain a link for the user and a connection code for the assistant so that reporting tools accept the connection in this conversation. It is distinguishable from the report_* siblings because it is an auth/connection step rather than a reporting action. The phrasing 'get a link for your user to open and a connection code for you' is slightly convoluted but still conveys the resource produced.

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 an explicit trigger condition ('When your app has not signed in to Truvon itself') and an explicit exclusion ('Searching needs none of this'), which rules out the find_local_businesses / search path. The gap is that the reporting siblings are never named, so the agent must infer that report_answer, report_outcome etc. depend on this step rather than being told directly.

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

find_local_businessesSearch businessesA
Read-only
Inspect

Start here. Find businesses that fit a need near a place. Give the service in a few plain words ("furnace repair", "water heater leak"), not the user's sentence; timing goes in open_at. Each result says why it fits, its hours and whether it is open right now (by its stated hours at its local time; "open:" is whether it is in business), the phone, and how to act, and the response ends with your next step. Five results by default; ask for more with limit, and add max_minutes to stay close.

NameRequiredDescriptionDefault
latNoThe user's latitude in decimal degrees, with lon: the most exact place to measure distance from
lonNoThe user's longitude in decimal degrees, with lat
zipNoThe user's 5-digit ZIP code, instead of place
needYesThe service in a few plain words: "furnace repair", "water heater leak", "bbq catering for 12". Not the user's whole sentence: matching is by meaning and exact words, so symptoms and timing hide the service. Timing goes in open_at, requirements in the filters
limitNoHow many results (default 5)
modelNoOptional: the model you run on (for example claude-sonnet-5-5 or gpt-5.5), kept with this report's provenance so what each model reports can be weighed over time. Leave it out if you do not know.
placeNoWhere the user is, always with its state: "Town, ST" (e.g. "Springfield, IL") or "Neighborhood, Town, ST" (e.g. "Castro, San Francisco, CA"); "City, CC-RR" with an ISO 3166-2 region outside the US. A place without a state is refused, with the towns it could be. Or send zip, or lat and lon, instead
actionNoOnly businesses that offer this: book, order, quote, call or message (comma means any)
detailNocompact (default) or full records
pricesNoOnly businesses that state prices
open_atNoOpen at a specific day and time in the business's local time, e.g. "sat 18:00"; or "now", "today", "tonight", "tomorrow", "tomorrow 9am". For a range like "this week", leave it out and judge from the hours shown
refinesNoThe search_id of an earlier search this one narrows (one choice of an "A or B", a more specific wording, an added requirement). Links the two so we learn what the first answer lacked
max_milesNoOnly businesses within this many miles of the place (businesses that serve online always pass)
completableNoOnly businesses an agent can complete the action with itself: a Truvon door, or the business's own MCP server, API or commerce endpoint once it has claimed its listing (treated the same); the rest are removed and counted
max_minutesNoOnly businesses within this many minutes of estimated driving (straight line with a road and river-crossing estimate, not a routing service), counted only where someone must be physically present; online and remote service always passes
include_closedNoAlso list businesses likely closed or closed (left out by default; open on each result says why)

TDQS

A4.1/5.0
Behavior4/5

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

Beyond readOnlyHint/openWorldHint, it discloses the result payload (why-it-fits rationale, hours, live open status including the caveat that "open" means in business, phone, how to act, and a trailing next-step hint), the default of five results, and that max_minutes is a straight-line estimate rather than real routing. No rate limits, auth, or cost behavior are mentioned.

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?

Front-loaded with "Start here." and packs the key input rules and output shape into a few dense sentences. The long middle sentence with nested parentheticals is harder to scan than it needs to be, but no sentence is 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 16-parameter, no-output-schema search tool, the description covers entry-point role, input shaping, defaults, and return contents, which is most of what an agent needs. Gaps are minor: it doesn't explain the refines/search_id linking behavior or how compact vs full detail results differ.

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 the schema already defines all 16 parameters in detail; the description mostly restates the need-vs-sentence distinction and the open_at/limit conventions. It adds only light framing (e.g. max_minutes "to stay close") that the schema does not already say better.

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?

"Start here. Find businesses that fit a need near a place" gives a specific verb, resource, and scope in one breath, and the imperative "Start here" positions it against siblings such as get_business_record and more_results which presuppose an existing search.

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 tells the agent when this is the right entry point and how to shape input (plain-words service, timing routed to open_at, extra requirements to the filters), and notes default result count vs asking for more with limit. It never names an alternative sibling explicitly, so the when-not-to-use side is left implicit.

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

get_business_recordGet a business listingA
Read-only
Inspect

One business's full record by website domain: prices, offers, hours, every way to act, each fact with its source and date, and every source's value where they disagree. Open it for a finalist, and whenever a phone or address matters. A business that is not listed cannot be opened.

NameRequiredDescriptionDefault
domainYesThe business's website domain, or its truvon_id (biz_…) from a result; the id is exact when a domain is listed in several markets. Never a name
formatNomarkdown
search_idNoThe search_id this listing came from, if any

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already establish readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description does add real value beyond them by disclosing that facts carry source and date, that source disagreements are surfaced, and that unlisted businesses fail to open - a useful error condition. It omits what the output looks like structurally, but the annotations carry the rest.

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?

Three tight sentences lead with the verb and resource, then trigger conditions, then the failure mode. It is dense but every clause carries information; a lighter enumeration of returned fields might read better, but nothing is wasted.

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 no output schema, the description compensates by listing the record's contents and its sourcing behavior, and it covers the key failure case for a 3-parameter read tool. The only gap is the undocumented format option, which the enum and default mostly handle.

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?

At 67% schema coverage the schema already documents the domain parameter, the truvon_id alternative, and search_id; the description only reinforces the domain-based lookup ('by website domain'). It says nothing about the format enum or search_id, so it adds little meaning beyond the schema. Baseline 3 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 names a specific verb and resource - retrieving one business's full record by website domain - and enumerates what the record holds: prices, offers, hours, ways to act, sourced facts and conflicting values. It is clearly the detail-fetch counterpart to find_local_businesses, though it never names that sibling directly.

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 concrete triggers - 'Open it for a finalist, and whenever a phone or address matters' - and states a hard precondition: 'A business that is not listed cannot be opened,' implying the record must originate from a search. It stops short of naming alternatives or exclusions explicitly.

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

get_field_historyHistory of a factB
Read-only
Inspect

Every value one fact (phone, hours, address, name) has held, which source said it and when. Use it when a value matters and you want to judge how settled it is.

NameRequiredDescriptionDefault
fieldNoThe field, e.g. phone, address, hours, name; leave out for every field in short
formatNomarkdown
businessYesThe truvon_id from a result (biz_…) or the business's website domain. Never a name. A business Truvon does not list cannot be reported

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=false, so safety is covered. The description adds that results carry provenance (which source said a value and when), which is useful context beyond annotations, but says nothing about ordering, result size, or what happens for a field with no recorded history.

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 tight sentences: the scope of what is returned comes first, the usage cue second, with no filler. The optional 'format' parameter and default are never touched, but that is a schema concern rather than wasted wording.

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 three-parameter, read-only lookup with no output schema, the definition covers purpose, return content, and a usage cue adequately. It stops short of describing result shape or empty-history behavior, which matters since no output schema exists to fill that gap.

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 parenthetical examples (phone, hours, address, name) map to the 'field' parameter, but the schema already provides those exact examples plus the behavior for omitting the field. With 67% schema coverage, the description neither needs to nor does add meaningful semantics beyond the structured fields.

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 resource and scope: the full set of values a single fact (phone, hours, address, name) has held, with source attribution and timestamps. It implicitly distinguishes itself from get_business_record by framing this as historical rather than current, but never names that sibling explicitly.

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?

"Use it when a value matters and you want to judge how settled it is" gives a genuine intent-based cue for when to reach for this tool. However, there is no when-not guidance and no explicit pointer to get_business_record for the current value, leaving the agent to infer the boundary.

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

get_jobGet a jobA
Read-only
Inspect

When your user returns asking about a job you arranged: its status and the business's updates, by the job id report_outcome gave you.

NameRequiredDescriptionDefault
jobYesThe job_id, job_…
connectionNoThe connection code connect_truvon gave you, once your user approved its link. Not needed when your app signed in to Truvon itself.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint and openWorldHint=false, so safety is covered; the description adds meaningful scope ('a job you arranged'), which tells the agent it will only see jobs its own app created, and it discloses the return content despite no output schema. It says nothing about freshness of status, polling, or behavior when the job id is unknown.

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 front-loaded sentence with no filler, and the trigger condition precedes the payload description. The colon-and-fragment construction reads slightly awkwardly but costs no comprehension.

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 two-parameter, non-destructive read with annotations covering safety and no output schema, the description supplies what an agent needs: the trigger, the id source, and what comes back. Only edge behavior (unknown job id, how current the status is) is unaddressed, which is minor.

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 baseline is 3, but the description adds provenance the schema lacks: the job id is the one report_outcome returned, which defines which ids are valid. The connection parameter is left entirely to the schema, which documents it adequately.

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 the resource (a job), the trigger (user returns asking about a job you arranged), and the payload returned (status plus the business's updates). It also distinguishes itself from the record-oriented siblings by tying retrieval to a job id produced by report_outcome, so an agent can pick it 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?

It gives a clear when-to-use condition ('when your user returns asking about a job') and implies the id provenance chain from report_outcome. It stops short of naming exclusions, e.g. that business-level details belong in get_business_record, so the boundary versus that sibling must be inferred.

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

more_resultsMore search resultsA
Read-only
Inspect

The next page of a search, with the next_cursor the search returned; kept 24 hours. Narrowing the need usually beats paging.

NameRequiredDescriptionDefault
cursorYesnext_cursor from the last find_local_businesses or more_results response

TDQS

A4/5.0
Behavior4/5

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

Annotations already establish this as a non-destructive read, and the description adds genuinely new behavioral context: the cursor and its results are only retained for 24 hours, which tells the agent paging is time-bounded and non-durable. It does not say what happens on an expired cursor or whether the final page is signaled, so it is informative but not exhaustive.

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?

A single compact sentence leads with what the tool returns, then the retention limit, then the strategic advice — every clause carries distinct information with 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 one-parameter pagination tool with no output schema, the description covers the source of the cursor, the retention window, and the preferred alternative strategy. Minor gaps remain around end-of-results signaling and expired-cursor behavior, but nothing essential to invoking it correctly is missing.

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 the cursor property already explains it comes from the last find_local_businesses or more_results response. The description echoes that the cursor is "the next_cursor the search returned" but adds no format, validity, or length detail beyond the schema, so the baseline 3 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 names a specific function — fetching the next page of a search using the cursor returned by the prior search — which is distinct from the sibling lookup tools like find_local_businesses and get_business_record. It stops short of naming the originating search tool, leaving that linkage to the schema, so it is clear but not fully self-differentiating.

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?

"Narrowing the need usually beats paging" gives explicit when-not-to-use guidance that steers the agent toward refining the query instead of paginating. The positive trigger — call this when a search response includes a next_cursor — is only implied via the schema, not stated in the description.

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

report_answerReport what a business saidAInspect

When a business told you something its record lacks ("yes, certified kosher"), record the question and its answer in its words, with the business's truvon_id.

NameRequiredDescriptionDefault
modelNoOptional: the model you run on (for example claude-sonnet-5-5 or gpt-5.5), kept with this report's provenance so what each model reports can be weighed over time. Leave it out if you do not know.
answerYesWhat the business said, in its words as near as you can (up to 500 characters)
channelYesHow you asked it
businessYesThe truvon_id from a result (biz_…) or the business's website domain. Never a name. A business Truvon does not list cannot be reported
questionYesWhat you asked, in your words (up to 200 characters)
search_idNoThe search_id that led you to the business, if any
connectionNoThe connection code connect_truvon gave you, once your user approved its link. Not needed when your app signed in to Truvon itself.

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare this is a non-readonly, non-destructive, non-idempotent, closed-world write, so the safety profile is largely covered. The description adds the meaningful constraint that content is stored in the business's own words and must be tied to a truvon_id, which shapes how to fill the fields. It does not disclose what happens on repeated reports (relevant given idempotentHint=false), nor any confirmation/return behavior.

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 sentence with the trigger condition front-loaded and zero filler; the parenthetical example earns its place by disambiguating what counts as a reportable fact. Slightly dense with nested parentheses, but nothing is wasted.

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 7-parameter write tool with no output schema and full schema coverage, the description supplies the essential framing: the trigger, the verbatim-recording requirement, and the identifier requirement. Gaps are minor — duplicate-report behavior and any success/failure response expectations — and the connection/search_id mechanics are handled in the schema.

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 every parameter including model, connection, and search_id is already documented in the schema; baseline is 3. The description only re-emphasizes two fields the schema already explains (the answer in its words, the truvon_id identifier) and adds no new syntax, format, or edge-case guidance.

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 verb (record) and resource (a question and the answer the business gave, in its words), and anchors it to a concrete trigger example ('yes, certified kosher'). It is clearly a write of discovered facts rather than a lookup, which separates it from get_business_record, but it does not name or contrast with the nearby report_missing / report_outcome / answer_follow_up 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 condition is explicit and conditional: use this when a business has told you something its existing record lacks. That is a genuine when-to-use rule rather than an implied one. It stops short of naming alternatives or stating when not to use it (e.g. when the fact is already in the record or when the business is unlisted — the latter only appears in the schema).

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

report_missingReport a business Truvon lacksA
Idempotent
Inspect

A business that fits your user's need, that you found elsewhere (the web, a map), and Truvon does not list (check_places_results said so): send its name, its own website, phone, address and the town, with the need and the search_id. It is read and listed for every agent; the directory grows where agents found it thin.

NameRequiredDescriptionDefault
zipNo
nameYesThe business's name as you found it
needNoThe need it fits, in the plain words you searched with
modelNoOptional: the model you run on (for example claude-sonnet-5-5 or gpt-5.5), kept with this report's provenance so what each model reports can be weighed over time. Leave it out if you do not know.
phoneNo
placeNoTown, ST
addressNoIts street address as you found it
websiteNoIts own website (never a directory, social or maps page); without one it is recorded but cannot be read
search_idNoThe search_id of the search that did not return it
connectionNoThe connection code connect_truvon gave you, once your user approved its link. Not needed when your app signed in to Truvon itself.

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=false, destructiveHint=false, idempotentHint=true and openWorldHint=true, so the safety profile is covered. The description adds one genuinely new behavioral fact beyond that: the report is 'read and listed for every agent', i.e. it becomes publicly visible to other agents — important context an agent would not infer from the annotations. It says nothing about validation, rejection, or what a submission returns, so the added value is real but thin.

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, no filler, and the eligibility condition is front-loaded before the payload list. The first sentence is dense and slightly run-on with nested parentheticals, which costs a little readability, but every clause carries information.

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 10-parameter write tool with no output schema, the description covers the trigger, the required payload, and the downstream effect (listed for all agents, directory grows). It leaves open whether the call can fail or what confirmation is returned, but the essential decision information is 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 80%, so the schema already explains most fields, including the meaningful constraints (website must be the business's own, connection only needed when the app did not sign in itself). The description's field list ('name, its own website, phone, address and the town, with the need and the search_id') largely restates the schema, though pairing 'the need' with 'the search_id' hints that both are needed for the report to be useful. Baseline 3 is appropriate.

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 (send/report a business) on a specific resource (a business Truvon does not list), and explicitly scopes it against the sibling that establishes the precondition ('check_places_results said so'). An agent can distinguish this from find_local_businesses or get_business_record without opening any 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?

It gives a clear triggering condition: the business must fit the user's need, be found elsewhere (web, map), and be absent from Truvon per check_places_results. That is a real when-to-use gate. It stops short of naming an explicit when-not-to-use or an alternative action (e.g. what to do if the business is already listed), so it is not a full 5.

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

report_outcomeReport how it wentAInspect

After you have acted for your user (booked, ordered, called, got a quote): say what happened, with the search_id and the business's truvon_id. If something was arranged you get the questions to ask your user later and, for a job, a job id. Test traffic (x-truvon-test) is refused: dry-run at https://sandbox.truvon.ai/mcp.

NameRequiredDescriptionDefault
viaNoHow you acted: a Truvon door, the business's own agent endpoint, a platform (a booking or ordering service), its link, its phone, its email
kindNoWith business_closed: closed for good, or temporarily (renovation, vacation, season)
fieldNoWith wrong_information: which fact is wrong
modelNoOptional: the model you run on (for example claude-sonnet-5-5 or gpt-5.5), kept with this report's provenance so what each model reports can be weighed over time. Leave it out if you do not know.
actionYesWhat you did for your user
sourceNoWith business_closed: the link where you saw it (a news story, its own post, a listing marked closed). It is checked and archived, and if it says so the business is closed for every agent.
correctNoWith wrong_information: the right value, as you found it
failureNoWhen failed. business_closed: the business has closed (say what you saw in detail: a closed sign, a disconnected phone, a recording)
outcomeYesconfirmed: the business confirmed; pending: submitted, awaiting the business; handed_off: you gave your user the link or number and they finish it (never counts against the business; the follow-up asks whether it happened); failed: give failure
reopensNoWith a temporary closure: the reopening date it states, YYYY-MM-DD
businessYesThe truvon_id from a result (biz_…) or the business's website domain. Never a name. A business Truvon does not list cannot be reported
assertionNoPlatforms only: your Truvon agent assertion (identity protocol §4, a JWS binding this report to your user's pairwise sub). Accepted only when this MCP request carries an OAuth DPoP access token; see /.well-known/truvon-agent-auth.
search_idNoThe search_id from find_local_businesses, so the outcome teaches similar future needs
connectionNoThe connection code connect_truvon gave you, once your user approved its link. Not needed when your app signed in to Truvon itself.
expected_atNoISO time when the outcome will be knowable: delivery ETA or appointment time

TDQS

A3.9/5.0
Behavior4/5

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

The description goes beyond mere data recording by noting the downstream benefits, such as generating 'questions to ask your user later' or a 'job id'. This informs the AI about the value and operational impact of the report.

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 definition is highly concise, using a single focused paragraph. It front-loads the core function and provides necessary technical context about test traffic handling.

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 high complexity of the 15-parameter schema, the description is appropriately complete by focusing on the high-level flow rather than listing every field.

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 schema coverage is complete (100%), which sets a baseline of 3. The description only adds minor semantic context by emphasizing the necessity of the `search_id` for future training needs.

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's purpose is to report the outcome of actions taken (booking, ordering, etc.). It specifically requires the inclusion of the `search_id` and `truvon_id`, grounding the purpose in the context of previous interactions.

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 provides an explicit usage prerequisite: the action must have already occurred for the user. This defines the specific window when the tool is relevant in the agent's workflow.

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.

  1. 11 tool updates
    • First observedanswer_follow_up
    • First observedcheck_places_results
    • First observedconnect_truvon
    • First observedfind_local_businesses
    • First observedget_business_record
    • First observedget_field_history
    • First observedget_job
    • First observedmore_results
    • First observedreport_answer
    • First observedreport_missing
    • First observedreport_outcome

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides access to Yelp's business database for searching local businesses, retrieving detailed ratings and reviews, and performing market research through business counts. It enables users to look up businesses by location, category, or phone number using the Yelp Fusion API.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables searching Google Local for businesses by keyword and location, returning details like name, address, phone, hours, ratings, and more. Useful for lead generation, local SEO, and market analysis.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides AI agents with access to real, verifiable businesses with provenance and source URLs, enabling natural-language business search and profile retrieval.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to search checked US roofing, siding, and gutter contractors by city and trade, and to retrieve individual contractor profiles with contact details, claimed status, and ratings. Read-only, requires no login or API key, and filters out closed or unlisted businesses.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources