An MCP server for managing job applications, resumes, and application evidence with support for snapshot creation, artifact retrieval, and job pipeline feeds.
Four tools with well-structured schemas and clear descriptions. All tools have explicit input schemas with proper JSON Schema types and constraints. Descriptions are domain-specific and actionable (120-280 chars). Tool annotations present (readOnlyHint, destructiveHint, idempotentHint). Key gaps: parameter descriptions are sparse or missing in some schemas (e.g., 'cursor' in get_job_pipeline_feed lacks detail); output schemas not documented; error handling guidance minimal. Naming is clear and verb-driven. Composition is sound, each tool has one responsibility.
Materialize a private, immutable application-evidence snapshot for bounded cohort review. This records a protected source snapshot; it does not submit an application or acknowledge downstream processing.
Read one bounded private page from a previously materialized application-evidence snapshot. The final-page marker means this response is terminal; callers reconcile all page ordinals to the snapshot total.
Read one bounded private DOCX or PDF artifact by application and resume IDs. The server resolves its stored path, verifies its SHA-256 hash, and never accepts an arbitrary URL or storage path.
Read recorded application totals, changes after a saved cursor, and due/overdue follow-ups. Omit cursor for an explicit baseline. Returns a proposed next cursor; persist it only after downstream processing succeeds. A refusal has no checkpoint. Totals cover recorded applications, not verified real-world submission completeness.
Output schemas not documented. Tools return JSON responses but LLMs cannot see what fields to expect. Breaks downstream tool chaining and forces LLMs to guess field names.
Parameter 'cursor' in get_job_pipeline_feed has type 'object' but no description of its structure or valid fields. LLMs cannot construct valid cursor objects without explicit guidance.
Error handling responses use isError flag but do not provide actionable recovery guidance. A 'refused' status tells the LLM nothing about why or what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 70 | 2026-07-28+ | v2 |
Parameter 'after' in get_application_evidence_snapshot_page is optional but its structure (object with 'ordinal' field) is not explained in the parameter description.
Tool annotations present but incomplete. create_application_evidence_snapshot marks readOnlyHint=false and destructiveHint=false, but description says it 'records a protected source snapshot', should be destructiveHint=true or clarify immutability semantics.