Dynamic API Agent with MCP server for discovering, documenting, and executing API tools. Exposes tools over the Model Context Protocol for LLM clients to discover and call arbitrary APIs.
Adaptora's MCP tools suffer from critical definition gaps. Tool schemas are present but descriptions are severely underdeveloped (most under 100 chars, some vague). The 'dynamic_endpoint_tools' tool is inferred rather than explicitly registered, capping its score at 50. Parameter descriptions are sparse or missing entirely. 'run_action' accepts free-form natural language with no constraints, validation guidance, or error recovery hints. No tool declares what it modifies or its side effects. Error handling is absent, no guidance on retryability, user-fixable vs fatal errors, or recovery paths. Security concerns: credentials are mentioned as 'returned' by setup_new_tool but no explicit secret injection pattern is documented.
For each tool the user has connected, every endpoint becomes its own MCP tool with a typed input schema derived from the endpoint's params/body dicts. Re-evaluated on each tools/list so newly connected tools appear immediately.
List which tools this user already authenticated to
List every cached tool definition available to this user
Refresh documentation for an already-known tool by re-running the discovery pipeline
Natural-language dispatch to execute actions against connected tools. This is the chat-mode API that accepts free-form user intent and routes it to the appropriate tool endpoints.
Discover documentation for an arbitrary API tool and set it up in the agent. Two modes: • Give just `tool` → web search → OpenAPI spec parsing → LLM extraction from the fetched docs. • Give `tool` + `source_url` (an OpenAPI/Swagger spec link or a doc page the user supplied) → build the tool from THAT doc only, no web search. Use this whenever the user pastes a documentation link in chat. Returns the tool's auth requirements so the next step is to provide credentials via your usual config (the agent doesn't accept credentials over MCP for security reasons).
run_action accepts unconstrained natural-language 'action' parameter with no validation, enum, pattern, or error recovery guidance. LLM has no way to know what actions are valid or how to self-correct on failure.
dynamic_endpoint_tools is inferred (not explicitly registered with schema in source). Tool definition is generated at runtime; no static schema visible.
No tool declares whether it modifies state (creates, updates, deletes). Agents cannot determine which calls are safe to retry and which have irreversible consequences.
setup_new_tool description mentions returning 'auth requirements' but no output schema is documented. LLM cannot plan downstream credential injection steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
No error handling guidance. Tools lack recovery hints (e.g., 'If tool not found, call list_known_tools first'). Agents cannot self-correct on failures.