MCP server for strateegia API integration
Single tool 'list-projects' has critical definition gaps. The input schema is empty (empty properties object with no required fields) which is technically valid but provides no guidance to LLMs about how to use the tool. Description is minimal (24 characters) and provides no context about what projects are returned, what the Strateegia API is, or when to call this tool. No output schema is documented. No error handling guidance. Tool name follows verb_noun pattern correctly but lacks supporting structure. The tool appears functional but falls far below production quality standards for agent-oriented design.
List projects from Strateegia API
Tool description is too brief (24 chars) to guide LLM tool selection. Should explain: What data does it return? What are projects used for? When should this be called instead of other tools?
No output schema documented. LLMs cannot plan downstream operations or extract specific fields from the response. The response contains labs and projects but no schema declares this structure.
Input schema is empty (no properties, no required fields). While technically valid for a parameterless tool, it provides no documentation about pagination support, filtering options, or constraints. Most agents benefit from limit/offset or cursor parameters to avoid returning thousands of results.
No error handling or recovery guidance. If the API call fails (401 auth, rate limit, malformed response), the tool throws a generic Error. LLMs receive no actionable next steps (e.g. 'Check STRATEEGIA_API_KEY is set' or 'Retry in 60 seconds').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 41 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 29 | - | v1 |
Response is unstructured text (string concatenation). The tool builds a formatted text summary but returns it as plain text. Agents cannot programmatically extract lab IDs, project IDs, or counts for downstream use. Should return structured JSON with arrays of labs and projects.
No result limiting or pagination. If the Strateegia API returns 1000 projects across 100 labs, the tool will format and return all of them, potentially overwhelming the LLM context window. Should cap results (e.g. first 20 labs) and provide next_cursor or offset for pagination.
API key is loaded on every call to getAccessToken() without caching or TTL management. The access token is fetched fresh each time, wasting latency and risking rate limits from the auth endpoint. Should cache the token with expiry logic.