This MCP server exposes 26 tools spanning account management, fund transfers, transaction info, network config, and x402 payment operations. Critical assessment reveals pervasive gaps across naming, descriptions, parameter schemas, and output documentation. Most tools (23 of 26) lack visible input schema definitions in the source code provided. Descriptions are minimal (mostly 2-5 words) and provide no actionable context for LLM tool selection. Parameter types and constraints are undocumented. Error handling, recovery guidance, and security considerations are absent. The server appears to be a direct CLI wrapper without the abstraction layer required for agentic tooling. Only 3 tools (x402_verify, x402_settle, x402_supported) show explicit parameter definitions, but even these lack comprehensive schema documentation and output structure clarity.
23 of 26 tools lack visible input schema definitions. No JSON Schema type definitions, constraints, or parameter documentation provided in source code. Hard-cap rule applies: schema score = 0 for tools without observable schemas.
All tool descriptions are minimal (2-5 words: 'Complete an authorization request', 'Create a new account'). Descriptions are under 20 characters and lack context about WHEN to use the tool, WHAT it returns, and any prerequisites. Hard-cap rule applies: description score capped at 0-20.
Recommendations
Define complete JSON Schema for all 26 tools. Include type, description, required status, constraints (min/max, enum, pattern, length) for every parameter. Example: {'name': 'account_id', 'type': 'string', 'description': 'The Fast account ID (UUID format, e.g. 550e8400-e29b-41d4-a716-446655440000)', 'minLength': 36, 'maxLength': 36}.
Expand every tool description to 50-200 characters. Include: (1) what the tool does, (2) when to use it vs. similar tools, (3) any prerequisites, (4) what it returns. Example: 'Get the balance of a Fast USD or USDC account. Call this to check available funds before sending. Returns the balance in the native token denomination.'
Document output schema for every tool. Specify field names, types, and descriptions. Example for account_list: {'type': 'object', 'properties': {'accounts': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string'}, 'name': {'type': 'string'}, 'balance': {'type': 'number'}}}}, 'total': {'type': 'integer'}}}.
Add pagination to list tools: account_list, network_list, info_history, info_bridge_chains, info_bridge_tokens. Include limit (default 20, max 100), offset/cursor, and total_count in response.
Add confirmation/dry-run support for destructive operations (account_delete, network_remove, x402_settle). Return a confirmation_token on dry-run; require it on execute. This prevents accidental destruction.
Score history
Overall score trend
First recorded score · v2 rubric
35/100
Scored
Grade
Overall
Spec posture
Rubric
2026-09-22
F
35
2026-07-28+
v2
write
28/100
Fund USDC via crypto
fund_usdc_fiatwrite28/100
Fund USDC via fiat
info_balanceread only30/100
Get account balance
info_bridge_chainsread only28/100
Get available bridge chains
info_bridge_tokensread only28/100
Get available bridge tokens
info_historyread only28/100
Get transaction history
info_statusread only30/100
Get current status
info_txread only27/100
Get transaction information
network_addwrite30/100
Add a new network
network_listread only30/100
List all networks
network_removedestructive30/100
Remove a network
network_set_defaultwrite28/100
Set default network
payirreversible22/100
Make a payment
sendirreversible22/100
Send a transaction
x402_settleirreversible47/100
Settle x402 payment on-chain
x402_supportedread only48/100
Get list of supported payment kinds derived from facilitator configuration
x402_verifyread only47/100
Verify x402 payment payload and payment requirements
No documented output schemas for any tools. LLMs cannot plan downstream calls or extract required data from responses. Baseline from rubric: 100% of A+ tools have documented return types. All 26 tools score 0 on this dimension.
Generic tool names reduce clarity. 'send' and 'pay' are ambiguous, do they send crypto, fiat, or messages? Is 'send' different from 'pay'? 'info_tx' is vague; 'get_transaction_details' would be clearer. Naming pattern: verb_noun should be specific (send_transaction, pay_invoice).
Destructive operations (account_delete, network_remove, send, pay) lack confirmation/dry-run support and no recovery guidance. No explicit error messages documenting irreversibility or how to undo.
No pagination support visible for list tools (account_list, network_list, info_history, info_bridge_chains, info_bridge_tokens). Large result sets risk context window exhaustion and degraded LLM reasoning.
No security documentation. No mention of permission gates, credential handling, audit trails, or scope declarations. Financial tools (fund_*, send, pay, x402_settle) are high-risk and require explicit permission checks and audit logging.
No error recovery guidance. No indication of which errors are retryable vs. user-fixable. No actionable error messages. LLMs cannot self-correct without explicit guidance.
Document error responses with actionable recovery. Example: If account not found, return 'Account not found. Call account_list to see available accounts or create_account to add a new one.'
Add security annotations: declare required permissions for each tool (e.g., 'requires auth:write' for account_create, 'requires payment:sign' for send/pay). Document that all calls are audit-logged.
For financial tools (fund_*, send, pay, x402_settle), add explicit warnings and idempotency guidance. Example: 'This is an IRREVERSIBLE operation. Do NOT retry without user confirmation. Include an idempotency_key to safely retry network failures.'
Specify parameter constraints in descriptions. Example for fund_usdc_fiat: 'amount: The USD amount to fund (0.01-10000.00). Rates and limits vary by payment method.'
For x402 tools, expand output documentation. Document the structure of paymentPayload and paymentRequirements, expected response fields, and when to call each tool in sequence.