MCP server exposing the python-jobspy job-board scraper (LinkedIn, Indeed, Glassdoor, ZipRecruiter, Google, Bayt, Naukri, BDJobs)
Single tool 'search_jobs' has excellent naming (verb_noun), comprehensive parameter schema with proper enums and constraints, and well-structured output schema (SearchJobsResult). Description is detailed (400+ chars) and explains use case clearly. Tool annotations present (readOnlyHint, idempotentHint, destructiveHint). However, some parameter descriptions could be more concise, and error handling guidance is minimal. Output schema properly documented with Pydantic models. No critical gaps, but room for improvement in error messaging and recovery guidance.
Search live job postings across job boards. Returns compact, point-in-time job records (title, company, location, salary, posted date, URL) scraped at call time. Use offset to page through more results (offset applies per site). Does NOT apply to jobs, fetch company reviews, or save searches/alerts - it only reads current public listings.
Error handling lacks recovery guidance. ToolError exceptions (e.g., invalid country_indeed) are raised but do not suggest next steps or available alternatives to the LLM.
Parameter descriptions are verbose (some 200+ chars). Descriptions like 'google_search_term' could be condensed to 50-100 chars while retaining clarity, reducing token overhead.
No batch or multi-query variant. If an agent needs to search multiple job titles or locations, it must call search_jobs repeatedly, wasting tokens and latency.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2026-07-28+ | v2 |