FiatDock
Server Details
Non-custodial USDC <-> bank for AI agents via x402 + Transak. Own funds only; PT + EU/EEA; 18+.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- fiatdock/fiatdock
- GitHub Stars
- 1
- Server Listing
- fiatdock-mcp
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.5/5 across 10 of 10 tools scored. Lowest: 3.8/5.
Each tool targets a distinct function: service calls, fiat on/off-ramp sessions, order tracking, quotes, service listing/search, token price, token safety, and stablecoin intel. No overlapping purposes.
All tool names follow a consistent verb_noun pattern (e.g., create_offramp_session, get_order_status, search_services), making it easy for an agent to infer their function.
With 10 tools, the server covers its financial marketplace and payment domain without being bloated or sparse. Each tool has a clear role.
Core CRUD-like operations are present: listing search/detail, service invocation, fiat conversion sessions, order status, quotes, and token data. Minor gaps like order cancellation or user account management exist but do not severely hinder agents.
Available Tools
10 toolscall_serviceCall a marketplace serviceAInspect
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; this remote /mcp cannot sign payments, so it returns the gateway's 402 challenge as an error (use the fiatdock-mcp npm package with AGENT_PRIVATE_KEY to pay whatever the 402 lists automatically). FREE / first-party listings are forwarded to their real MCP endpoint directly (no payment). Pass the service's expected request body as args.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing id (svc_…) to invoke, from search_services | |
| args | No | JSON payload to send to the service (e.g. an MCP JSON-RPC request body) — shape is defined by that service |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | Yes | true when the underlying service returned a 2xx |
| result | No | The service's response body — parsed JSON when it returned JSON, otherwise the raw text |
| status | Yes | HTTP status returned by the service (or the gateway) |
| service | Yes | Listing id that was invoked |
| routedThroughGateway | Yes | true if PAID (settled 99% seller / 1% FiatDock via /s/:id); false if FREE/first-party direct |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses key behaviors beyond annotations: paid listings go through a gateway enforcing a split (99%/1%) or a full-price payment during a launch window, while free listings are forwarded directly. It also states that the MCP cannot sign payments and returns a 402 error as a challenge. No contradiction with annotations (readOnlyHint=false, etc.).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with a clear front-loaded purpose, followed by essential details about payment handling and bypass behavior. No redundant information; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (2 parameters, output schema exists, payment logic), the description covers all critical aspects: invocation mechanics, payment handling, error scenarios, and parameter usage. It is complete for an agent to correctly select and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by explaining that 'args' is a JSON payload shaped by the service, and that 'id' determines whether the service is paid or free, affecting the response (402 challenge for paid). This provides semantic context beyond the schema's type definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Invoke a listed FiatDock service,' which is a specific verb+resource. It distinguishes from sibling tools (e.g., create_offramp_session, get_quote) that are for specific actions rather than generic invocation. The added detail about paid vs free listings further clarifies the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains when to use this tool (to call any service, paid or free) and provides guidance on handling payment failures: it notes that the remote MCP cannot sign payments and returns a 402 error, recommending the fiatdock-mcp npm package for payment. It contrasts with siblings by being the general invocation tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_offramp_sessionCreate off-ramp session (USDC → bank)AInspect
Convert the agent's USDC to fiat in the owner's OWN bank account. Returns a one-time checkoutUrl (forward it to the human owner; valid 5 minutes, single use) and a partnerOrderId to track. Paid endpoint ($0.05 USDC via x402) — without payment this returns the 402 challenge; use the fiatdock-mcp npm package with AGENT_PRIVATE_KEY for automatic payment. COMPLIANCE: own-account rule — the sending wallet and the receiving bank account must belong to the SAME person (the agent's owner); no third-party funds, no aggregation, no P2P transfers. 18+; service area: Portugal + Transak-supported EU/EEA countries (NOT the UK). Crypto is volatile; not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Optional referral code (1-64 chars: letters, digits, _ or -) | |
| No | Owner's Transak account email | ||
| network | No | USDC network, default base | |
| provider | No | Licensed fiat provider to use. Omit for the server default. `mtpelerin` settles by SEPA bank transfer across the SEPA zone and is NOT gated on Transak's activation state; note that its order status is not push-updated, so get_order_status stays at the initial state for mtpelerin sessions (confirm in your wallet/bank instead). A provider that is not configured on this server returns 400. | |
| customerId | No | Stable agent/customer id | |
| cryptoAmount | Yes | USDC amount to sell | |
| fiatCurrency | No | e.g. EUR, default EUR |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | Next-step instructions |
| checkoutUrl | Yes | One-time branded checkout URL (valid ~5 minutes, single use) — forward to the human owner |
| customerKey | No | Returned ONCE on the first session with a new customerId — store securely |
| partnerOrderId | Yes | Order id — track it with get_order_status |
| customerKeyNote | No | How to use customerKey |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses key behaviors beyond annotations: paid endpoint ($0.05 USDC via x402), returns 402 challenge without payment, checkoutUrl valid 5 minutes single use, mtpelerin provider does not push-update order status. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is somewhat long but well-structured: main action first, then payment, compliance, area, disclaimer. Every sentence adds necessary information; could be slightly more concise but appropriate for complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers key aspects: return values, payment, compliance, service limitations, provider differences. With output schema present, return value detail is sufficient. Lacks only minor details like error cases, but overall complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description adds value by explaining parameter context: e.g., email is owner's Transak account, provider options have caveats, and payment flow. Adds meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action: 'Convert the agent's USDC to fiat in the owner's OWN bank account.' It uses specific verbs and resources, and distinguishes itself from sibling tools like create_onramp_session and get_order_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit context on when to use (convert USDC to fiat for owner's bank) and compliance rules (own-account, 18+, service area). Mentions payment requirement and uses npm package for automation. Could explicitly exclude use cases for third-party funds, but overall clear guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_onramp_sessionCreate on-ramp session (fiat → USDC)AInspect
Buy USDC with the owner's OWN fiat and deliver it to the agent's wallet (address locked). Returns checkoutUrl + partnerOrderId. Paid endpoint ($0.05 USDC via x402) — without payment this returns the 402 challenge; use the fiatdock-mcp npm package with AGENT_PRIVATE_KEY for automatic payment. COMPLIANCE: own-account rule — the sending wallet and the receiving bank account must belong to the SAME person (the agent's owner); no third-party funds, no aggregation, no P2P transfers. 18+; service area: Portugal + Transak-supported EU/EEA countries (NOT the UK). Crypto is volatile; not investment advice.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Optional referral code (1-64 chars: letters, digits, _ or -) | |
| No | Owner's Transak account email | ||
| network | No | USDC network, default base | |
| provider | No | Licensed fiat provider to use. Omit for the server default. `mtpelerin` settles by SEPA bank transfer across the SEPA zone and is NOT gated on Transak's activation state; note that its order status is not push-updated, so get_order_status stays at the initial state for mtpelerin sessions (confirm in your wallet/bank instead). A provider that is not configured on this server returns 400. | |
| customerId | No | Stable agent/customer id | |
| fiatAmount | Yes | Fiat amount to spend | |
| fiatCurrency | No | e.g. EUR, default EUR | |
| walletAddress | Yes | Agent wallet that receives USDC |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | Next-step instructions |
| checkoutUrl | Yes | One-time branded checkout URL (valid ~5 minutes, single use) — forward to the human owner |
| customerKey | No | Returned ONCE on the first session with a new customerId — store securely |
| partnerOrderId | Yes | Order id — track it with get_order_status |
| customerKeyNote | No | How to use customerKey |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses payment requirement and 402 challenge, compliance rules, provider-specific behaviors (mtpelerin not push-updated), and area restrictions. Adds significant behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with main action, then adds necessary details. Slightly long but all information is valuable. Concise for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, payment, compliance, area, providers, and disclaimer. With full schema coverage and output schema, description is complete for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds value for 'provider' param with detailed trade-offs. Other params are adequately covered by schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it buys USDC with own fiat and delivers to agent's wallet, using specific verbs and resources. It distinguishes from siblings like create_offramp_session, making purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly covers when to use (own-account rule, 18+, service area), how to handle payment (x402, npm package), and alternatives (provider choice with detailed behavior). Provides clear context for correct invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_order_statusGet order statusARead-onlyIdempotentInspect
Check the status of an on/off-ramp order by partnerOrderId.
| Name | Required | Description | Default |
|---|---|---|---|
| partnerOrderId | Yes | Order id returned when the session was created |
Output Schema
| Name | Required | Description |
|---|---|---|
| ref | No | Referral code if one was set |
| status | Yes | SESSION_CREATED -> PROCESSING -> COMPLETED | FAILED | CANCELLED | EXPIRED |
| createdAt | No | ISO 8601 session creation time |
| updatedAt | No | ISO 8601 time of the last webhook update |
| customerId | No | Customer id the session was created with |
| isBuyOrSell | No | Order direction |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. Description adds no additional behavioral context, such as error responses or state changes. It does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no redundancy, directly conveys the tool's purpose with necessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple one-parameter input, existence of output schema, and annotations, the description is mostly complete. Minor omission: does not mention possible statuses or error cases, but output schema likely covers that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the single parameter 'partnerOrderId'. Description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (check status), the resource (on/off-ramp order), and the unique identifier (partnerOrderId). It distinguishes itself from sibling tools like create_offramp_session and create_onramp_session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. Usage is implied as checking order status after creation, but no conditions, prerequisites, or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_quoteGet a free quoteARead-onlyIdempotentInspect
Free quote before paying: exchange rate, total fees (all itemised, incl. the 1% service commission), and amount received. Quotes are indicative, not guaranteed. side=SELL (USDC->fiat) or BUY (fiat->USDC).
| Name | Required | Description | Default |
|---|---|---|---|
| side | No | SELL = USDC to fiat, BUY = fiat to USDC | SELL |
| network | No | USDC network, default base | |
| fiatAmount | No | Fiat amount (for BUY) | |
| cryptoAmount | No | USDC amount (required for SELL) | |
| fiatCurrency | No | e.g. EUR, default EUR |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | Human-readable caveat (quotes are indicative) |
| rate | Yes | Exchange rate used (fiat per USDC) |
| side | Yes | Quote direction |
| network | No | USDC network the quote assumes |
| youSend | Yes | Amount the sender pays, e.g. '50 USDC' |
| totalFee | Yes | Total fees in fiat, all itemised (incl. the 1% service commission) |
| youReceive | Yes | Amount received after all fees, e.g. '44.6 EUR' |
| feeBreakdown | Yes | Provider's itemised fee list |
| paymentMethod | No | Settlement method, e.g. sepa_bank_transfer |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint), description adds that quotes are indicative and not guaranteed, and discloses the 1% service commission, enhancing transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded purpose, no extraneous words—efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given output schema exists, description adequately explains tool output (rates, fees) and side parameter usage; no gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 5 params with descriptions (100% coverage); description repeats side semantics but adds no new information beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool provides a free quote with exchange rate, total fees, and amount received, distinguishing it from sibling tools like call_service or create_session.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly advises using before paying ('Free quote before paying'), but no explicit when-not-to-use or alternative tools are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_serviceGet a marketplace service's detailARead-onlyIdempotentInspect
Full detail for one FiatDock marketplace listing, including how to call it: PAID listings route through the gateway via call_service (the 99/1 split is enforced); FREE/first-party listings expose their real MCP endpoint to call directly. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Listing id (svc_…) from search_services |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | Listing id (svc_…) — pass to get_service / call_service |
| name | Yes | Service name |
| tags | No | Free-text tags |
| feeBps | No | Effective gateway commission in basis points right now: 0 during the seller's first-month launch waiver (buyer pays the FULL price directly to the seller), else 100 (1%). PAID listings only (ADR-0022). |
| rating | No | Verified-purchase rating aggregate: { count, average (1-5) } |
| status | No | Listing status: pending | verified | suspended |
| install | No | Ready-to-use local launch spec for stdio listings (npx -y <package>) |
| reviews | No | Recent verified-purchase reviews, newest first |
| summary | No | One-line summary |
| callHint | No | Plain-language instruction for how an agent invokes this listing |
| category | No | Category slug (data, search, finance, dev, productivity, ai, web, other) |
| networks | No | Chain slugs the service settles on |
| priceUsd | Yes | Price per call in US dollars (0 = free) |
| sellerId | No | Opaque seller id that owns the listing |
| verified | Yes | Verified seller (KYC + active badge) or first-party (platform-vouched) |
| createdAt | No | ISO 8601 listing creation time |
| firstParty | No | Platform's own featured listing (official) |
| gatewayUrl | Yes | How to reach it: a relative /s/:id (PAID — invoke via call_service, 99/1 split) OR an absolute MCP endpoint URL (FREE/first-party — call directly). null for stdio (npm package) listings — run those locally instead |
| sellerName | No | Seller display name, if set |
| description | No | Full description |
| listingType | No | "http" (hosted Streamable-HTTP endpoint) or "stdio" (an npm package agents run locally via npx; always free, not remotely callable) |
| mcpEndpoint | No | Real MCP endpoint — present only for FREE/first-party (direct) listings |
| packageName | No | npm package name — present only on stdio listings; install with npx -y <packageName> |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds behavioral context about the 99/1 split enforcement and that the tool is read-only and free, which is valuable beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, each serving a distinct purpose: stating the function, providing usage guidance, and noting traits. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema (1 parameter), presence of output schema, and rich annotations, the description provides complete context including business logic and differentiation from sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a clear description for the id parameter. The tool description does not add additional semantic information about the parameter beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves full details for a FiatDock marketplace listing, explicitly distinguishing between paid and free listings and referencing the sibling tool call_service.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly instructs when to use this tool versus call_service: paid listings route through call_service, while free/first-party listings are called directly, providing clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_servicesSearch the FiatDock marketplaceARead-onlyIdempotentInspect
Find paid + free MCP services other agents have published on the FiatDock marketplace. Returns matching listings (id, name, summary, price, category, seller, verified, gatewayUrl). Use get_service for full detail and call_service to invoke one. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text search over name, summary, description and tags | |
| sort | No | Sort order (default newest; first-party listings are always featured first) | |
| category | No | Filter by category slug: data, search, finance, dev, productivity, ai, web, other | |
| verifiedOnly | No | Only verified listings (KYC'd seller or first-party) |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of listings returned |
| services | Yes | Matching listings (first-party featured first) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, openWorldHint=true, idempotentHint=true. The description adds return format and free status, but no extra behavioral nuance beyond annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no fluff. First sentence states purpose, second provides sibling guidance and notes read-only/free. Very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 4 optional well-documented parameters, output schema, and annotations covering behavioral traits, the description is complete. It tells what it does, returns, and how to use siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so description does not need to add parameter info. The description does not elaborate on parameters beyond schema, meeting baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Find', the resource 'MCP services on FiatDock marketplace', and specifies returned fields. It also distinguishes from siblings (get_service for details, call_service to invoke).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use this tool (search) and when to use alternatives (get_service for full detail, call_service to invoke). Also notes read-only and free nature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
stablecoin_intelStablecoin intelligence ($0.002)ARead-onlyIdempotentInspect
PAID ($0.002 USDC via x402). Supply, peg health and per-chain breakdown for USDC and other stablecoins: total circulating supply, deviation from the $1.00 peg, peg mechanism, the amount circulating on Base (with its share of total) and the top chains by supply (DefiLlama). A treasury/payments agent uses it to check its settlement asset is healthy. Without payment this returns the 402 challenge; the fiatdock-mcp npm package pays automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| asset | No | Stablecoin symbol (default USDC), e.g. USDC, USDT, DAI, USDe |
Output Schema
| Name | Required | Description |
|---|---|---|
| asOf | Yes | ISO 8601 time the snapshot was read |
| name | No | Stablecoin full name |
| note | No | Human-readable caveat about the snapshot, if any |
| asset | Yes | Stablecoin symbol |
| price | Yes | Current price in USD |
| onBase | Yes | Circulating supply on Base + its share of total |
| source | Yes | Data source (e.g. DefiLlama) |
| pegStatus | Yes | on-peg | slight-deviation | off-peg | unknown |
| topChains | Yes | Top chains by circulating supply |
| pegMechanism | No | e.g. fiat-backed, crypto-backed, algorithmic |
| pegDeviationPct | Yes | Absolute deviation from $1.00, % |
| totalCirculatingUsd | Yes | Total circulating supply (USD) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readonly, open-world, and idempotent. The description adds critical behavioral details: it's a paid tool ($0.002 via x402), without payment returns a 402 challenge, and the npm package pays automatically. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is four sentences, front-loaded with payment notice, then functionality, then use case, then mechanism. It is reasonably concise but could be slightly tighter; however, all information earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (paid, data retrieval, with output schema and rich annotations), the description covers purpose, payment, use case, and automatic payment handling. It is complete enough for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one optional parameter 'asset' with description in schema. Schema coverage is 100%, so the description adds no extra parameter meaning beyond what the schema already provides. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides stablecoin intelligence: supply, peg health, per-chain breakdown. It names specific metrics and a use case (treasury/payments agent). It distinguishes from sibling tools like token_price and token_safety, which cover different aspects.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use case: a treasury/payments agent checks settlement asset health. It also explains the payment mechanism and how the npm package handles it. It does not explicitly exclude alternatives, but the context is sufficient for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_priceToken price & liquidity (free)ARead-onlyIdempotentInspect
FREE real-time price snapshot for any EVM token by contract address: USD price, 5m/1h/6h/24h change, liquidity, 24h volume, market cap/FDV and the most-liquid DEX pair (DexScreener). Or pass a major symbol (ETH/BTC) for a Coinbase spot price. Read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain slug: base (default), ethereum, polygon, arbitrum, optimism, bsc, avalanche | |
| token | No | ERC-20 contract address (0x…) — preferred | |
| symbol | No | Major asset symbol (e.g. ETH, BTC) — used when no contract address is given |
Output Schema
| Name | Required | Description |
|---|---|---|
| asOf | Yes | ISO 8601 time the snapshot was read |
| name | No | Token name |
| note | No | Human-readable caveat about the snapshot, if any |
| chain | No | Chain the quoted pair trades on |
| fdvUsd | No | Fully-diluted valuation in USD |
| source | Yes | Data source |
| symbol | No | Token symbol |
| topPair | No | The most-liquid DEX pair used |
| priceUsd | Yes | Current USD price (most-liquid pair) |
| recommend | No | Recommended paid next step (token_safety) — present for contract-address lookups where a rug/honeypot check matters |
| priceChange | No | Percent price change by window |
| liquidityUsd | No | Pair liquidity in USD |
| marketCapUsd | No | Market cap in USD |
| volume24hUsd | No | 24h trading volume in USD |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint. The description adds valuable context: it is free, real-time, and sourced from DexScreener/Coinbase. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that front-loads key attributes (FREE, real-time, price snapshot) and efficiently lists all included data points and input methods. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description does not need to detail return values. It covers all necessary context for a tool with 3 optional parameters, including data sources and input modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the description enhances parameter meaning: explains 'chain' as chain slug, 'token' as preferred ERC-20 address, 'symbol' as major asset fallback. It clarifies the input mode logic.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it provides a real-time price snapshot for EVM tokens via contract address or major symbol, listing specific data points (USD price, changes, liquidity, volume, market cap). It distinguishes itself from sibling tools by being free and focused on price.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly describes two usage modes: contract address for detailed DexScreener data or major symbol for Coinbase spot price. It implies when to use this tool, but does not explicitly mention when not to use or compare with siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
token_safetyToken safety & rug check ($0.01)ARead-onlyIdempotentInspect
PAID ($0.01 USDC via x402). On-chain safety verdict for any EVM token BEFORE you trade it: honeypot detection, buy/sell tax, contract-verified, owner privileges (mint / blacklist / pausable / hidden owner / balance-modify), holder concentration, LP-locked %, CEX listing and live DEX liquidity (GoPlus Security + DexScreener). Returns verdict safe|caution|danger with the exact risks. Without payment this returns the 402 challenge; the fiatdock-mcp npm package (AGENT_PRIVATE_KEY) pays automatically. Not financial advice.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain slug: base (default), ethereum, polygon, arbitrum, optimism, bsc, avalanche | |
| token | Yes | ERC-20 contract address (0x…) to screen |
Output Schema
| Name | Required | Description |
|---|---|---|
| asOf | Yes | ISO 8601 time the verdict was computed |
| name | No | Token name |
| note | No | Human-readable caveat about the verdict, if any |
| risks | Yes | Each detected risk: level (danger|caution), flag, detail |
| source | Yes | Data source (e.g. GoPlus Security + DexScreener) |
| symbol | No | Token symbol |
| isProxy | No | Upgradeable proxy contract |
| verdict | Yes | Overall risk verdict |
| buyTaxPct | Yes | Buy tax % |
| isHoneypot | Yes | Token cannot be sold (honeypot) |
| isMintable | No | Supply can be minted |
| sellTaxPct | Yes | Sell tax % |
| holderCount | No | Number of holders |
| lpLockedPct | No | Liquidity-pool tokens locked, % |
| isOpenSource | Yes | Contract source verified/open |
| liquidityUsd | No | DEX liquidity in USD |
| topHolderPct | No | Top holder's share of supply, % |
| verdictReason | Yes | Plain-language explanation of the verdict |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnly, openWorld, idempotent. Description adds cost ($0.01 USDC via x402), payment mechanism, automatic payment via npm package, and the behavior when unpaid (returns 402 challenge). States 'Not financial advice.' No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with key purpose and capabilities. Every sentence adds value: first explains what it does and returns, second covers payment and automation, third is disclaimer. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple checks, payment integration), the description covers verdict, risk details, and payment flow. Output schema exists (mentioned in context) but not shown; description mentions return format. Adequate for an AI agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers both parameters with 100% description coverage. Description adds default chain (base) but little else beyond schema. Baseline 3 is appropriate as schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs an on-chain safety verdict for EVM tokens before trading, listing specific checks (honeypot, tax, contract, owner privileges, etc.) and returns verdict safe|caution|danger. It distinguishes from siblings by focusing on risk assessment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use 'BEFORE you trade it' and mentions the payment requirement. Describes the 402 challenge without payment and how the npm package pays automatically. No explicit when-not-to-use, but context implies usage for token safety screening.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Your Connectors
Sign in to create a connector for this server.