SkillMatch MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| setupB | Onboard the user by collecting their job search profile. Captures: name, current_role, target_roles (list), salary_floor (integer), remote_only (bool), location, dealbreakers (list), github_url, resume_path. If a profile already exists, the 'confirm_overwrite' parameter must be true to replace it. |
| get_profileA | Read and return the saved user profile from data/profile.json. |
| get_portfolioA | Fetch public GitHub repos for the user. Returns repo name, description, language, topics, last updated, homepage, and README content for each repo. Pass deep=true to also run a Haiku-powered analysis of each README, extracting stack, what it does, complexity, and notable achievements. Omit deep (or pass false) for the free metadata+README fetch. Only use deep=true when you explicitly need structured analysis and the user has authorized API spend. |
| get_resumeA | Read the user's resume file. Reads resume_path from the saved profile and returns the raw text content. Supports .txt, .md, and .docx files. |
| search_jobsA | Build an optimized job search query. Accepts a free-text query and combines it with the user's saved profile (target roles, salary floor, remote preference) to construct a search query string. Returns the query for Claude to use with web search tools. Does NOT perform the search itself. |
| analyze_fitA | Gather all user data needed for job fit analysis. Accepts a job description, then internally fetches the user's portfolio (GitHub repos) and resume. Returns all three together in a structured bundle so Claude can reason about the fit. Does NOT perform the analysis itself. |
| log_applicationB | Log a job application to the tracking database. Creates the database if it does not exist. |
| get_applicationsB | Return all tracked job applications, ordered by most recent first. Optionally filter by status. |
| save_scouted_jobA | Save a scouted job listing to the tracked scouted_jobs.json file. Validates the URL to ensure it is a DIRECT link to a specific job posting (e.g. indeed.com/viewjob?jk=..., greenhouse.io/.../jobs/...) and rejects search result page URLs (e.g. indeed.com/q-..., builtin.com/jobs/...). Also deduplicates against existing scouted jobs and applications. Returns {saved: true/false, reason: '...'} with clear feedback. |
| get_scouted_jobsB | Return all scouted job listings from scouted_jobs.json. Optionally filter to only unranked jobs. |
| mark_jobs_rankedA | Mark all unranked scouted jobs as ranked. Returns the count of jobs marked. |
| parse_jdA | Parse a job description into structured signal: hard requirements, nice-to-haves, responsibilities, red flags, compensation signals, role type, experience level, and domain. Uses Claude API internally. Returns structured JSON for better fit reasoning. |
| update_applicationB | Update an existing application by ID. Accepts any subset of fields: status, notes, follow_up_due_date, response_received, outcome. Automatically updates last_activity_date. |
| get_follow_upsA | Return all applications where follow_up_due_date is today or earlier and status is still applied or screening. Shows what needs attention. |
| get_application_patternsA | After 10+ applications, analyze the full history to find patterns: which role types get responses, which skills resonate, which red flags recur in silent roles, and recommended search adjustments. Uses Claude API internally. |
| add_resumeB | Add a new resume variant to the profile. Each variant targets specific role types for automatic selection during fit analysis. |
| list_resumesA | Return all stored resume variants with their labels and target role types. |
| update_profileA | Update the user's profile with new or changed fields. Accepts any subset of profile fields and merges them into the existing profile.json without requiring a full re-setup. Useful for adding unlisted_skills, updating dealbreaker_detail, or changing any field. |
| read_repoA | Analyzes a local code repository and extracts structural information: detected languages, tech stack (frameworks/libraries from imports), entry points, key modules (classes and functions), and architecture shape. Returns raw structured JSON for Claude to interpret — no API calls, pure local analysis using AST for Python files and regex for JS/TS. Use this to understand a candidate's project before analyzing job fit, or to supplement get_portfolio with deeper technical signal from local repos. |
| purge_dead_listingsA | Checks every scouted job URL for liveness and removes expired or unavailable postings from scouted_jobs.json. Detects dead listings via HTTP 404/410 status codes and known closure phrases in page content (e.g. 'no longer accepting applications'). Connection errors and 5xx responses are treated as 'keep' to avoid false positives. Pass dry_run=true to preview what would be removed without actually deleting anything. |
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/jarmstrong158/skillmatch-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server