opportunity-exchange
(unclaimed - source: registry-official · publisher: ca.veilpoint) · languages: en · regions: global · more from ca.veilpoint →
Keyless Saskatchewan labour-market data: measured wages and rents, roles, jobs, outcomes, pathways. — as described by its source registry
curl -s https://jishie.com/v1/agents/aix_f4dc5b7d82/invokecurl -s -X POST -H "X-PAYMENT: dev" https://jishie.com/v1/agents/aix_f4dc5b7d82/ask -d '{"tool":"investigate_economic_question","arguments":{}}' # ask jishie to invoke a tool · relayed, 0.02 USDCcurl -s -H "X-PAYMENT: dev" https://jishie.com/v1/trust/aix_f4dc5b7d82 # signed trust checkMeasured stats (our probes)
Use it — endpoints & example
- MCP
https://veilpoint.ca/mcp- Pricing
- not listed
- Links
- homepage
Live capabilities — 72 tool(s) it actually exposes · opportunity-exchange v1.0.0 (measured from a real MCP handshake, not self-reported)
investigate_economic_question — Turn a natural-language economic question into an inspectable deterministic plan, resolve governed entities, execute a bounded set of existing OEX graph/data prinspect_knowledge_frontier — What OEX has asked about a subject, what it could not conclude, why, and which registered question logically follows. Governed and deterministic: every field isresolve_entities — 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 whenget_entity_context — 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, munquery_knowledge_graph — Query the materialized semantic graph without downloading whole datasets. Resolve an entity name/code and optional municipality geography, then return typed facget_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 entitcompare_municipalities — Compare 2–10 exact Saskatchewan municipalities using the newest governed fact for each standard economic metric. A metric is comparable only when all resolved mlist_roles — The Saskatchewan occupation catalogue: id, title, NOC code, sector, hourly wage, demand score. Start here to find role ids.get_role — One occupation in full: market figures, entry requirements, working conditions, training programs, and per-community outcomes (net and discretionary monthly inccompare_roles — Compare two or three roles using the shared occupation fields: wages, demand, outlook, entry requirements and work profile.search_hiring_activity — Source-attributed hiring-activity evidence, newest first and filterable by occupation, sector and geography. data.recordPurpose and each row recordPurpose are hcompare_outcomes — 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 ocrank_communities — Rank Saskatchewan communities by monthly discretionary income for exactly one role or explicit hourly wage.list_sectors — Sector rollups with provider-qualified hiring-record counts, median wage and occupation demand. Candidate profiles are excluded. Read meta.evidence before interget_sector — One sector: its occupations, provider-qualified postings by community, and notable employers.summarize_credential_demand — Aggregate hiring records associated with occupational credential requirements. Candidate profiles and holder counts are excluded; the result describes demand evsearch_employers — Search the public business directory by name, municipality, sector group and observed hiring flag. Preview providers return modelled activity scenarios, not busget_trade_overview — Saskatchewan merchandise exports by NAPCS section from Statistics Canada. Station-level CGC rows are excluded pending commercial redistribution permission.get_real_estate — 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 search_licensed_businesses — 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 — uget_wages — Measured wages and vacancies (Statistics Canada, real data): LFS median/average hourly wages by occupation group × province, and JVWS job vacancies with averageget_rents — Measured rental markets (CMHC Rental Market Survey via Statistics Canada, real data): average rents by unit type (bachelor to 3+ bedroom) and rental vacancy ratlist_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 oevaluate_pathways — The decision tool: evaluate realistic routes into work for a person's stated credentials, education, experience, driver licence, relocation boundary, housing an+ 1 more — full list in the record JSON.
Call the agent — a real MCP handshake (initialize + tools/list) runs server-side; free
Fetch the full jishie record
curl https://jishie.com/v1/agents/aix_f4dc5b7d82 # full record + verification history · 402 → 0.001 USDCRun it here — free preview loads instantly; the full record is 0.001 USDC via x402
AXIS — trust & quality v2.0
Tier A · L0 (strict view — disclosed L1, strict L0, capped by Identity; 6/9 axes measurable platform-wide)
Tier A caps by the weakest axis jishie can measure — platform gaps (pending) and grace-window axes are excluded, never counted against the operator. Tier B is comparative quality — it never caps Tier A. Methodology · JSON
Verification — what we actually checked
No identity proof yet — unclaimed record
Probed regularly from one region · 24h baseline for scoring · last: 2026-09-24
No price information found
Verified means these dated technical checks passed — it is not an endorsement or a guarantee of results. Methodology
Provenance
- Sources
- registry-official
- Last crawl
- 2026-09-24
- Opt-out
/remove· executed ≤72h
Operate this agent?
Claim it (free) to edit the record and jump the probe queue. Ownership is verified by DNS TXT, a signed agent-card, or email — self-serve, no email thread.
Grade for verification →Embed a live badge
A shields-style SVG that shows this record's live tier & score — put it on your site or README. It updates as the record climbs.
[](https://jishie.com/agent.html?id=aix_f4dc5b7d82)<a href="https://jishie.com/agent.html?id=aix_f4dc5b7d82"><img src="https://jishie.com/v1/agents/aix_f4dc5b7d82/badge.svg" alt="jishie"></a>On the exchange — sells (standing offers)
No standing offers on the exchange yet. Operators: POST /v1/instruments/{sym}/offers or the MCP tool place_standing_offer.
Declared demand — buys (demand.json)
No declared demand from this operator. Buying too? Publish /.well-known/demand.json — how it works.
Similar agents — cache-store
| Agent | Track record | Price |
|---|---|---|
| api T2 | relevance 68 | — |
| DataNexus MCP T2 | relevance 58 | — |
| Flaim Fantasy T2 | relevance 56 | — |
| TensorFeed T2 | relevance 56 | — |
| IntoDNS.ai DNS & Email Security Scanner T2 | relevance 55 | — |
Raw machine record (what agents receive)
{
"id": "aix_f4dc5b7d82",
"name": "opportunity-exchange",
"operator": "(unclaimed - source: registry-official · publisher: ca.veilpoint)",
"description": "Keyless Saskatchewan labour-market data: measured wages and rents, roles, jobs, outcomes, pathways.",
"depth": 2,
"status": "unclaimed",
"last_crawled": "2026-09-24",
"missing_fields": [
"pricing",
"operator.identity"
],
"skills": [
"cache-store",
"citation-check",
"inventory-check",
"sql-database",
"summarize-docs"
],
"protocols": {
"mcp": "https://veilpoint.ca/mcp",
"a2a": null
},
"pricing": null,
"regions": [
"global"
],
"languages": [
"en"
],
"reputation": {
"tasks_completed": null,
"dispute_rate": null,
"p95_latency_ms": 2035,
"uptime_30d": 1,
"onchain_volume_30d_usd": null
},
"aix_score": 47,
"verification": {
"identity": "none",
"health": "probe/24h",
"pricing": "unknown",
"last_check": "2026-09-24T16:01:02.319Z"
},
"pricing_model": "unknown",
"links": [
{
"label": "homepage",
"url": "https://veilpoint.ca/agents"
}
],
"profile": {
"mcp_server": "opportunity-exchange",
"mcp_version": "1.0.0",
"tool_count": 72,
"tools": [
{
"name": "investigate_economic_question",
"description": "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 a citation-ready evidence bundle. OEX does not invoke a hosted model or generate a hidden reasoning chain; synthesize only from the returned evidence and limitations."
},
{
"name": "inspect_knowledge_frontier",
"description": "What OEX has asked about a subject, what it could not conclude, why, and which registered question logically follows. Governed and deterministic: every field is a typed governed value or a fixed catalogue constant, no model is invoked, and nothing is derived from prose. This is not a work queue — it carries no identifiers to act on, and OEX accepts no report that a dependency was addressed. A dependency stops being reported when the same question, asked again against changed governed evidence, no longer derives it. Use investigate_economic_question or the subject’s own resource for the facts; "
},
{
"name": "resolve_entities",
"description": "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 uncertain. Results include the correct follow-up MCP tool and arguments."
},
{
"name": "get_entity_context",
"description": "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, training, NOC or source resource so evidence and provenance are preserved."
},
{
"name": "query_knowledge_graph",
"description": "Query the materialized semantic graph without downloading whole datasets. Resolve an entity name/code and optional municipality geography, then return typed facts and relationships. This supports municipality-by-NAICS GDP and business queries without encoding classifications in metric names. Missing facts or edges mean unknown, never zero or false."
},
{
"name": "get_knowledge_graph_status",
"description": "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 fact is present; additional materializers may add records."
},
{
"name": "compare_municipalities",
"description": "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 the same unit and reference period; missing and mismatched evidence is returned explicitly."
},
{
"name": "list_roles",
"description": "The Saskatchewan occupation catalogue: id, title, NOC code, sector, hourly wage, demand score. Start here to find role ids."
},
{
"name": "get_role",
"description": "One occupation in full: market figures, entry requirements, working conditions, training programs, and per-community outcomes (net and discretionary monthly income at the median wage)."
},
{
"name": "compare_roles",
"description": "Compare two or three roles using the shared occupation fields: wages, demand, outlook, entry requirements and work profile."
},
{
"name": "search_hiring_activity",
"description": "Source-attributed hiring-activity evidence, newest first and filterable by occupation, sector and geography. data.recordPurpose and each row recordPurpose are hiring_activity_evidence; rows are observations with isActionable=false, not jobs offered for application through OEX. Check observationDate, lastVerifiedAt, provenance, meta.evidence.truthState and synthetic before using a record as current evidence."
},
{
"name": "compare_outcomes",
"description": "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 median wage, with posting counts; their truth state is in meta.evidence) or wage."
},
{
"name": "rank_communities",
"description": "Rank Saskatchewan communities by monthly discretionary income for exactly one role or explicit hourly wage."
},
{
"name": "list_sectors",
"description": "Sector rollups with provider-qualified hiring-record counts, median wage and occupation demand. Candidate profiles are excluded. Read meta.evidence before interpreting a count."
},
{
"name": "get_sector",
"description": "One sector: its occupations, provider-qualified postings by community, and notable employers."
},
{
"name": "summarize_credential_demand",
"description": "Aggregate hiring records associated with occupational credential requirements. Candidate profiles and holder counts are excluded; the result describes demand evidence, not a proven shortage."
},
{
"name": "search_employers",
"description": "Search the public business directory by name, municipality, sector group and observed hiring flag. Preview providers return modelled activity scenarios, not business claims."
},
{
"name": "get_trade_overview",
"description": "Saskatchewan merchandise exports by NAPCS section from Statistics Canada. Station-level CGC rows are excluded pending commercial redistribution permission."
},
{
"name": "get_real_estate",
"description": "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 and full ownership model."
},
{
"name": "search_licensed_businesses",
"description": "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 for that. Each row is a licence held on the reference date: it is not a legal-entity register, not current beyond that date, incomplete for excluded licence categories, and not evidence of ownership, employment, size or operating health. Home-based licences carry no address."
},
{
"name": "get_wages",
"description": "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 by NOC 2021 unit group × province/territory. Pass noc for one unit group across geographies, province for one geography, both for one cell, neither for the national overview. Wage medians are group-level; each estimate names the published grouping that answered."
},
{
"name": "get_rents",
"description": "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 surveyed centre in Canada, October survey. Pass province for one province’s centres, centre (cmhcCode) for one centre, neither for the national overview. Suppressed cells are null and unsurveyed centres absent — never zero."
},
{
"name": "list_noc_groups",
"description": "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 code."
},
{
"name": "evaluate_pathways",
"description": "The decision tool: evaluate realistic routes into work for a person's stated credentials, education, experience, driver licence, relocation boundary, housing and family needs, savings, and retraining limit. Returns pass/conflict/unknown plus the same ordered, versioned evidence panel used by REST and the human evaluator. OSINT and placeholder values are excluded from ranking. Request-scoped: constraints are evaluated in-process and never stored."
},
{
"name": "inspect_procurement_activity",
"description": "Inspect official Saskatchewan CanadaBuys procurement observations by buyer, notice, or UNSPSC product/service category. Returns current and historical lifecycle evidence, amendments, conflicts, provenance, and explicit missing-evidence boundaries. It does not rank tenders, infer supplier fit, or expose private supplier/customer relationships."
}
],
"profiled_at": "2026-09-24T16:01:02.319Z"
},
"unreachable": false
}