MCP server for searching remote / work-from-home jobs aggregated and deduped from multiple vetted job boards and employer career sites, enriched with perks, skills, seniority, and AI-role flags.
Five tools with complete schemas and descriptions. Naming follows verb_noun pattern (search_, get_, list_). Descriptions are adequate (100-200 chars, within baseline 194 avg). All parameters have type definitions and descriptions. However, several parameters lack enum constraints despite accepting known values (category, region, perk, company filters). Output schemas are not formally documented, only inferred from code. Error handling is minimal (generic 'Job not found' for get_job). No tool annotations (readOnlyHint, idempotentHint). Parameter descriptions could be more prescriptive about valid values and formats.
Get full details for a single job by its slug.
List job categories with current open counts.
List curated perk-based collections (e.g. tuition reimbursement, six-figure) with counts.
List companies hiring remotely with open counts. Optional category filter.
Search current remote / work-from-home job listings curated by Remote Jobs Center. Filter by free-text query, category, region, perk, or company. Returns ready-to-apply links.
Parameters accept known enumerated values but lack enum constraints. 'category' accepts 'software, data, design, marketing, sales, support, writing, product, finance, hr' (stated in description) but not declared as enum in schema. Same for 'region' (us, uk, europe, canada, latam, apac, worldwide) and 'perk' (tuition-reimbursement, six-figure, etc.). LLMs will hallucinate invalid values.
Output schemas are not formally documented in tool definitions. Responses are inferred from code (e.g., search_remote_jobs returns {total, returned, jobs[]}; get_job returns {job} or {error}). LLMs cannot plan downstream calls or validate response structure without explicit schema documentation.
Error handling is minimal and non-actionable. get_job returns {error: 'Job not found'} with no guidance on recovery (e.g., 'Try search_remote_jobs() with a partial title'). No error categorization (retryable vs. fatal). Violates recovery-guide pattern.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
No tool annotations (readOnlyHint, idempotentHint, destructiveHint). All tools are read-only and idempotent, but this is not declared in the schema. Agents cannot infer safety properties without explicit hints.
Parameter descriptions lack prescriptive format guidance. 'limit' says 'Max results to return (default 20, max 50)' but does not specify minimum or validate range in code. 'query' and 'company' accept free-text but do not document case-sensitivity or substring-match behavior explicitly.