AstraCipher as an MCP Server - identity verification tools for AI agents. Exposes AstraCipher identity operations as MCP tools for creating identities, issuing credentials, and verifying agents.
Four tools with cryptographic identity focus. All have descriptions (10-20 chars baseline met), but parameter descriptions are minimal and generic. Input schemas present but lack depth: most parameters use generic 'object' types without field-level schema. No output schemas documented. Error handling absent, no guidance on what happens when verification fails or credentials are invalid. Tool names follow verb_noun pattern (create_agent, verify_agent, check_permissions, inspect_credential) but descriptions are terse and lack WHEN/WHY context. No idempotency hints, no recovery guidance.
Check if an agent has permission to perform a specific action on a resource.
Create a new cryptographic identity (DID) for an AI agent. Returns a DID document with post-quantum resistant keys.
Inspect and display details of an agent credential.
Verify an agent credential - checks signature, expiration, and revocation status.
Output schemas not documented. LLMs cannot plan downstream calls or extract credential fields without knowing what create_agent_identity, verify_agent, check_permissions, and inspect_credential return.
Parameter descriptions are generic ('Agent credential JSON to verify', 'Agent credential to inspect'). LLMs cannot infer structure, required fields, or format. Descriptions should specify: is credential a JWT? A JSON object with specific fields? What fields must be present?
No error handling guidance. What happens if verification fails? If a credential is revoked? If permissions are denied? Responses must tell the LLM what to do next (retry, ask user, abort). Currently absent.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 44 | 2026-07-28+ | v2 |
Parameter 'credential' in verify_agent, check_permissions, inspect_credential is typed as 'object' with no field schema. LLMs cannot validate structure before calling. Should define required fields (e.g., issuer, subject, signature, expiration) with types.
create_agent_identity accepts 'description' as optional but no guidance on length, format, or purpose. Should specify: max length, allowed characters, whether it's user-facing or internal.