Skip to main content
Glama

Server Details

Global market intelligence from premier data partners and government agencies, with citations.

Ownership verified
Status
Healthy
OAuth
Works in Glama
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 13 tools

Disambiguation4/5

Most tools target clearly distinct objects (pay, postings, crosswalk, fx, periods, IDs, credits) and the descriptions explicitly separate the tricky pairs: lookup vs describe, and gwix_summary (fast preview) vs ask_gwix (full report) vs get_pay (single figure). The remaining overlap is mild sequencing ambiguity (when to stop at summary vs escalate to ask_gwix), but overall selection is straightforward.

Naming Consistency3/5

Readable and snake_case throughout, but conventions are mixed: verb_noun (get_pay, list_periods, read_guide), bare verb (describe, lookup, ask_gwix), and noun-only (crosswalk, fx_rates, data_status, account_usage). No single predictable pattern lets an agent infer names, though nothing is cryptic.

Tool Count4/5

13 tools fits a labor-market data API well, and each has a distinct job. The balance tilts toward meta/discovery tools (lookup, describe, list_dimensions, list_periods, data_status, read_guide — six of thirteen) relative to the two core data tools, but each meta tool is justified by ID/period resolution needs.

Completeness4/5

The surface covers the domain well: discovery (lookup, describe, list_dimensions, list_periods), data (get_pay, get_postings), taxonomy mapping, currency conversion, answer synthesis, data freshness, credits, and operating rules. Minor gaps: no explicit company/industry/job-family listing or side-by-side comparison tool, though change-over-time and comparisons are folded into the data tools.

Available Tools

13 tools
ask_gwixAsk GWIX: full sourced analysis
Read-onlyIdempotent
Inspect

Use for any question a person asks about pay, hiring, the labor market, companies, occupations or the economy (after get_job_summary when that applies): it returns the detailed, multi-source GWIX report users expect. Use the other tools only for a specific figure, a lookup, or data to build on. GWIX's own analyst: answers a question with a full, sourced report that combines every relevant GWIX source (job ads, advertised pay, hiring) with official statistics (BLS, Census, ONS and other agencies), with percentiles, trends, comparisons, chart data, what it means, and a citation for every figure. Takes 30-90 seconds. Uses the credits of the data calls it makes; free Ask GWIX answers are used first.

NameRequiredDescriptionDefault
placeNoWith occupation_code: the city with state (Houston, TX), metro or state in the question.
countryNoWith occupation_code and no place: ISO-2 country (US, GB).
questionYesThe user's question in their words, with any place, role, company, industry or period they gave.
occupation_codeNoWhen the question names a job: its SOC 2018 code, as soc_2018:29-1141 (registered nurses). Lets the GWIX panel show a quick summary while the report is written.
describe_idDescribe a GWIX ID
Read-onlyIdempotent
Inspect

Use to explain a GWIX ID returned by another tool (for example a location, company or soc_2018:... occupation ID): what it is, its parent and its attributes. Not for finding an ID from a name; use find_id for that. Returns the ID's name, type, parent IDs and attributes. What a GWIX ID means: name, parents and attributes (roles, job families, SOC occupations, companies, industries, locations, job levels).

NameRequiredDescriptionDefault
idYesThe GWIX ID exactly as another tool returned it, e.g. soc_2018:29-1141.
dimensionYesThe kind of ID: location for a place ID, company for a company ID, soc_occupation for soc_2018:... codes, and so on.
find_idResolve names to GWIX IDs
Read-onlyIdempotent
Inspect

Use first to turn a city, metro, state, company, ticker or job family into a GWIX ID for get_pay and get_postings. Resolve a plain-language name to a GWIX ID before asking for statistics: a company (or ticker), a place (city, postcode, metro, state, country), a job family or sub-job family, or a company's industry. Returns matched results, or needs_disambiguation with candidates (ask the user or pick using context), or no_match.

NameRequiredDescriptionDefault
qNoName to match.
cityNoLocation: city name.
typeYes
stateNoLocation: state name or code.
tickerNoCompany: stock ticker.
countryNoISO-2 country filter.
postcodeNoLocation: postal code.
company_idNoIndustry: the company whose industry to return.
job_family_idNoSub-job family: parent job family.
get_account_usageCredits and usage
Read-onlyIdempotent
Inspect

