Skip to main content
Glama

Call a marketplace service

call_service

Invoke a listed FiatDock service. PAID listings go THROUGH the gateway (POST /s/:id) so the non-custodial split is enforced — normally TWO payments (99% seller + 1% FiatDock), or ONE full-price payment to the seller during that seller's first-month 0% launch window. TO BUY: call once WITHOUT payment to get the 402 challenge and step-by-step instructions, sign it with your own wallet, then call again with the same id/args plus payment set to the base64 x402 payload — the gateway settles on-chain directly to the seller and returns their response. No wallet? npx fiatdock-mcp with AGENT_PRIVATE_KEY signs automatically. FREE / first-party listings are forwarded to their real MCP endpoint directly (no payment). Pass the service's expected request body as args.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesListing id (svc_…) to invoke, from search_services
argsNoJSON payload to send to the service (e.g. an MCP JSON-RPC request body) — shape is defined by that service
paymentNoBase64 x402 v2 PaymentPayload signed by YOUR wallet, satisfying every entry in the 402's `accepts`. Omit on the first call to receive the challenge; send it on the second call to complete the purchase. Sent to the gateway as the X-PAYMENT header — FiatDock never holds the funds.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYestrue when the underlying service returned a 2xx
resultNoThe service's response body — parsed JSON when it returned JSON, otherwise the raw text
statusYesHTTP status returned by the service (or the gateway)
serviceYesListing id that was invoked
routedThroughGatewayYestrue if PAID (settled 99% seller / 1% FiatDock via /s/:id); false if FREE/first-party direct

TDQS

A4.7/5.0
Behavior5/5

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

Beyond the annotations, the description discloses key behavioral traits: paid listings route through the gateway, payment split is normally 99/1 with a 0% launch-window exception, the 402 challenge flow requires two calls, and FiatDock never holds funds. It also covers the free-listing direct-forwarding behavior. This is rich, honest behavioral disclosure.

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 longer than average but highly structured: it starts with the core purpose, then explains the paid flow, the free flow, and the no-wallet alternative. Each sentence adds necessary operational detail. It is not padded, but could be tightened slightly by separating the wallet-setup command into a prerequisite note.

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?

For a complex multi-step payment tool, the description covers the full invocation lifecycle: challenge, signing, payment submission, gateway settlement, free-list fallback, and wallet automation. With an output schema present, return-value documentation is not required. The description is complete and self-sufficient.

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?

Even though schema coverage is 100%, the description adds significant workflow meaning. It explains that `payment` is omitted on the first call and set on the second, that `args` is the service-specific request body, and that `id` comes from search_services. This elevates parameter understanding beyond raw schema definitions.

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: 'Invoke a listed FiatDock service.' It clearly distinguishes this call/invoke tool from sibling tools like search_services and get_service by describing the actual invocation mechanics (gateway vs direct forwarding). The scope and action are unmistakable.

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 provides explicit workflow instructions: call once without `payment` to get the 402 challenge, sign, then call again with payment. It also states when payment is NOT needed (free/first-party listings). However, it does not explicitly compare against alternative tools (e.g., 'use get_service for metadata'), so it lacks a direct alternatives statement.

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/5.0
Disambiguation4/5

Most tools are clearly separated by resource and action, but a few intentional bundles create mild selection overlap: token_report duplicates the data from token_price + token_safety, and address_intel overlaps eth_balance/usdc_balance plus safety. The descriptions explain the trade-offs well, so this is a minor rather than severe issue.

Naming Consistency4/5

Data-query tools follow a solid subject_metric pattern (token_price, usdc_balance, tx_status), while state-changing tools use verb_object (create_onramp_session, call_service). The pattern is readable and mostly consistent, but not a single uniform verb_noun convention throughout, so it falls just short of perfect.

Tool Count4/5

18 tools is above the typical 3-15 well-scoped range, but the server genuinely spans Base chain primitives, token intelligence, fiat ramps, and a marketplace. Each tool has a purpose, and the count is reasonable rather than bloated.

Completeness4/5

Core workflows are covered end-to-end: quote -> create on/off-ramp session -> order status; token price/safety/metadata/report; marketplace search/get/call; chain/tx primitives. Minor gaps exist, such as no order cancellation, no list-all-services endpoint, and no supported-country/method endpoint despite those details living in descriptions.