MCP server for HR: job descriptions, resumes, training, KPIs. Human resources automation.
All 5 tools have minimal, generic descriptions (10-30 chars) that fail to explain WHAT the tool does, WHEN to use it, or what it returns. Input schemas are present but trivial: all tools accept a single 'input' string parameter with no type validation, format guidance, or constraints. No output schemas documented. No error handling guidance. Tools lack verb-based naming (e.g., 'job_description_generator' should be 'generate_job_description'). No parameter descriptions beyond 'Input data (JSON)'. No evidence of idempotency, pagination, or composition patterns. This server reads like a thin wrapper around a remote API with no agent-optimization.
Job description generator
KPI generator
Resume text parser
Training certification requirements
Training needs analyzer
All tool descriptions are under 20 characters and provide zero actionable context. 'Job description generator', 'Resume text parser', etc. do not explain when to call the tool, what input format is expected, or what the output contains.
Input schema for all tools is identical and trivial: a single 'input' string parameter with description 'Input data (JSON)'. No type validation, format constraints, required fields, or examples. LLMs cannot infer what JSON structure is expected.
No output schemas documented. Callers cannot know what fields to expect from responses, breaking tool composition and forcing LLMs to parse unstructured JSON.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 28 | 2026-07-28+ | v2 |
Tool names use noun-based patterns ('job_description_generator') instead of verb-based patterns ('generate_job_description'). LLMs rely on action verbs to infer intent before reading descriptions.
No error handling guidance. callBankr() catches exceptions and returns {status: 'error', error: e.message}, but tool handlers do not validate responses or provide recovery hints to the LLM.