mcpserver.lol
registry/opportunity-exchange
Connection check verified live · 20h ago

opportunity-exchange

Keyless Saskatchewan labour-market data: measured wages and rents, roles, jobs, outcomes, pathways.

Tools 71
GitHub stars
Installs / wk
Licence
Transport streamable-http
Last checked 20h ago

Tools & capabilities

71 tools

Read from the running server on 20h ago.

assess_procurement_relevance limitbusinessId*includeHistory
Compare the supply categories a business has published against the UNSPSC categories official buyers have requested. Returns category compatibility only, classed as inferred_compat…
assess_workforce_demand limit
Report occupational demand, credential demand, training availability and a training-route constraint indicator separately. It does not combine them into a shortage claim: a shortag…
check_business_health name*phoneaddresswebsitecategorydescription
Run Business Health on a real business from details you supply — the free public check. Use this when someone asks about *their own* business: it needs no account, stores nothing,…
check_comparability bundlemetricsentities*
Check whether requested community observations share compatible concepts, units, geographic boundaries, and reference periods; return explicit reasons where they do not.
check_opportunity_readiness limitbusinessId*
For each public procurement notice whose requested categories overlap what this business has published, what about the business's OEX representation is in order and what is not. Ev…
compare_communities bundlemetricsentities*
Compare 2–10 Saskatchewan communities and return explicit missing-data and comparability results for every requested metric.
compare_municipalities bundlemetricsentities*
Compare 2–10 exact Saskatchewan municipalities using the newest governed fact for each standard economic metric. A metric is comparable only when all resolved municipalities have t…
compare_outcomes wageoccupation
The wage-vs-cost join: what an hourly wage actually leaves over each month in every Saskatchewan community, after tax, housing, utilities and commuting. Pass occupation (models its…
compare_roles ids*
Compare two or three roles using the shared occupation fields: wages, demand, outlook, entry requirements and work profile.
create_sandbox_business name*phoneaddresscategorydescription
Start here to try Business Health. Creates a synthetic business you may then operate, and returns its id. Sandbox businesses never appear in OEX search, the directory or any public…
evaluate_pathways limitcredentialslicenceClasshouseholdSizeincomeEarnerseducationLevel +10
The decision tool: evaluate realistic routes into work for a person's stated credentials, education, experience, driver licence, relocation boundary, housing and family needs, savi…
explain_business_claim businessName
What claiming a business on OEX involves, and how to start. Call this after check_business_health when the person wants to act on the findings inside OEX rather than only on their…
explain_confidence confidence
Explain the OEX A–D record-confidence vocabulary, its weakest-input rule for derived values, and the interpretation contract.
explain_truth_state truthState
Explain what an OEX truth state permits an agent to claim and return the complete interpretation contract.
find_connected_entities typedepthlimitbundleentitymetrics +7
Find entities connected through governed graph predicates, with source, truth state, confidence, and hop annotations.
find_potential_customers businessId*
Find businesses whose published purchasing categories match the categories a business has published as things it can supply. Returns potential_compatibility only: it is not a custo…
find_potential_suppliers businessId*
Find businesses whose published supply categories match the categories a business has published as things it buys. Returns potential_compatibility only: no relationship is asserted…
get_business_evidence id*
Retrieve the governed context and evidence boundary for one business entity. Licence presence establishes snapshot presence only.
get_business_health businessId*
The full health report for a sandbox business: the headline, findings worth attention with an action each, invitations, what passed, and what could not be evaluated. The headline i…
get_business_health_markdown businessId*
The same report as markdown — the form an owner would hand to whoever maintains their website.
get_community_economy code*
One community’s GDP report by 2021 SGC census subdivision code (e.g. 4708004 for Swift Current): central estimate with the income/production range and every sector’s amount and per…
get_community_profile id*
Retrieve one municipality as a governed economic profile with canonical identity, available evidence, links, and qualifications.
get_data_providers
Read runtime provider contracts grouped as evidence, preview, planned, first-party and derived. Only the evidence group is eligible to support factual claims.
get_data_sources
Read the governed upstream source registry: publisher datasets, stable source ids, licence decisions, approved and excluded uses, checked releases, materialization bindings and ref…
get_economic_signal id*
Get one governed economic signal by its source-stable id, including provenance, lifecycle state, mappings and uncertainty boundaries.
get_economy_overview
Modeled community GDP for Saskatchewan: official provincial sector GDP (36-10-0711-01, 2022 current dollars) allocated across all 951 census subdivisions by measured activity weigh…
get_emerging_signals limitoffset
Backward-compatible alias for list_economic_signals.
get_entity id*type*
Retrieve one governed entity record with its evidence, provenance, canonical links, and permitted interpretation.
get_entity_context id*type*
Fetch the governed context for one resolved entity in a single call. Accepts a canonical id, local slug or exact name and routes to the existing occupation, municipality, sector, t…
get_evidence id
Retrieve a governed upstream source or runtime provider and its lineage, licence boundary, releases, and serving status.
get_generated_asset assetId*businessId*
Get an asset OEX generates from the business's own record: 'local-business-jsonld' or 'corrected-info-block'.
get_health_action_history checkIdbusinessId*
The event history for a sandbox business: what was detected, what the owner reported, and what a recheck verified — with the timestamps that make the sequence auditable.
get_knowledge_graph_status
Return the current database graph inventory by entity type, predicate and metric plus deterministic core reconciliation. ok=true means every governed core entity, alias, edge and f…
get_labour_demand
Retrieve governed Saskatchewan labour-demand evidence while keeping advertised openings, statistical vacancies, live listings, and modelled sector allocations distinct.
get_municipality_evidence_coverage
Evidence availability and confidence-gate work queue for all 17 Saskatchewan cities and 149 towns. Returns current Tier A–D counts, evidence-domain coverage, public-model input cou…
get_real_estate municipalityId
Housing market by community: median price, listings, market velocity, and the own-vs-rent monthly cost on the local wage. Pass municipalityId for one community with the price trend…
get_rents centreprovince
Measured rental markets (CMHC Rental Market Survey via Statistics Canada, real data): average rents by unit type (bachelor to 3+ bedroom) and rental vacancy rates for every surveye…
get_role id*
One occupation in full: market figures, entry requirements, working conditions, training programs, and per-community outcomes (net and discretionary monthly income at the median wa…
get_sector id*
One sector: its occupations, provider-qualified postings by community, and notable employers.
get_source_provenance id
Resolve either a governed upstream source id or runtime provider id. Returns the matching source or categorized provider with its lineage; omit id for the upstream source registry.
get_trade_overview
Saskatchewan merchandise exports by NAPCS section from Statistics Canada. Station-level CGC rows are excluded pending commercial redistribution permission.
get_wage_evidence nocprovince
Retrieve wage evidence for an occupation and geography with units, period, source, confidence, and comparability qualifications.
get_wages nocprovince
Measured wages and vacancies (Statistics Canada, real data): LFS median/average hourly wages by occupation group × province, and JVWS job vacancies with average offered hourly wage…
grant_business_consent businessId*consentClass*
Grant a purpose-scoped consent on behalf of the sandbox business. This is what an invitation in the report is asking for. The classes are separate on purpose: granting one never wi…
inspect_procurement_activity limitbuyerIdnoticeIdcategoryCodeincludeHistory
Inspect official Saskatchewan CanadaBuys procurement observations by buyer, notice, or UNSPSC product/service category. Returns current and historical lifecycle evidence, amendment…
investigate_economic_question depthentitiesquestion*maxEvidenceCallsminimumConfidence
Turn a natural-language economic question into an inspectable deterministic plan, resolve governed entities, execute a bounded set of existing OEX graph/data primitives, and return…
list_economic_signals limitoffset
List governed Saskatchewan economic signals from official structured sources. Each row preserves lifecycle state and uncertainty; notices do not prove an award, project, hiring or…
list_health_capabilities
What Business Health can actually inspect, fix, generate, verify and escalate — every check, what evidence it reads, what it needs before it will run, and what it offers as a fix.…
list_noc_groups
The complete NOC 2021 occupational classification: all 516 unit groups with bilingual titles, TEER tiers, and platform coverage flags. Use to map any Canadian occupation to its cod…
list_roles
The Saskatchewan occupation catalogue: id, title, NOC code, sector, hourly wage, demand score. Start here to find role ids.
list_sandbox_businesses
List the sandbox businesses that exist, so you can resume working on one.
list_sectors
Sector rollups with provider-qualified hiring-record counts, median wage and occupation demand. Candidate profiles are excluded. Read meta.evidence before interpreting a count.
query_knowledge_graph typedepthlimitbundleentitymetrics +7
Query the materialized semantic graph without downloading whole datasets. Resolve an entity name/code and optional municipality geography, then return typed facts and relationships…
rank_communities wagelimitoccupation
Rank Saskatchewan communities by monthly discretionary income for exactly one role or explicit hourly wage.
recheck_business_health checkIdbusinessId*
Ask OEX to look again — what a business does after fixing something. Inspects the website if one is supplied. Rate-limited, and a check that could not run is reported as unable-to-…
report_health_action_complete checkId*businessId*
Record that the owner says a finding is fixed. This is their claim, not OEX's: nothing renders as resolved until a recheck runs and the check actually passes.
resolve_citation citation*
Resolve a public graph assertion citation to its canonical entity or entities, exact assertion, source, observation time, truth state, confidence, publication scope, methodology an…
resolve_entities typelimitquery*
Resolve a user-supplied name, slug, NOC code, SGC code, program, sector or governed source to its canonical OEX identity. Call this before joining datasets when the identifier is u…
resolve_entity typelimitquery*
Resolve user language or an official code to the canonical OEX identity and the correct next tool. Returns ranked candidates when the input is ambiguous.
run_business_study objectivebusinessId*inspectWebsite
Run the Guided Business Study on a sandbox business: Business Health plus the three analytical instruments — Negative Space (what would be expected here and is not observed), Bound…
run_business_study_markdown objectivebusinessId*inspectWebsite
The same Guided Business Study as a markdown document — the form a study is handed over in, with each stage’s findings beside its own evidence table.
search_businesses qlimitoffsetsubsectormunicipalityId*
Search governed municipal licensed-business snapshots without inferring operating health, employment, ownership, or hiring.
search_employers qlimithiringsectormunicipality
Search the public business directory by name, municipality, sector group and observed hiring flag. Preview providers return modelled activity scenarios, not business claims.
search_entities typelimitquery*
Search across supported OEX entity classes using names, aliases, slugs, and official identifiers.
search_hiring_activity qtypelimitoffsetregionsector +4
Source-attributed hiring-activity evidence, newest first and filterable by occupation, sector and geography. data.recordPurpose and each row recordPurpose are hiring_activity_evide…
search_licensed_businesses qlimitoffsetsubsectormunicipalityId*
Named businesses holding a municipal licence in one community, from an attributed City snapshot. Answers who exists and in which industry, NOT who is hiring — use search_employers…
set_website_domain domain*businessId*
Tell OEX the business's website so it can be inspected. Supplying a domain permits inspection; it does not assert that the business owns or controls it, and OEX will not publish th…
start_health_action checkId*businessId*
Record that work on a finding has begun — the owner opening the action. Moves the finding's action state, which is what makes its history readable later.
summarize_credential_demand
Aggregate hiring records associated with occupational credential requirements. Candidate profiles and holder counts are excluded; the result describes demand evidence, not a proven…
traverse_relationships typedepthlimitbundleentitymetrics +7
Traverse bounded, typed economic relationships from a resolved entity without treating missing edges as false.
update_business_record namephoneaddresscategorybusinessId*description
Correct or complete the business's own record — the fix for most findings about missing or thin information. Supply only the fields you are changing; an omitted field is left alone…