Skip to main content
Glama

Alion: company, startup and market intelligence

Hiring and pay statistics

market_stats
Read-onlyIdempotent

Aggregate statistics for a slice of the job market in one call - the answer to "how much does X earn in Y", "how many companies hire X", "is demand for X growing", "which employers hire X most", "how fast do such roles close". Takes the same filters as search_jobs (role, country, city, seniority, work_mode, employment_type, technology, query, company, industry, visa_sponsorship, has_equity, salary_min_usd) plus window_days, and returns: open postings and hiring companies now; new postings in the last 30 days against the 30 before (trend_30d_pct); work-mode and seniority mix; salary percentiles p10-p90 in USD per year, stated (midpoint of the posted range) and estimated separately, with the salary transparency rate; time to fill in days (first seen to confirmed closed on the employer board); the top 10 employers, and - among the 3000 newest open postings of the slice - the top 15 required technologies and the top countries (when no country is given) with their shares. Every block carries its sample size n; percentiles are null under 5 postings rather than guessed. Drill into any figure with search_jobs and the same filters. Answers are cached for up to 6 hours; a block that could not be computed in time is named under partial and its figures are null (unknown, not zero) - repeat the call in about a minute for the whole answer. Costs 2 units per call. Docs: https://alion.io/developers/docs

Input Schema

NameRequiredDescriptionDefault
cityNoCity name prefix.
roleNoRole or role family by name, e.g. "Backend", "Data Engineer", "Product Manager".
queryNoFree-text words that must appear in the title or description.
companyNoOne employer by id, domain or exact name.
countryNoISO 3166-1 alpha-2 code or country name.
industryNoIndustry of the posting or its employer, e.g. "Fintech", "Real Estate".
seniorityNoSeniority of the role: intern, junior, middle, senior, staff, lead or head.
work_modeNoWhere the work happens: on_site, hybrid or remote.
has_equityNoOnly postings that offer equity.
technologyNoA required technology, e.g. "Rust", "Kubernetes".
window_daysNoHow far back the salary and time-to-fill samples reach (postings first seen in the window).
salary_min_usdNoMinimum annual pay in USD: a stated range whose top reaches it, or an estimate whose midpoint does.
employment_typeNoKind of engagement: full_time, part_time, contractor, cofounder, freelance or internship.
include_agenciesNoInclude postings by staffing agencies and intermediaries (left out by default).
visa_sponsorshipNoOnly postings that state visa sponsorship.

Output Schema

NameRequiredDescriptionDefault
metaNoQuota and credit standing after this call.
as_ofNo
cachedNo
demandNo
salaryNo
sampleNo
partialNoBlocks that did not finish in time: their figures are null (unknown, not zero)
warningsNo
top_countriesNo
top_employersNo
filters_appliedYes
seniority_shareNo
work_mode_shareNo
top_technologiesNo
time_to_fill_daysNoDays from first seen to confirmed closed

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / filters_applied / properties
      Previous value: -[]New value: +{}
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond the readOnly/idempotent annotations by disclosing cache TTL (up to 6 hours), partial-result semantics ('named under partial and its figures are null ... repeat the call in about a minute'), null-vs-zero percentile behavior under 5 postings, and a 2-unit cost per call. These are exactly the operational traits an agent needs, though the retry guidance is somewhat buried mid-paragraph.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and return blocks are front-loaded and no sentence is pure filler, but the definition is one dense paragraph mixing inputs, ten output blocks, caching, and billing. It would scan better with structure, though for a 15-parameter statistical tool the length is largely earned.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers inputs, output blocks with sample sizes, null-handling, partial-result recovery, caching, and cost — everything needed to invoke and interpret the tool correctly. The output schema exists, so the return-value prose is redundant-but-harmless rather than a gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so per-parameter meaning is already documented. The description only restates the filter list and adds the 'same as search_jobs' framing; window_days' reach is clarified only marginally beyond the schema's own wording. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (aggregate statistics) and enumerates the exact questions it answers, making its role distinct from the sibling search/list tools. An agent can tell immediately that this is the analytics tool rather than a posting-lookup tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the sibling it pairs with ('Takes the same filters as search_jobs', 'Drill into any figure with search_jobs and the same filters'), giving both the alternative and the condition that selects it. It also implies the when-not case: individual postings belong to search_jobs, aggregates to this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources