MCP server for public Lever job boards. Resolve a company to its board, search its openings and read one posting. No API key required.
Four tools with complete schemas and descriptions. Naming follows verb_noun pattern (resolve_, search_, get_, list_). Descriptions are adequate (50-100 chars) but lack actionable context for LLM selection. Parameters are typed and described, but lack enums for constrained values (e.g., filter types, commitment types). Output schemas are defined in separate files but not visible in provided source. Error handling and recovery guidance are absent. Tool composition is sound, each has one responsibility and outputs chain to downstream tools (resolve_company → search_jobs → get_job). No security issues detected (read-only, no secrets). Baseline: 549 production tools average 18-char names (these: 14-20 chars, good); 194-char descriptions (these: 50-100 chars, below baseline but acceptable); 100% of A+ tools have param descriptions (these: 100% present).
Read one opening
List a company's filter wordings
Resolve company names to Lever boards
Search openings at named companies
Descriptions lack actionable context for LLM selection. 'Resolve company names to Lever boards' does not explain when to call this vs search_jobs, what happens if a company is not found, or what the output enables. Descriptions should be 50-200 chars and answer: what, when, and what's next.
search_jobs accepts 'commitment' as an array but no enum constraint is visible. LLMs will hallucinate values. Lever's commitment types (full-time, part-time, contract, etc.) must be declared as enums or documented with exact valid values.
No error recovery guidance. If resolve_company returns 404 (company not found), the description does not tell the LLM what to do next. Should it retry with a different name? Search for similar companies? Error responses must guide recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
Output schemas (getJobOutputShape, searchJobsOutputShape, etc.) are defined in src/tools/schemas.js but not visible in provided source. Cannot verify field names, types, or whether they enable tool chaining. Confirm output includes all IDs needed by downstream tools.
list_filter_values 'filter' parameter accepts a string but no enum is declared. Valid values are 'location', 'team', 'department', 'commitment', these must be enums, not free-form strings.