MCP Server for x402 micropayments, credential injection, and agent-to-agent routing with usage-based billing and identity management.
23 tools with schemas present but significant quality gaps. Most descriptions are adequate (100-200 chars) but lack LLM-optimized guidance on WHEN to use each tool vs. similar ones. Parameter descriptions are present but generic. Critical issue: proxy_execute, register_agent, rotate_credential, and route_tool_call accept or return sensitive credential/secret data as parameters/fields, violating secret-injection pattern. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Error handling descriptions missing, tools do not guide LLM on recovery paths. Output schemas not documented in tool definitions.
Calculate usage-based billing for a given agent and generate a draft invoice based on API call count and configured billing rate.
Check if an agent has exceeded their usage limits based on their pricing tier. Raises PaymentRequiredError if limit exceeded.
Generate a unique audit trail ID for a transaction.
Retrieve aggregated global usage statistics including total agents, calls, revenue, and recent activity.
Retrieve cached agent scopes if they exist and have not expired.
Retrieve a cached credential and its scopes if it exists and has not expired.
Secret data exposed as tool parameters: rotate_credential accepts 'new_secret_data' as object parameter; set_cached_credential accepts 'secret_data' parameter. Credentials must never appear in tool params, they are logged in traces and prompt history. Use server-side secret injection via environment variables or vault.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLM cannot distinguish safe read-only tools from destructive ones. Tools like 'delete_agent' (if it existed) would be indistinguishable from 'get_agent' without annotations. Add destructiveHint=true to write operations.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | <=2025-11-25 | v2 |
Calculate total revenue from the last 24 hours and provide projected revenue calculations for 7-day, 30-day, and annual periods.
Retrieve the most recently generated invoices from the billing engine.
Return current usage vs limits for a given agent, including projected costs and tier recommendations.
Return the total number of unique agents that have been metered.
Retrieve current usage statistics for a given agent including total calls, payment volume, and last used timestamp.
Handle Stripe-specific webhook events for payment processing and settlement.
Invalidate all cached credentials and scopes for a given agent. Called during credential rotation or agent updates.
Log key details of a proxy request for compliance and auditing including agent_id, credential_type, payment_amount, and success status.
Process incoming payment webhooks from x402 payment providers. Validates webhook signature and updates payment status.
Execute a proxy request with credential injection and x402 micropayment settlement. Routes tool calls through the Universal Agent Economy OS with usage metering and payment processing.
Record a usage event for the given agent. Thread-safe for FastAPI concurrency. Updates metering counters and analytics.
Register a new autonomous agent in the Identity Engine. Establishes the foundational record required for MCP/A2A operations and credential issuance.
Rotate or issue a new credential for an autonomous agent. Validates against vertical packs, calculates expiry, and delegates upsert to the identity database.
Route a tool call to another agent via A2A (agent-to-agent) routing. Enables agent-to-agent communication and delegation.
Cache agent scopes with a TTL.
Cache a credential and its scopes with a TTL.
Track an analytics event for usage monitoring and revenue tracking.
Error handling descriptions missing. Tools do not document what errors can occur, whether they are retryable, or what the LLM should do next. E.g., 'process_payment_webhook' does not explain what happens if signature verification fails or if the payment is already processed.
Output schemas not documented. Tool descriptions do not specify what fields are returned or their types. E.g., 'get_analytics_stats' returns 'aggregated global usage statistics' but does not list which fields (total_agents, total_calls, revenue, etc.) or their types.
Ambiguous parameter naming in credential/cache tools. 'secret_data' and 'new_secret_data' are vague, do they contain API keys, passwords, tokens, or all of the above? Suffix with type: 'api_key_data', 'oauth_token_data', or use an enum for credential_type to constrain what data is expected.