Protocol- and auth-agnostic API connector engine: send one normalized payload, reach REST or SOAP services behind any auth scheme — as a library, HTTP API, or MCP server.
Five tools with clear verb-noun naming (invoke, register_connector, list_connectors, invoke_connector, delete_connector). Descriptions are present and reasonably detailed (80-150 chars each), explaining WHAT and WHEN. However, input schemas lack critical detail: InvokeSpec and payload parameters are typed as generic 'object' with minimal constraint documentation. No enum constraints, format specifications, or validation rules visible in schemas. Parameter descriptions in code are adequate but schema definitions are underspecified. Error handling is minimal, invoke_connector returns a dict with 'success' and 'error' fields, but no guidance on recovery or retry logic. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE, DESTRUCTIVE). Output schemas are not formally documented.
Remove a registered connector.
Call any REST or SOAP service in one shot: give the target URL, auth details, and request/response format alongside the payload. Use this for one-off/unregistered targets; prefer `invoke_connector` for services you'll call repeatedly.
Invoke a previously registered connector by name with just a payload — the target/auth/format details were supplied at registration time.
List registered connectors (credentials redacted) so an agent can discover what's already available before calling `invoke_connector`.
Register a reusable, named connector (target + auth + formats) so it can be invoked later by name via `invoke_connector` without resending credentials each time.
InvokeSpec and payload parameters are typed as generic 'object' with no schema constraints, format specs, or validation rules. LLMs cannot infer valid structure or required fields.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite explicit risk levels declared (WRITE, DESTRUCTIVE). Agents cannot determine which tools are safe to retry.
Error handling is minimal. invoke_connector returns {'success': False, 'error': '...'} but provides no recovery guidance. Agents cannot determine if errors are retryable or require user intervention.
Output schemas are not formally documented. Callers must infer structure from code (result.model_dump(mode='json')). LLMs cannot plan downstream tool calls without knowing response fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Parameter descriptions in code docstrings are adequate, but JSON Schema definitions lack descriptions for 'spec' and 'payload' parameters. Schema descriptions are empty or missing.