Use when the user asks about their GWIX credits, balance, expiry or usage. Your organization's credit balance, credit lots with their expiry, and usage. Free.

NameRequiredDescriptionDefault

No parameters

get_data_statusData release and coverage
Read-onlyIdempotent
Inspect

Use to check what data is live before quoting figures: the current release ID, the last complete week, and which countries are covered and how fully. Pass a country (ISO-2) for one country. Returns the release, its dates and per-country coverage. The live data release, the last complete week used by statistics, and coverage per country. Free.

NameRequiredDescriptionDefault
countryNoISO-2 country, e.g. US. Omit for all countries.
get_fx_ratesExchange rates
Read-onlyIdempotent
Inspect

Use to convert or explain non-USD pay: the exchange rates GWIX applied when it reported pay in USD. Pass currency codes (EUR, GBP) or countries (DE, GB) and an interval; optionally a period range. Returns units per USD for each currency and period. Exchange rates GWIX used (units per USD) per currency and period. Free.

NameRequiredDescriptionDefault
countryNoComma-separated ISO-2 countries, e.g. DE,GB; their currencies are returned.
currencyNoComma-separated ISO 4217 currency codes, e.g. EUR,GBP.
intervalNoPeriod length of each rate.
end_periodNoLast period label, e.g. 2026-Q3.
start_periodNoFirst period label, e.g. 2026-Q1.
get_job_summaryGWIX quick summary
Read-onlyIdempotent
Inspect

Use first, when a question names a job (and a place or country): show its summary to the user immediately. A fast summary (a few seconds) for an occupation in a place: median and middle-half advertised pay, the gap to the national market, the year-on-year change and job-ad volume, with a citation. Show it to the user straight away, then call ask_gwix for the full report.

NameRequiredDescriptionDefault
placeNoCity with state (Midland, TX), metro or state name. Omit for a whole country.
countryNoISO-2 country when there is no place (US, GB).
occupation_codeYesSOC 2018 code for the job in the question, as soc_2018:47-2111 (electricians), soc_2018:29-1141 (registered nurses), soc_2018:15-1252 (software developers).
get_payPay and salaries for a job and place
Read-onlyIdempotent
Inspect

Use for: what does a job pay, salary, wages, hourly rate or earnings for an occupation in a city, metro, state or country, or at a company; pay trends and how pay compares with the market. Advertised pay percentiles (p10-p90) from job ads, by period, for an occupation, company, industry and place, with optional change over time and market benchmarks. Pay is advertised pay, not actual pay.

NameRequiredDescriptionDefault
splitNo'brand' with parent_company_id or ticker: one row set per brand.
soc_idNoSOC 2018 occupation IDs, e.g. soc_29-1141 (geography and job level only).
tickerNoStock ticker, e.g. MAR: the listed company's whole group.
compareNoAdd change vs the previous period or 12 months earlier.
countryNoISO 3166-1 alpha-2 country, e.g. US, GB. Required unless location_id is given.
role_idNoGWIX role IDs (rol_...).
currencyNoUSD (default) or each country's own currency.
intervalNoPeriod type. Default month; prefer quarter or year for pay.
pay_unitNo
benchmarkNonational, local, industry, local_industry (needs an occupation filter).
company_idNoBrand-level company IDs (cmp_...), from find_id type company.
end_periodNoLast period label. Default: the latest complete period.
industry_idNo4-digit NAICS industry groups, comma-separated.
location_idNoCountry (US), state (US-CO) or metro (mtr_...) IDs, from find_id type location. Use this or country.
percentilesNoSubset of p10,p25,p50,p75,p90.
job_level_idNolvl_entry, lvl_intermediate or lvl_senior; absent = all levels.
start_periodNoFirst period label, e.g. 2026-Q2, 2026-03, 2025. Default: the latest complete period.
job_family_idNoJob family IDs (jfm_...), from find_id type job_family.
occupation_codeNoOccupation codes as <system>:<code>, comma-separated: soc_2018:15-1252, isco_08:2512, esco:2512.4, onet_soc:15-1252.00, soc_2010:15-1132. Returns one row set per SOC 2018 occupation the code maps to.
parent_company_idNoUltimate parent company ID (cmp_...): the whole group.
sub_job_family_idNoSub-job family IDs (sjf_...), from find_id type sub_job_family.
benchmark_industry_idNo4-digit NAICS for industry benchmarks.
get_postingsHiring and job openings
Read-onlyIdempotent
Inspect

