Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOG_LEVELNoLogging verbosity: DEBUG, INFO, WARNING, ERRORINFO
RESUME_DIRNoDirectory scanned for documents/app/resumes
FASTMCP_HOSTNoBind address0.0.0.0
FASTMCP_PORTNoPort the HTTP server listens on8001
FASTMCP_TRANSPORTNoTransport 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

CapabilityDetails
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

NameDescription
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:

  • resume_id given, query omitted: bare {id, desc} per item (cheapest — you already know which resume these belong to).

  • query given, and/or resume_id omitted: each item also includes company_name, position_title, work_experience_id, and resume_id, since that context would otherwise be unrecoverable from the achievement alone. Response includes total_count and items for pagination. Returns {"error": ...} if resume_id is given but not found.

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).

  • If technology is given, projects are matched against technology names only, and each result uses a lighter shape: id, name, description, matched_technologies, resume_id.

  • Else if query is given, projects are matched against name, description, or technology names, and each result includes the full nested structure plus resume_id.

  • If both are given, technology takes precedence and query is ignored.

  • If neither is given, today's plain listing behavior applies. Response includes total_count and items for pagination. Returns {"error": ...} if resume_id is given but not found.

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).

  • If competency is given, entries are matched against competency names only, and each result uses a lighter shape: id, institution, degree, year, matched_competencies, resume_id.

  • Else if query is given, entries are matched against institution, degree, or competency names, and each result includes the full nested structure plus resume_id.

  • If both are given, competency takes precedence and query is ignored.

  • If neither is given, today's plain listing behavior applies. Response includes total_count and items for pagination. Returns {"error": ...} if resume_id is given but not found.

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

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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