MCP server for AI agent identity verification via AIP (Agent Identity Protocol)
AIP Identity Server has 8 tools with basic descriptions and input schemas present in the code. However, multiple critical quality gaps significantly limit production readiness: (1) Parameter descriptions are generic and lack constraint documentation (e.g., 'scope' parameter in aip_trust_score has no valid values listed; 'did' parameters lack format guidance). (2) No output schemas are documented, LLMs cannot reliably extract expected fields from responses. (3) Error handling is minimal, most tools either succeed or raise RuntimeError with generic messages; no guidance for recovery or retry logic. (4) Parameter-to-field naming consistency issues: tools accept 'did' and 'scope' but output mapping is unclear. (5) Tool descriptions are adequate but lack actionable context about when to use each vs. alternatives (e.g., aip_verify vs aip_verify_signature are conceptually adjacent). (6) No tool annotations (readOnlyHint/destructiveHint) despite clear risk classification, important for agent planning. (7) Credentials loading happens inside each tool via _load_client(), repeating the pattern 8 times and offering no guidance in descriptions about prerequisites ('Run aip register first'). (8) The server is STDIO-only, capping protocol readiness at 50 regardless of definition quality.
Check for messages sent to your agent.
Register a new AIP identity for your agent.
Send an encrypted message to another agent.
Cryptographically sign content with your AIP identity to prove authorship.
Get the trust score and vouch chain for an agent.
Verify another agent's identity via cryptographic challenge-response.
Verify a cryptographic signature against a DID's public key.
No output schemas documented for any tool. LLMs must infer response structures, leading to parsing errors and wasted inference cycles.
Parameter descriptions use examples ('e.g. GENERAL, CODE_SIGNING', 'e.g. github, moltbook, discord') instead of enums or explicit valid-value lists. LLMs treat 'e.g.' as exhaustive, leading to hallucinated invalid values.
Error handling is minimal. Most tools raise RuntimeError or return bare error dicts without guidance for agent recovery. No distinction between retryable, user-fixable, and fatal errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 50 | - | v1 |
Show your current AIP identity — DID, platform, and public key.
Tool descriptions lack context about prerequisites and when to use each tool. aip_whoami should note 'Call this first to see your identity', aip_verify vs aip_verify_signature distinction is unclear, aip_register should document idempotency.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk classification in tool metadata. aip_send_message and aip_register are marked WRITE but tools have no destructiveHint annotation.
Credentials loading pattern (_load_client called 8 times, each with identical RuntimeError) creates redundant code and fails to document the prerequisite 'aip register' in tool descriptions.