Use for: hiring, job openings, labor demand and labor market conditions; is hiring rising or falling; where demand for an occupation is growing; which industries or companies are hiring; company strategy shown by shifts in hiring. Job ads first posted, by period, for an occupation, company, industry and place, with optional change over time. Counts are ads, not hires.

NameRequiredDescriptionDefault
splitNo'brand' with parent_company_id or ticker: one row set per brand.
soc_idNoSOC 2018 occupation IDs, e.g. soc_29-1141 (geography and job level only).
tickerNoStock ticker, e.g. MAR: the listed company's whole group.
compareNoAdd change vs the previous period or 12 months earlier.
countryNoISO 3166-1 alpha-2 country, e.g. US, GB. Required unless location_id is given.
role_idNoGWIX role IDs (rol_...).
intervalNoPeriod type. Default month; prefer quarter or year for pay.
company_idNoBrand-level company IDs (cmp_...), from find_id type company.
end_periodNoLast period label. Default: the latest complete period.
industry_idNo4-digit NAICS industry groups, comma-separated.
location_idNoCountry (US), state (US-CO) or metro (mtr_...) IDs, from find_id type location. Use this or country.
job_level_idNolvl_entry, lvl_intermediate or lvl_senior; absent = all levels.
start_periodNoFirst period label, e.g. 2026-Q2, 2026-03, 2025. Default: the latest complete period.
job_family_idNoJob family IDs (jfm_...), from find_id type job_family.
occupation_codeNoOccupation codes as <system>:<code>, comma-separated: soc_2018:15-1252, isco_08:2512, esco:2512.4, onet_soc:15-1252.00, soc_2010:15-1132. Returns one row set per SOC 2018 occupation the code maps to.
parent_company_idNoUltimate parent company ID (cmp_...): the whole group.
sub_job_family_idNoSub-job family IDs (sjf_...), from find_id type sub_job_family.
list_dimensionsDimensions and ID formatsA
Read-onlyIdempotent
Inspect

Use to learn which filters GWIX accepts (location, company, industry, occupation, job family, job level) and the ID format and lookup for each. Returns one row per dimension. The dimensions GWIX filters by, their ID formats and the lookup for each. Free.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint, idempotentHint, not open-world), so the bar is lower; the description still adds real value by describing the return shape ('one row per dimension') and flagging that the call is free. It doesn't state size or freshness of the dimension set, but for a static reference tool that's minor.

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

Conciseness3/5

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

The second sentence ('The dimensions GWIX filters by, their ID formats and the lookup for each') largely restates the first, and 'Free.' is a dangling fragment. The lead is well front-loaded with 'Use to...', but roughly half the text is redundant.

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

Completeness4/5

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

With no output schema, the description carries the burden of describing returns, and it does say one row per dimension with ID format and lookup. For a simple zero-param reference tool, an agent has enough to call it correctly, though a note on how the rows link to lookup would round it out.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing to disambiguate and the baseline is 4. The description correctly implies a parameterless call.

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

Purpose4/5

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

States a specific purpose — a discovery tool that reports which filters GWIX accepts and each one's ID format and lookup. The enumerated dimension list makes the coverage concrete. It does not, however, differentiate itself from discovery-ish siblings such as lookup or crosswalk, so an agent must infer which one to consult first.

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

Usage Guidelines3/5

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

'Use to learn which filters GWIX accepts' gives an implied when-to-use context, and 'Free' signals no cost. There is no explicit guidance on when to call this versus lookup or describe, and no sequencing hint (e.g., call this before lookup to get the right ID format).

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

list_periodsPeriod labels and datesA
Read-onlyIdempotent
Inspect

Use to turn a period label (2026-Q3, 2026-M10, 2026-W41) into exact start and end dates, or to list the periods available in a date range before asking get_pay or get_postings for a period. Returns one row per period with its label, start date, end date and whether it is complete. Period labels and exact dates (weeks, 4-week months, 13-week quarters, 52-week years) and the last complete week. Free.

NameRequiredDescriptionDefault
toNoLatest date to include, YYYY-MM-DD.
fromNoEarliest date to include, YYYY-MM-DD.
typeYesPeriod length: week, 4-week month, 13-week quarter or 52-week year.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds what annotations cannot: the return shape (one row per period with label, start, end, complete flag) and that the call is 'Free', which matters for an agent budgeting calls. It does not cover ordering of the returned rows or how 'complete' is determined for the current period.

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

