Count and list of matching job objects with title, company, salary ranges, and URLs.
get_salary_benchmark
Get salary statistics (min, median, max) for a role from active job postings.
Arguments:
role (required), location (optional)
Returns:
Salary percentiles (p25, median, p75) based on active postings with disclosed pay ranges.
compare_offer
Compare two job offers side-by-side. Computes estimated annual total compensation and returns a structured recommendation.
Arguments:
offer1 (required), offer2 (required)
Returns:
Estimated annual total compensation for each, differences, and a structured recommendation.
get_company_intel
Get company info: active job count, salary range, and top open roles.
Arguments:
company (required)
Returns:
Company active roles count, salary range (min, average, max), and top open positions.
add_to_tracker
Save a job to the authenticated user's tracker. Requires a valid Mulyra Bearer token in the Authorization header.
Arguments:
job_id (required)
Returns:
Status confirmation string indicating success or if the job is already tracked.
get_top_skills_for_role
What skills are employers requiring most for this role right now?
Arguments:
title (required), country (optional)
Returns:
Top 10 skills required by employers for this role, with frequency counts and sample size.
compare_salary_relocation
Side-by-side salary comparison across two countries (real market data).
Arguments:
title (required), from_country (required), to_country (required)
Returns:
Median salary, local currency, USD equivalent, and cost-of-living index for origin and destination.
get_hiring_velocity
Is demand for a role up or down in a market? Returns delta_pct vs 90 days ago.
Arguments:
title (required), country (optional)
Returns:
Current and prior 30-day posting counts, percentage change, and up/down/stable trend.
get_days_to_fill
How long do roles like this typically stay open?
Arguments:
title (required), country (optional)
Returns:
Average days to fill from closed postings and sample size.
get_company_hiring_signal
Is this company hiring more or less than 3 months ago?
Arguments:
company (required), country (optional)
Returns:
Green/yellow/red hiring signal, active jobs, 30-day posting velocity, and change percentage.
get_ghost_job_risk
What percentage of this company's postings are likely ghost jobs?
Arguments:
company (required), country (optional)
Returns:
Ghost rate percentage, risk tier, active job count, and recent ghost job count.
get_salary_at_close
What did companies actually pay for this role? Returns percentile distribution of closing salaries from recently-filled roles.
Arguments:
title (required), country (optional), period (optional, days, max 180)
Returns:
Salary percentile distribution (p10-p90) from recently-filled postings.
get_fill_rate
What percentage of posted roles actually get filled?
Arguments:
country (optional)
Returns:
Fill rate: percentage of jobs posted 30-60 days ago that are now inactive.
get_salary_trend
Are salaries for this role going up or down?
Arguments:
title (required), country (optional)
Returns:
30-day, 60-day, and 90-day salary midpoint averages and the trend direction.
Get your Developer Token
Authenticate your AI assistant to track jobs, monitor application status, and unlock high-limit benchmarks.
Frequently Asked Questions
What is the Model Context Protocol (MCP)?
MCP is an open standard designed by Anthropic that allows AI applications like Claude Desktop, Cursor, or IDE extensions to securely connect to external APIs and databases. Rather than writing custom plugins for each LLM, MCP provides a standard way to expose tools and resources to any assistant.
How do I authenticate tools that require a Mulyra token?
Public tools like search_jobs, get_salary_benchmark, compare_offer, get_company_intel, get_top_skills_for_role, compare_salary_relocation, get_hiring_velocity, get_days_to_fill, get_company_hiring_signal, get_ghost_job_risk, get_salary_at_close, get_fill_rate, and get_salary_trend require no authentication. The add_to_tracker tool requires user-level authentication. You can set the MULYRA_API_KEY environment variable in your MCP configuration to authorize these actions automatically.
Are there rate limits on the MCP server?
Yes. Mulyra enforces fair-use rate limits per IP address across the API to keep the service fast for everyone. Interactive MCP usage stays well below the limit, while automated bulk requests may be throttled.