Model Context Protocol (MCP) server for Jobicy remote jobs database
Two well-named tools with clear, detailed descriptions and proper input schemas. Both tools include tool annotations (readOnlyHint). Naming follows verb_noun pattern (get_jobs, get_taxonomies). Descriptions are comprehensive (194 - 250 chars, within baseline 34 - 392 range) and include prerequisites and rate-limit guidance. Input schemas are properly typed with constraints (enums, minLength, maxLength, min/max). However, output schemas are not documented, LLMs cannot predict response structure. Error handling returns raw error messages without recovery guidance. No pagination support despite potential for large result sets.
Fetches a structured list of remote jobs from the Jobicy database. Safe GET request with zero side-effects. No authentication required. Returns a JSON object containing an array of job listings sorted by publication date, newest first. Each job object includes: id, url, jobTitle, companyName, companyLogo, jobIndustry, jobType, jobGeo, jobLevel, jobExcerpt, jobDescription, and pubDate. Always call 'get_taxonomies' first if you need to discover valid location or industry slugs to filter your search. Supports pagination via the 'count' parameter from 1 to 100. Rate limits: standard public web limits apply, avoid aggressive loop calls.
Retrieves available filter slugs for locations or industries to prevent formatting errors. Read-only metadata request with no side-effects. No authentication required. Returns a JSON object containing valid slugs. Use this tool before get_jobs when you need to verify if a specific region or category slug exists.
Output schemas not documented. LLMs cannot predict response structure (job fields, taxonomy format, pagination). Agents must infer from examples or trial-and-error.
Error handling returns raw error messages without recovery guidance. 'Jobicy API error: 404' tells LLM nothing about next steps. Should suggest alternatives or retry logic.
get_jobs lacks pagination support. count parameter controls result size but no offset/cursor or total_count returned. Large result sets risk context window exhaustion.
get_jobs description mentions 'Always call get_taxonomies first' but does not explain why or when. Dependency hint is present but could be clearer for LLM planning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | A | 82 | 2026-07-28+ | v2 |
count parameter defaults to 100 but description says 'Default is 100' without stating whether omitting it returns 100 or all results. Ambiguous default behavior.