Reference adapter for the Open Agent Toolset Protocol (OATP) - a protocol for managing and executing agent toolsets with validation, phase management, and policy enforcement
This is a stub/reference implementation with severe definition gaps. All 5 tools have basic parameter schemas visible in the Rust code, but descriptions are minimal (10-30 chars), lack actionable context, and do not explain when/why to use each tool. No output schemas are documented. The 'exec' tool is particularly dangerous, it accepts arbitrary commands with no validation guidance, no dry-run option, and no error recovery hints. Parameter descriptions are generic ('The command and arguments to execute') without format constraints or examples of valid inputs. No tool explains dependencies, prerequisites, or what data structures are returned. This server is not production-ready.
Validate a toolsets.json file against the OATP schema
Validate and execute a command against the active toolset
List resolved tools from the active toolset
Set the active phase
List all available registries in resolution order
exec tool accepts arbitrary commands with no validation, constraints, or dry-run support. Description does not warn of irreversible consequences or guide error recovery.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., tool IDs, registry paths) from responses.
Parameter descriptions are generic and lack format constraints. E.g., 'phase' parameter has no enum constraint; 'path' has no validation rules; 'cmd' has no guidance on shell escaping or forbidden patterns.
Tool descriptions are 10 - 30 characters, below the 50-char minimum for LLM comprehension. They do not explain WHEN to use each tool or what it returns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 30 | 2026-07-28+ | v2 |
No error handling guidance. Tools do not document what errors are retryable, what the LLM should do on failure, or how to recover from invalid input.