MCP server for evaluating candidate resumes against job descriptions using structured scoring criteria
Critical failures across all dimensions. The server declares a single tool 'execute_skill_action' in mcp_server.py status output, but provides NO input schema, NO parameter descriptions, and NO output schema documentation. The tool description is a placeholder: 'Execute skill action for resume evaluation (declared in server status but not fully implemented in provided code)', explicitly admitting non-implementation. The client.py file contains business logic (evaluate_candidate method) but is NOT registered as an MCP tool with proper schemas. No error handling, no parameter validation, no security controls. This is a stub implementation, not a production MCP server.
Execute skill action for resume evaluation (declared in server status but not fully implemented in provided code)
No input schema defined for execute_skill_action. Tool has zero parameter definitions, types, or constraints.
Tool description is a placeholder admitting non-implementation: '...declared in server status but not fully implemented in provided code'. This is 0-20 chars of actual guidance.
Business logic (evaluate_candidate) exists in client.py but is NOT exposed as an MCP tool. Tool registration is missing. The server only prints a JSON status message and exits, no actual MCP protocol implementation (no tool_call handling, no resource serving, no prompt serving).
No output schema documented. The client.evaluate_candidate() returns a dict with fields (role, scorecard, total_score, max_score, hire_recommendation, interview_focus_areas), but this structure is never declared in the MCP tool definition. LLMs cannot plan downstream calls or extract fields.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 15 | 2026-07-28+ | v2 |
No error handling, validation, or recovery guidance. Tool accepts arbitrary resume_text and job_description strings with no sanitization, length limits, or format constraints. No error responses guide the LLM on what to do if evaluation fails.