Skip to main content
Glama

MolTrust MCP Server

mt_travel_verify

Read-only

Verify a travel booking against a TravelAgentCredential.

Runs a 10-step verification pipeline: VC signature, expiry, agent DID match,
segment authorization, spend limit, currency, daily cap, trust score,
delegation chain, and traveler binding.

Args:
    agent_did: DID of the booking agent (e.g. "did:base:0x...")
    vc_json: The TravelAgentCredential as a JSON string
    merchant: Merchant domain (e.g. "hilton.com")
    segment: Booking segment: hotel, flight, car_rental, or rail
    amount: Booking amount
    currency: Currency code (e.g. "USDC")

Input Schema

NameRequiredDescriptionDefault
amountYesBooking amount
segmentYesBooking segment: hotel, flight, car_rental, or rail
vc_jsonYesThe TravelAgentCredential as a JSON string
currencyYesCurrency code (e.g. "USDC")
merchantYesMerchant domain (e.g. "hilton.com")
agent_didYesDID of the booking agent (e.g. "did:base:0x...")

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / agent_did / description
      Added value: +"DID of the booking agent (e.g. \"did:base:0x...\")"
    • addedInput schema / properties / amount / description
      Added value: +"Booking amount"
    • addedInput schema / properties / currency / description
      Added value: +"Currency code (e.g. \"USDC\")"
    • addedInput schema / properties / merchant / description
      Added value: +"Merchant domain (e.g. \"hilton.com\")"
    • addedInput schema / properties / segment / description
      Added value: +"Booking segment: hotel, flight, car_rental, or rail"
    • addedInput schema / properties / vc_json / description
      Added value: +"The TravelAgentCredential as a JSON string"
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

The readOnlyHint=true annotation is consistent with a verification operation. Beyond annotations, the description discloses the full ten-step pipeline (signature, expiry, DID match, segment authorization, spend limit, currency, daily cap, trust score, delegation chain, traveler binding), which is genuinely useful behavioral context an agent cannot get from structured fields. It stops short of saying whether a failed verification raises an error or returns a negative verdict.

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 the core action and the pipeline list, which is the highest-value content. The trailing Args block is redundant given 100% schema coverage and a third of the text could be cut, but overall the description is short and skimmable.

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?

Six required parameters are all documented, an output schema exists so return values needn't be explained, and the ten-check pipeline conveys the depth of what happens. The remaining gap is outcome semantics — success/failure reporting and whether any state is written despite the read-only hint.

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 Args block in the description is essentially a verbatim restatement of the schema descriptions (agent_did, merchant, currency examples included). It adds no meaning beyond the schema — notably, `segment` is not actually constrained to an enum despite the four enumerated values, which the description could have clarified as an allowed-value contract.

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 — "Verify a travel booking against a TravelAgentCredential" — and enumerates the ten checks performed, which makes it unmistakable against siblings like mt_travel_issue_vc and mt_travel_info. An agent can pick this 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 Guidelines3/5

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

Usage is only implied: an agent infers this is a pre-booking credential check, but the description never says when to call it versus mt_shopping_verify, moltguard_credential_verify, or the travel issue/info siblings. No preconditions, no statement of what a caller should do on failure, and no exclusions.

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.