resume-mcp-server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging verbosity: DEBUG, INFO, WARNING, ERROR | INFO |
| RESUME_DIR | No | Directory scanned for documents | /app/resumes |
| FASTMCP_HOST | No | Bind address | 0.0.0.0 |
| FASTMCP_PORT | No | Port the HTTP server listens on | 8001 |
| FASTMCP_TRANSPORT | No | Transport protocol (http or stdio) | http |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_resume_summariesA | List resumes as lightweight identity records — id, name, email, phone only. Use this to orient and pick a resume_id before fetching details with other tools. Much more token-efficient than list_resumes when you only need to identify who is present. Pass query to filter by first or last name (absorbs the old search_resumes_by_name tool). Response includes total_count and items for pagination. |
| get_resume_profileA | Get a resume's top-level fields (contact info, professional statement, education) without the nested work experience and badge skill lists. See also: get_resume_full for everything about this resume in one call. Returns {"error": ...} if resume_id is not found. |
| get_resume_fullA | Get a resume's complete nested structure in one call: profile fields plus all work experiences (with achievements), badge skills, side projects (with technologies), and education entries (with competencies). Prefer get_resume_profile plus the scoped list_* tools (list_work_experiences, list_skills, list_side_projects, list_education) when you only need part of this — it's more token-efficient. Use get_resume_full when you need the whole picture at once. Returns {"error": ...} if resume_id is not found. |
| list_resumesA | List all documents. When doc_type is 'resume' (or omitted), structured resume data is returned if available; otherwise flat file metadata is returned. Response includes total_count and items for pagination. See also: list_resume_summaries for a lighter-weight, more token-efficient listing; get_resume_full for one resume's full nested structure by resume_id. |
| get_resumeA | Return the full extracted text of a document, as {"text": "..."}. Note: takes a file path (see list_resumes), not a resume_id — use get_resume_profile or list_resumes to fetch structured data by resume_id instead. Returns {"error": ...} if path is not found. |
| search_resumesA | Search across all documents for a keyword or phrase. Response includes total_count, items, has_more, next_offset, and message for pagination. |
| search_resumes_by_skillA | Find which resumes list one or more given badge skills. Returns resume identity and matched skill names only — more token-efficient than list_resumes when filtering by skill. Accepts either a single skill string or a list of skills to filter by multiple at once. Each result includes: id, first_name, last_name, matched_skills. Response includes total_count, items, has_more, next_offset, and message for pagination. |
| list_work_experiencesA | List work experiences, optionally filtered to a specific resume, only current roles, and/or a keyword query matched against company name, position title, or achievement descriptions (absorbs the old search_work_experiences tool). Each result includes a resume_id field identifying which resume the experience belongs to. Response includes total_count and items for pagination. Returns {"error": ...} if resume_id is given but not found. |
| get_work_experienceA | Get a single work experience entry with its achievements. Returns {"error": ...} if id is not found. |
| list_achievementsA | List achievements (resume bullet points), optionally filtered to a specific resume and/or a keyword query matched against the achievement text (absorbs the old search_achievements tool). Response shape depends on the arguments given, to keep the common case cheap:
|
| get_achievementA | Get a single achievement (phrase skill) by ID. Returns {"error": ...} if id is not found. |
| list_skillsA | List badge skills (technologies, tools, languages), optionally filtered to a resume and/or a keyword query matched against the skill title (absorbs the old search_skills tool). Note: badge skills are deduplicated and shared across resumes by title, so — unlike work experiences, side projects, and education — items here do not carry a resume_id. Response includes total_count and items for pagination. Returns {"error": ...} if resume_id is given but not found. |
| get_badge_skillA | Get a single badge skill by ID. Returns {"error": ...} if id is not found. |
| list_side_projectsA | List side projects (personal/portfolio projects, distinct from work experience), optionally filtered to a resume and/or matched by keyword or technology (absorbs the old search_side_projects and search_side_projects_by_technology tools).
|
| get_side_projectA | Get a single side project by ID, including the technologies it demonstrates. Returns {"error": ...} if id is not found. |
| list_educationA | List education entries (degree, institution, year, and relevant coursework/competencies), optionally filtered to a resume and/or matched by keyword or competency (absorbs the old search_education and search_education_by_competency tools).
|
| get_educationA | Get a single education entry by ID, including its competencies. Returns {"error": ...} if id is not found. |
| get_collection_statsA | Return aggregate counts and averages across the entire loaded resume collection. Returns total_resumes, total_work_experiences, total_unique_skills, total_side_projects, total_education_entries, total_achievements, avg_skills_per_resume, avg_work_experiences_per_resume. Example: get_collection_stats() |
| get_skill_frequencyA | Return badge skills ranked by how many resumes list them, in descending order. Useful for identifying the most common technologies across all candidates. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mnoomnoo/resume-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server