MCP server for job search, CV analysis, and career coaching with MongoDB integration
IkigAI has 7 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool names follow verb_noun convention (analyze-cv-for-skill, search-jobs, save-pdf-to-mongo), which is good. However, descriptions are minimal (10-50 chars), parameter descriptions are sparse or missing, and output schemas are not documented. Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present and correct, which is a strength. Error handling is minimal, most tools return generic text responses without recovery guidance. No pagination support despite tools that could return large result sets (search-jobs, get-all-user-sessions). The server mixes concerns: save-pdf-to-mongo and save-session-data are write operations without confirmation patterns or detailed error classification.
Analyze the CV for a user in order to return a profession
Retrieve all sessions for a user from MongoDB
Retrieve a PDF from MongoDB by ID and return it as base64
Retrieve session data with Q&A entries from MongoDB
Save an uploaded PDF file to MongoDB
Save or update session data with Q&A entries to MongoDB
Descriptions are too short (10-50 chars) and lack context for LLM tool selection. E.g., 'Retrieve a PDF from MongoDB by ID and return it as base64' (56 chars) does not explain when to use this vs other retrieval tools or what format the base64 is in.
Output schemas are not documented. Tools return generic ToolResponse with text content, but LLMs cannot infer structure of returned data (e.g., does search-jobs return JSON array or plain text? What fields are in each job object?).
No pagination support for tools that return lists (search-jobs returns 10 results hardcoded; get-all-user-sessions could return unbounded sessions). Missing limit, offset, and total_count parameters.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | <=2025-11-25 | v2 |
Search for jobs based on user preferences
Write operations (save-pdf-to-mongo, save-session-data) lack confirmation or dry-run patterns. No error classification (retryable vs fatal). Agents cannot distinguish between recoverable failures and data corruption.
Parameter descriptions are missing or generic. E.g., 'paese' (country) has no description; 'session' in save-pdf-to-mongo is ambiguous (session number? session ID? session object?). LLMs cannot infer correct values.