AI Analysis MCP Server for TathminiAI - performs ODK research data analysis using OpenRouter API with multiple analysis types (descriptive, trend, quality, recommendations, summary)
This MCP server has severe definition quality gaps. While it implements 3 tools with some structure, the definitions lack the rigor required for production LLM agents. Tool naming is partially acceptable but descriptions are generic and lack actionable guidance. Input schemas exist but are incomplete, parameters lack proper type constraints and validation guidance. Most critically, there is no visible output schema documentation, making it impossible for LLMs to plan downstream operations. Error handling is minimal (generic 400/500 responses with no recovery guidance). The server appears to be a thin HTTP wrapper around an Express backend with OpenRouter API calls, but the MCP interface itself is underdeveloped.
Analyze ODK research submissions with AI for a specific analysis type (descriptive, trend, quality, recommendations, or summary)
Perform batch analysis of ODK research data across multiple analysis types simultaneously
Health check endpoint for the TathminiAI Analysis Server
No output schema documentation. The tools return unstructured responses (JSON blobs) without documented field names, types, or required fields. LLMs cannot plan downstream operations or extract specific data.
Parameter descriptions are too generic and lack actionable constraints. 'Array of ODK submission data to analyze' does not explain the expected structure, required fields, size limits, or format. 'List of research objectives' lacks guidance on what makes a valid objective.
Missing type constraints on parameters. 'context' is declared as 'object' with no schema, 'data' accepts any array with no validation of submission structure, 'analysisType' enum is present but 'analysisTypes' in batch tool is not constrained.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 37 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 16 | - | v1 |
Error responses provide no recovery guidance. Generic error messages like 'Invalid data format' or 'Analysis error: ...' do not tell the LLM what to do next, whether to retry, or what the root cause is.
Tool descriptions lack WHEN to use guidance. 'Analyze ODK research submissions with AI' does not explain the difference between analyze, analyze-batch, or health, or when an agent should choose one over another.
Batch tool naming ambiguity. 'analyze-batch' uses a hyphen while singular is 'analyze'. Convention would be 'analyze' (single) and 'analyze_batch' (multiple, with underscore for consistency). Current naming creates parsing ambiguity for LLM tool selectors.
No pagination support documented. If ODK submissions are large, the 'data' array could grow unbounded. The tools should support pagination (limit, offset) and return a count so agents can iterate safely.
Missing security and audit controls. API key (OPENROUTER_API_KEY) is used server-side (good), but there is no mention of rate limiting, request logging, permission gates, or audit trails for agent-initiated analysis operations.