MCP server template implementation with Alegra API integration
Single tool with basic structure but significant quality gaps. The tool 'get-user-details' has a short, generic description (24 chars) that fails to convey what the tool does or when to use it. Parameter descriptions are minimal. The tool exposes sensitive information (password, API credentials) in responses, violating core security patterns. Error handling is present but generic. Tool naming is acceptable (verb_noun pattern), but the implementation lacks depth expected of production tools.
Gets detailed user information
Security vulnerability: tool response exposes password and API credentials as plaintext fields in JSON output
Tool description is 24 characters ('Gets detailed user information'), below the 34-char p10 baseline and lacks actionable context about when to use the tool or what it returns
Input parameter 'userId' lacks context about expected format, constraints, or resolution strategy. No guidance on whether to pass user IDs, emails, or usernames
No output schema documented. Tool returns hardcoded response structure but LLM has no contract describing fields, types, or when fields may be absent
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 41 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 40 | - | v1 |
Error handling is generic ('Error retrieving user details') with no recovery guidance. LLM cannot determine if error is retryable, user-fixable, or fatal
Tool reads environment variables (USER, PASSWORD, API_URL) for credentials, which is acceptable server-side, but then returns password in response, violating the principle that credentials must never appear in tool responses