Non-Human Identity (NHI) management — agent authentication, credential lifecycle, and delegation. OpenID Connect and OAuth 2.0 compliant identity server for AI agents.
ZeroID presents a CLI-based MCP server with 18 tools, but critical definition gaps severely limit usability. Most tools lack visible input schemas (only 3 of 18 have documented parameters). Descriptions are present but generic (avg ~40 chars, well below the 194-char baseline). No output schemas are documented. Tool names follow verb_noun convention (good), but parameter descriptions are minimal or absent. The server appears to expose CLI commands as tools without proper schema formalization for LLM consumption. No evidence of error handling guidance, pagination support, or composition patterns.
Activate a previously deactivated agent
Deactivate an agent (reversible — does not delete)
Get an agent by ID
List all registered agents
Rotate an agent's cryptographic key
Approve a pending CIBA request (admin-side simulation)
Deny a pending CIBA request (admin-side simulation)
15 of 18 tools have NO visible input schemas. Only zeroid agents get, rotate-key, deactivate, activate, ciba approve, deny, and poll show parameter definitions. The remaining tools (init, token decode/verify/issue/revoke, agents list, creds list, signal, config, ciba init, ciba listen) expose no schema at all, making them unusable by LLMs.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., agent_id, token, auth_req_id) without knowing the response structure. This breaks tool composition and forces agents to guess field names.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
Initiate an OpenID CIBA (Client Initiated Backchannel Authentication) request
Listen for CIBA authentication notifications
Poll for the result of a CIBA authentication request
Manage ZeroID configuration profiles
List credentials for an agent
Initialize ZeroID configuration and setup
Send a signal to an agent
Decode a JWT token without verification
Issue a new JWT token
Revoke a JWT token
Verify a JWT token signature and claims
Descriptions are generic and under 50 characters for most tools (e.g., 'Initialize ZeroID configuration and setup', 'Decode a JWT token without verification'). Baseline is 194 chars. Descriptions lack WHEN to use, prerequisites, or what the tool returns. This violates the pattern:tool-description requirement that descriptions be prompt-engineered for LLM selection.
Parameter descriptions are minimal or absent. zeroid ciba approve has 10 parameters but only 2-3 have meaningful descriptions (e.g., 'subject-id' has 'Approved end-user identifier; becomes token sub' but 'admin-base-url' is vague). LLMs cannot infer parameter meaning from names alone.
No error handling guidance. Tools like zeroid token verify, zeroid agents get, and zeroid ciba poll provide no recovery hints (e.g., 'If token is invalid, try zeroid token decode first'). Agents cannot self-correct on failures.