MCP server for payment processing, agent management, and spending limits with approval workflows
Critical gaps across all dimensions. Tool definitions are not visible in provided source code, only file paths and names are listed. No input schemas, parameter descriptions, or output documentation can be verified. The server.ts shows tool imports but no explicit registration with McpServer.registerTool(). Without seeing actual tool implementations (balance.ts, pay-service.ts, etc.), schemas cannot be scored. This is a major red flag: if tools exist only as file references without visible definitions, they are inferred rather than directly verifiable, capping per-tool scores at 50 maximum. Additionally, the 'ledger' tool is listed as coming from web/components/dashboard/app-sidebar.tsx, a React UI component file, which is not a valid MCP tool location and suggests misclassification or incomplete source disclosure.
No tool definitions visible in source code. Tool files (balance.ts, pay-service.ts, etc.) are referenced but not provided. Cannot verify input schemas, parameter descriptions, or output documentation.
Tool 'ledger' is listed as coming from web/components/dashboard/app-sidebar.tsx, a React UI component file. This is not a valid MCP tool location and suggests either misclassification or incomplete source disclosure.
Tool registration in server.ts uses dynamic imports (await import('./tools/balance')) but does not explicitly call mcpServer.registerTool(). Cannot verify that tools are properly registered with the MCP server.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | 2026-07-28+ | v2 |
Tool naming 'pay-service' violates verb_noun convention. Should be 'send_payment', 'process_payment', or 'execute_payment' to clearly signal the action.
No parameter descriptions, type definitions, or constraints visible. Cannot verify that parameters are documented or that enums/ranges are declared for constrained inputs.