A Model Context Protocol server for Affinidi Elements that provides tools for managing projects, login configurations, and issuing verifiable credentials for event tickets
Server has 6 tools with mixed quality. Three tools (create_note, list_notes, summarize_notes) have basic descriptions and schemas, but lack depth. Three Affinidi tools (list_project, list_login_configurations, vc_issuance_event_ticket) expose API keys as required parameters, a critical security violation. Descriptions are generic (10-100 chars, below the 194-char baseline). Parameters lack validation constraints (enums, ranges). No error handling guidance. Output schemas are undocumented. Tool composition is reasonable but parameter design violates secret-injection pattern.
Create a new note
List all the Login Configurations in the default Project
Get all the notes
Get the list of projects created in affinidi
Summarize all notes
Issue a verifiable credential (VC) for an event ticket. Use this tool when a user requests a ticket or VC for an event (e.g., "I want a ticket VC for Tech Event in Bangalore tomorrow"). On success, it returns a VC offer URL for the user to claim the ticket.
API keys exposed as required tool parameters (list_project, list_login_configurations, vc_issuance_event_ticket). Credentials must never appear in tool params, they leak into logs and traces.
Output schemas are not documented. LLMs cannot plan downstream calls or extract required fields (e.g., project_id from list_project response).
Pagination parameters (limit, exclusiveStartKey) lack constraints. No min/max specified; no guidance on default behavior or result limits.
Descriptions are generic and under 100 chars for most tools (list_notes: 18 chars, summarize_notes: 20 chars). Baseline is 194 chars. LLMs cannot distinguish when to use these tools.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | <=2025-11-25 | v2 |
No error handling guidance. Tools do not indicate what to do on failure (retry, ask user, abort). Agents cannot recover from errors.