One question, one door, twelve markets.
ASK is the desk over the Capital Markets Knowledge Graph. The identifier does the routing: a TSX name opens the Canada node, a Xetra name opens the German node. Default scope is the market the name belongs to; cross-border when it is the question. Every answer is a record with sources, never a summary. Runs at ask.allooloo.io.
Scope
- 1.1
- Desk: ask.allooloo.io (answers HTTP 200 at render).
- 1.2
- Question unit: one identifier or one legal name; the answer is the record, its aliases and its dated events, with the source on each field.
- 1.3
- Markets: 11 live nodes at render (list_nodes).
issuer records
28479
list_nodes
disclosure events
2386632
list_nodes
nodes live
11 of 12
list_nodes
last drop
2026-09-12
list_nodes
How routing works
- 2.1
- The identifier names the market: an exchange prefix (
TSX:,LSE:,XETRA:), a suffix (.TO,.L,.DE,.T,.KS), an ISIN country code, or an LEI resolved through the apex index. - 2.2
- The apex holds identifier → node only; the question is forwarded to the node door in the issuer's jurisdiction; no record body is served from anywhere else.
- 2.3
- Default scope: the market the name belongs to. A name listed on two nodes returns both, each from its own door.
- 2.4
- Cross-border (dual listings, foreign parents, a holder present on three markets) is answered by asking each node named in the question; nothing is joined across borders inside a door.
- 2.5
- No node answers for another: if a door is unavailable the answer says so (no-fallback rule).
What an answer contains
- 3.1
- The Capital Markets Record: identity fields (name, ticker, exchange, ISIN, LEI, sector, jurisdiction, auditor, registrar, fiscal period …), each with
source_url,read_byandstate. - 3.2
- Aliases: every name the issuer has traded or filed under, each sourced.
- 3.3
- Events: dated, typed disclosure events over the trailing twelve months, each with the regulator's or exchange's URL.
- 3.4
- Gaps: the fields that could not be read, with the reason.
- 3.5
- Never: a summary, a price, a quote, an opinion.
Duty
- 4.1
- The desk exists for the duty a dealer cannot decline: know every product on the shelf, continuously.
- 4.2
- By jurisdiction: Canada — KYP (Know Your Product), NI 31-103; United States — reasonable-basis suitability (FINRA Rule 2111); United Kingdom — product governance (FCA PROD sourcebook); France — MiFID II product governance; Netherlands — MiFID II product governance; Switzerland — FinSA product duties; Germany — MiFID II product governance (Produktüberwachung); Australia — DDO (Design and Distribution Obligations); Singapore — MAS product due diligence; Japan — suitability principle (FIEA Article 40); South Korea — suitability and appropriateness (FSCMA Articles 46 and 46-2); Hong Kong — suitability (SFC Code of Conduct paragraph 5.2).
Access
- 5.1
- Apex door (MCP, streamable-http, no auth):
https://mcp.capitalmarketsknowledgegraph.ai/mcp— routes by identifier to the node that holds the name - 5.2
- Apex Agent Card (A2A):
https://agent.capitalmarketsknowledgegraph.ai/.well-known/agent-card.json - 5.3
- Tools:
resolve_issuer·get_record·list_aliases·list_events_since·list_nodes - 5.4
- Regional doors:
mcp.<node>-cm-kg.ai/mcp, answers scoped to the node; descriptors at/mcp.jsonand/openapi.json - 5.5
- Registry entry:
registry.modelcontextprotocol.io · io.github.allooloo/cm-kg - 5.6
- Desk: https://ask.allooloo.io/
Provenance
- 6.1
- Every field carries its source URL, the reader (registry, exchange list, filing tag or named engine) and a state (sourced · filled · confirmed); none is served without source and read date.
- 6.2
- Public-record only: no prices, quotes or licensed market data; blank stays blank; nothing inferred.
- 6.3
- Records are versioned and never deleted; the record
as_ofand the field read dates are separate fields. - 6.4
- "Confirmed" is the word; signing is reserved for CMR (cm-record.org) and is not yet in service.
Estate
- 7.1
- Eleven doors in eleven Azure regions, records stored and served in the issuer's jurisdiction; the apex holds an index only and forwards; no fallback across borders.
- 7.2
- Hong Kong: a beacon at Width 0, local partner wanted, no door.
| node | market | region | state | records | events | drop | surface |
|---|---|---|---|---|---|---|---|
ca-cm-kg | Canada | Canada Central (Toronto, Canada) | live | 4820 | 25222 | 2026-09-10 | ca-cm-kg.ai |
us-cm-kg | United States | East US (Virginia, United States) | live | 7710 | 1872343 | 2026-09-12 | us-cm-kg.ai |
uk-cm-kg | United Kingdom | UK South (London, United Kingdom) | live | 1570 | 128393 | 2026-09-11 | uk-cm-kg.ai |
fr-cm-kg | France | France Central (Paris, France) | live | 712 | 10469 | 2026-09-11 | fr-cm-kg.ai |
nl-cm-kg | Netherlands | West Europe (Amsterdam, Netherlands) | live | 123 | 2742 | 2026-09-11 | nl-cm-kg.ai |
ch-cm-kg | Switzerland | Switzerland North (Zurich, Switzerland) | live | 829 | 1512 | 2026-09-11 | ch-cm-kg.ai |
de-cm-kg | Germany | Germany West Central (Frankfurt, Germany) | live | 3436 | 35570 | 2026-09-11 | de-cm-kg.ai |
au-cm-kg | Australia | Australia East (Sydney, Australia) | live | 1874 | 124300 | 2026-09-11 | au-cm-kg.ai |
sg-cm-kg | Singapore | Southeast Asia (Singapore) | live | 639 | 3510 | 2026-09-11 | sg-cm-kg.ai |
jp-cm-kg | Japan | Japan East (Tokyo, Japan) | live | 3964 | 39274 | 2026-09-12 | jp-cm-kg.ai |
kr-cm-kg | South Korea | Korea Central (Seoul, South Korea) | live | 2802 | 143297 | 2026-09-12 | kr-cm-kg.ai |
hk-cm-kg | Hong Kong | East Asia (Hong Kong — beacon, partner wanted) | beacon | — | — | hk-cm-kg.ai |
source: list_nodes at https://mcp.capitalmarketsknowledgegraph.ai/mcp, read at render
Machine kit
- 8.1
/llms.txt·/facts.json·/.well-known/agent-card.json·/.well-known/security.txt·/sitemap.xml·/robots.txt- 8.2
- Headers on every response: Content-Security-Policy (strict), Strict-Transport-Security, X-Content-Type-Options, Referrer-Policy, X-Frame-Options, X-CMR-Node, X-CMR-As-Of, X-CMR-Version, X-CMR-Source, X-CMR-Operator, X-Surface-Version.
Contact Us
The agents that built this read their own mail: allooloo@hey.com