profesia-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PROFESIA_MCP_CACHE_TTL | No | Cache time-to-live for responses, in minutes. Defaults to 10 minutes. | |
| PROFESIA_MCP_USER_AGENT | No | Honest User-Agent that identifies this project. Set this if you fork the server. | |
| PROFESIA_MCP_MIN_INTERVAL | No | Minimum interval in seconds between requests (rate limit). Defaults to at least 1 second apart. |
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": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_jobsA | Search Profesia.sk job offers (20 per page). Args:
query: Free-text keywords, e.g. "python developer".
location: Location slug from list_locations, e.g. "bratislava", "kosice", "bratislavsky-kraj".
category: Job category slug from list_job_categories, e.g. "java-programator-programatorka".
Only one of location / category can be used; put the other in Returns jobs (id, title, employer, location, salary, labels, posted, url) and has_next. Pass a job id or url to get_job for the full description. |
| get_jobA | Get the full details of one job offer. Args: job: Offer id ("5356737", "O5356737") or a profesia.sk offer URL. Returns title, company, location, salary (+ note), contract type, date posted,
the full description, and |
| get_application_infoA | Find out how to apply for a job, so the user (or you, drafting for them) can apply. This tool does NOT submit anything and never handles credentials. It returns the apply link(s) (Profesia account login or the employer's own site), any contact emails found in the offer, and the offer's "selection process" text. Typical use: read the offer with get_job, draft a tailored cover letter/email, and hand it to the user to send. Args: job: Offer id ("5356737", "O5356737") or a profesia.sk offer URL. |
| company_jobsA | List open jobs of one employer. Args: company: Company page URL or path such as "https://www.profesia.sk/praca/pro-hr/C56404" or "pro-hr/C56404" (company slug + C-id; both appear in search_jobs / get_job results). page: Page number, starting at 1. Note: some large employers use custom-designed pages; if no jobs are returned for them,
use search_jobs with the company name as |
| scrape_jobsA | Collect many search results at once (optionally with full details for each). Same filters as search_jobs. Requests are rate-limited (about 1/second), so large jobs are slow on purpose; hard caps: 5 pages and 25 detail pages per call. Args:
max_pages: Result pages to fetch (1-5, 20 offers per page).
include_details: Also fetch the full offer page for the first |
| list_locationsA | List location slugs (regions and cities) usable as |
| list_job_categoriesA | List job position/category slugs usable as |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools have clearly distinct purposes: search_jobs finds listings, get_job fetches one offer, get_application_info explains how to apply, company_jobs lists an employer's openings, and the list_* tools provide filter slugs. search_jobs and scrape_jobs overlap in filtering, but scrape_jobs is clearly distinguished as a bulk/detail-collection tool with rate limits and caps.
The set mostly follows a consistent verb_noun snake_case pattern: get_job, search_jobs, get_application_info, list_locations, scrape_jobs, list_job_categories. company_jobs is a minor deviation because it omits the verb and breaks the list_* pattern used by the other listing tools.
Seven tools is well-scoped for a job-search server: search, detail, application guidance, company listings, bulk scraping, and two reference-list tools. Each tool earns its place without obvious redundancy or thin coverage.
The surface covers the core job-discovery lifecycle: find jobs, inspect details, identify filter options, explore employer listings, and learn how to apply. Minor gaps exist, such as no dedicated salary/statistics or saved-search/alert tooling, but agents can work around these for the stated purpose.