Standalone MCP server for API debugging, login authentication, API configuration and indexed execution tools
Server has 5 tools with complete input schemas and descriptions, but quality is inconsistent. Tool names lack action verbs (api_debug, api_login, api_config, api_help, api_execute are noun-heavy or generic). Descriptions are present but verbose (200-400 chars, above the 10-200 char ideal). Parameters have types and descriptions, but several lack constraints (enums, min/max). No output schemas documented. Error handling not visible in provided code. Security concern: api_login and api_config are WRITE tools that modify state but lack confirmation/dry-run patterns. Composition is reasonable (5 focused tools), but naming ambiguity (api_debug vs api_execute vs api_config) may confuse LLM tool selection.
API configuration management tool for managing API settings, endpoints, and configurations. Examples: get config, set baseUrl to "https://api.example.com", updateHeaders with {"Authorization":"Bearer token"}, search APIs by keyword, list all configured APIs
API debugging tool for directly executing API requests with automatic content-type detection and flexible body format support. Examples: GET /api/users with query params, POST /api/login with JSON body {"username":"admin","password":"123456"}, PUT /api/users/123 with form data "name=John&[email protected]"
Execute API requests by index from configured API list. Examples: execute API at index 0, execute with overrides {"method":"POST","body":{"key":"value"}}
API help tool that provides detailed documentation and examples for all API debugging tools. Use this to understand how to use api_debug, api_login, api_config, and api_execute tools effectively
API login authentication tool that uses environment variables for login credentials. Automatically extracts token from response and updates Authorization headers. Example: Call with optional baseUrl parameter to override default base URL
Tool names lack action verbs. 'api_debug', 'api_login', 'api_config' are noun-heavy and do not clearly signal intent. LLMs rely on verb_noun naming (e.g., 'execute_api', 'authenticate_api', 'configure_api') to infer action before reading descriptions.
No output schemas documented. Tools return results but LLMs cannot plan downstream calls or extract fields without knowing response structure. Descriptions mention examples but do not specify return types or field names.
Descriptions are verbose (200-400 chars, above ideal 10-200 range). Examples embedded in descriptions ('POST /api/login with JSON body {"username":"admin","password":"123456"}') risk LLMs reusing literal values. Use parameter constraints (enums, patterns) instead.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 39 | 2026-07-28+ | v2 |
WRITE tools (api_login, api_config) lack confirmation or dry-run patterns. Agents can modify state without preview. No error recovery guidance visible. Irreversible operations should support confirmation_request pattern.
Parameter 'body' in api_debug and api_execute accepts multiple formats (JSON, form data, XML, plain text) but lacks type definition in schema. Schema shows 'description' only, no 'type'. LLMs cannot validate input format.