MCP server for agentic wallet payment evaluation, policy enforcement, budget management, and audit logging with PostgreSQL persistence
18 tools with complete input schemas and descriptions, but significant gaps in output documentation, error handling, and composition patterns. Tool names follow verb_noun convention well (submitPayment, authorizeSessionGrant, etc.). Descriptions are present (avg ~120 chars) but lack actionable context for LLM selection. No documented output schemas, pagination guidance, or error recovery paths. Critical security operations (emergencyPause, approveReviewTicket) lack confirmation/dry-run patterns. Parameter descriptions are generic; many lack format constraints, ranges, or enum values. No evidence of idempotency guarantees or chaining-ID inclusion in responses.
Approve a pending review ticket, allowing the associated payment to proceed.
Authorize a session grant for an agent with optional policy version override. Returns session grant with expiration and revocation tracking.
Consume a session grant for a payment, decrementing available budget and tracking usage.
Deactivate an agent, preventing further payment submissions.
Pause all wallet operations for a workspace, blocking all payment submissions until resumed.
Retrieve active payment policies for a workspace.
Retrieve current status and configuration of a registered agent.
No documented output schemas for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., does submitPayment return executionReceiptId for tracking?). Violates pattern:tool and mxe:response-field-naming.
Irreversible operations (emergencyPause, approveReviewTicket, rejectReviewTicket) lack confirmation/dry-run patterns. Agents can block all wallet operations or reject payments without a safety gate. Violates pattern:confirmation-request.
Parameter descriptions lack format constraints, ranges, and enums. E.g., 'amount' is a string with no format guidance (decimal places? max value?). 'status' filters lack enum values (pending|approved|rejected). Violates pattern:constrained-input.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Retrieve audit events for a workspace, filtered by date range and event type.
Retrieve budget reservations for a workspace, filtered by state and time window.
Retrieve human review tickets requiring approval, filtered by status and workspace.
Retrieve list of verified service providers for a workspace.
Register a new agent with API key authentication and optional policy overrides.
Register a verified service provider with allowed recipients and categories.
Reject a pending review ticket, blocking the associated payment.
Resume wallet operations for a paused workspace, re-enabling payment submissions.
Revoke an active session grant for an agent, preventing further payment submissions under that session.
Submit a payment intent for evaluation against active policies, risk assessment, and budget constraints. Returns policy decision, risk evaluation, and execution receipt if approved.
Update payment policy configuration for a workspace, creating a new policy version.
No error handling guidance. Tools do not document what errors are retryable, user-fixable, or fatal. No recovery paths (e.g., 'If payment rejected, call getReviewTickets to see why'). Violates pattern:recovery-guide and pattern:error-classification.
No pagination guidance for list tools (getAuditLog, getBudgetReservations, getReviewTickets). Limit parameter exists but no total count, next_cursor, or max-result documentation. Large result sets risk context window exhaustion. Violates pattern:paginated-result.