Conciseness3/5

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

The first two sentences are front-loaded and earn their place. The third sentence is a broken fragment — 'Period labels and exact dates (weeks, 4-week months...) and the last complete week' — that has no verb, repeats the parenthetical already given, and dangles 'the last complete week' without explaining it.

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

Completeness4/5

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

With no output schema, the description carries the burden of describing the return value and does so (label, start, end, complete flag). For a 3-parameter read-only lookup, that is nearly sufficient; the unexplained 'last complete week' phrase is the only thing an agent might need clarified.

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 the schema already documents from, to and the type enum fully. The description adds the label formats associated with each period length (4-week month, 13-week quarter, 52-week year), but says nothing new about from/to semantics or what happens when they are omitted. Baseline 3 applies.

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 and resource twice over: resolve a period label (2026-Q3, 2026-M10, 2026-W41) into exact start/end dates, or enumerate the periods inside a date range. The concrete label examples and the 'returns one row per period' clause make it unmistakable against siblings like get_pay, which it explicitly positions itself in front of.

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

Usage Guidelines4/5

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

Says to use it 'before asking get_pay or get_postings for a period', which names the alternatives and the sequencing that selects this tool. It does not state a when-not case (e.g. what to do if you already know exact dates), so it stops short of full routing guidance.

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

map_occupation_codeMap occupation codes
Read-onlyIdempotent
Inspect

Use for: what is this SOC, O*NET, ISCO or ESCO code in another taxonomy, or which occupation codes a job maps to. Map an occupation code (soc_2018, soc_2010, onet_soc, isco_08, esco) or a GWIX role to SOC 2018 occupations and the GWIX roles their ads fall in.

NameRequiredDescriptionDefault
codeYesThe code, e.g. 2512, 15-1252, rol_...
to_systemNosoc_2018, gwix_role or both comma-separated (default both).
from_systemYes
roles_limitNoRoles per SOC occupation (default 10).
read_guideContext guide for an operation
Read-onlyIdempotent
Inspect

Use before reporting results from an operation, to get its definitions, sample-size rules and the required wording. The operation is the API operation ID (get_pay, get_postings, lookup, crosswalk and so on), not the tool name. The context guide for an operation (get_pay, get_postings, lookup, crosswalk, describe_dimension_value, list_fx_rates, list_periods): parameters, rules, minimum sample sizes, and how to word results. Free.

NameRequiredDescriptionDefault
operationYesOperation ID, e.g. get_pay.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedask_gwix3 fields changed
      • addedInput schema / properties / country
        Added value: +{
        +  "description": "With occupation_code and no place: ISO-2 country (US, GB).",
        +  "type": "string"
        +}
      • addedInput schema / properties / occupation_code
        Added value: +{
        +  "description": "When the question names a job: its SOC 2018 code, as soc_2018:29-1141 (registered nurses). Lets the GWIX panel show a quick summary while the report is written.",
        +  "type": "string"
        +}
      • addedInput schema / properties / place
        Added value: +{
        +  "description": "With occupation_code: the city with state (Houston, TX), metro or state in the question.",
        +  "type": "string"
        +}
  2. 13 tool updates
    • First observedaccount_usage
    • First observedask_gwix
    • First observedcrosswalk
    • First observeddata_status
    • First observeddescribe
    • First observedfx_rates
    • First observedget_pay
    • First observedget_postings
    • First observedgwix_summary
    • First observedlist_dimensions
    • First observedlist_periods
    • First observedlookup
    • First observedread_guide

Publisher details

Operator
Global Wholesale Intelligence Exchange (GWIX)
Operator website
https://gwix.ai
Vendor relationship
First-party
Trust center
Not applicable
Restrictions
Usage is billed in credits; new accounts start with $250 in free credits. Sign in with OAuth or an API key. No admin approval, custom OAuth app or regional limits.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to turn natural-language questions into ranked, authority-tagged primary data sources and hand-by-hand navigation instructions for reaching the exact data on official government, international organization, and research sites. Delivers a traceable evidence chain from query to original source, avoiding hallucinated figures and secondhand citations.
    -
  • A
    license
    B
    quality
    D
    maintenance
    Deliver real-time investment research with extensive private and public market data.
    3
    78 npm
    147
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources