# fr-cm-kg.ai — llms-full.txt The page's full text and the door's tool list, generated from the page's own source at 2026-11-09T05:59Z (surface 2026-11-05.3). The short index is /llms.txt. ## The page # ISIN is the key in Paris: every Euronext Paris and Euronext Growth issuer as a record AI agents call. French rosters come from the ESMA FIRDS instrument files and carry no trading symbol, so this node keys its 711 records on ISIN and accepts a symbol only as a sourced alias. 14805 dated disclosure events sit behind them: AMF regulated information through the BDIF filer tokens, wire releases matched under the name rule, and register events by SIREN. Legal identity is the SIREN from the recherche-entreprises service and the LEI from GLEIF (registration authority RA000189), each carried with the URL and the read date. Reading is in French; Perplexity grounds, Grok reads live, Mistral translates and reviews and never writes a field. Storage and serving are in France Central; the apex router forwards, it holds no body. Lines listed in Paris under a foreign ISIN stay on this node by ruling and also resolve on their home node. ## 1 Scope - **1.1** Jurisdiction: France - **1.2** Node ID: `fr-cm-kg` - **1.3** Coverage: Euronext Paris (regulated market, compartments A, B, C); Euronext Growth Paris; Euronext Access Paris - **1.4** Issuer records: `711` - **1.5** Dated disclosure events: `14805` - **1.6** Disclosure period: trailing twelve months - **1.7** Drop date: `2026-11-06` - **1.8** Operator: Allooloo Technologies Corp. - **1.9** Counts and drop date are populated from the node on each render. Counts render as integers. Dates render as `YYYY-MM-DD`. - **1.10** Weekly motion for Paris: BDIF per filer token and the wires over seven days, Fill and Confirm on new rows, then a FIRDS re-harvest once a month to catch admissions and radiations. Scheduled runs are off under the BUILD lock; the CEO re-arms them. ## 2 Access - **2.1** MCP endpoint: `https://mcp.fr-cm-kg.ai/mcp` - **2.2** Transport: `streamable-http` - **2.3** Agent Card: `https://agent.fr-cm-kg.ai` - **2.4** Agent protocol: A2A - **2.5** Answer scope: `fr-cm-kg` only - **2.6** Tools (six): `resolve_issuer`; `get_record`; `get_signal`; `list_aliases`; `list_events_since`; `list_nodes` - **2.7** Accepted identifiers: `XPAR:FR0000120271` · `ISIN (FR…) alone` · `ALXP:` · `XMLI:` · `LEI` · `SIREN` · `legal name` · `sourced alias (symbol)` - **2.8** Request: ``` { "tool": "resolve_issuer", "arguments": { "identifier": "XPAR:FR0000120271" } } ``` - **2.9** Response (captured from the wire 2026-09-12): ``` { "matches": [ { "cmr": "fr-cm-kg/XPAR/FR0000120271", "node": "fr-cm-kg", "version": 1, "as_of": "2026-09-11", "name": "TOTALENERGIES", "ticker": "FR0000120271", "exchange": "Euronext Paris", "security_type": "Corporate", "isin": "FR0000120271", "lei": "529900S21EQ1BO4ESM68", "sector": "NAF 70.10Z", "event_count": 204, "events_url": "https://mcp.fr-cm-kg.ai/events/XPAR/FR0000120271", "record_url": "https://mcp.fr-cm-kg.ai/record/XPAR/FR0000120271" } ], "matched_by": "ticker", "ambiguous": false, "nodes_asked": [ "fr-cm-kg" ] } ``` ## 3 Residency - **3.1** Storage region: Azure France Central (Paris, France) - **3.2** Serving region: Azure France Central (Paris, France) - **3.3** Apex router: `mcp.getissuer.ai` - **3.4** Apex content: index only - **3.5** The apex router forwards requests to the jurisdictional node. - **3.6** No record body leaves the jurisdiction. - **3.7** No-fallback rule: records are not served from another jurisdiction when this node is unavailable. - **3.8** Store: storage account allooloocmkgfrpond in France Central, container pond — FIRDS, AMF and register drops under pond/, rendered records keyed by ISIN under door/. Door: container app cmkg-door-fr in cmkg-env-francecentral. Records for Paris lines with a foreign ISIN are held here by ruling and mirrored on the home node. ## 4 Provenance - **4.1** Sources of record: ESMA FIRDS instrument reference files (roster by ISIN); AMF BDIF (regulated information, filer tokens); recherche-entreprises.api.gouv.fr (SIREN, registered office, activity); GLEIF (RA000189 SIREN join, LEI records); newswires (GlobeNewswire, Business Wire, Actusnews). - **4.2** Field-class source mapping: identity (name, ISIN, market, compartment) ← FIRDS; SIREN, registered office, NAF code ← recherche-entreprises; LEI, other names ← GLEIF; auditor (commissaire aux comptes), registrar ← annual financial report pages (Perplexity agent low, Grok); disclosure events ← AMF BDIF per filer token, wires, register. - **4.3** Source URL: carried on every field. - **4.4** Read date: carried on every field. - **4.5** Read-date format: `YYYY-MM-DD`. - **4.6** Record `as_of` and field read dates remain separate fields. - **4.7** Every field carries source URL and read date; none is served without both. - **4.8** Confirmed: the field as read from its source of record. - **4.9** Signed: Every record is signed (EdDSA, key allooloo-cmr-2026-10); verify against https://allooloo.ai/.well-known/jwks.json. - **4.10** Fill pass on this node: the annual financial report (rapport financier annuel) is the document of record; Perplexity's agent (preset low) grounds commissaires aux comptes, registrar and going-concern language from it, Grok watches the AMF and wire layer, and Mistral is confined to translation and review. A field Mistral alone would fill is a Review-tab flag, never a value. ## 5 Known gaps - **5.1** Gaps: 496 rows — 327 issuers without a filer token, ambiguous wire hits, 168 zero-event issuers. (carried from: fr-width1 README (Gaps note verbatim)) ## 6 Market particulars - **6.1** Exchange tiers: Euronext Paris compartments A (large), B (mid), C (small); Euronext Growth; Euronext Access and Access+. Compartment as carried by FIRDS where present. - **6.2** Filing language: French; English where the issuer files in English. Document titles carried as published. - **6.3** Regulator: Autorité des marchés financiers (AMF). Exchange operator: Euronext Paris. - **6.4** Corporate register: Registre du commerce et des sociétés via INSEE / recherche-entreprises. Register key: SIREN (nine digits). - **6.5** Disclosure channel: AMF BDIF (information réglementée); issuer websites; newswires. - **6.6** Fiscal-year convention: set per issuer; most close on 31 December; carried as filed. - **6.7** Identifier forms accepted by the door: `XPAR:FR0000120271` · `ISIN (FR…) alone` · `ALXP:` · `XMLI:` · `LEI` · `SIREN` · `legal name` · `sourced alias (symbol)` - **6.8** Commissaires aux comptes and registrar: read from the annual financial report pages; Mistral review flags go to the Review tab, never to the field. - **6.9** Duty served by the record in this market: MiFID II product governance ## 7 Estate - **7.1** `ca-cm-kg` · Canada Central (Toronto, Canada) · `https://mcp.ca-cm-kg.ai/mcp` · 4818 records · 37256 events · [ca-cm-kg.ai](https://ca-cm-kg.ai/) - **7.2** `uk-cm-kg` · UK South (London, United Kingdom) · `https://mcp.uk-cm-kg.ai/mcp` · 1560 records · 160018 events · [uk-cm-kg.ai](https://uk-cm-kg.ai/) - **7.3** `au-cm-kg` · Australia East (Sydney, Australia) · `https://mcp.au-cm-kg.ai/mcp` · 1873 records · 141039 events · [au-cm-kg.ai](https://au-cm-kg.ai/) - **7.4** `sg-cm-kg` · Southeast Asia (Singapore) · `https://mcp.sg-cm-kg.ai/mcp` · 624 records · 5108 events · [sg-cm-kg.ai](https://sg-cm-kg.ai/) - **7.5** `ch-cm-kg` · Switzerland North (Zurich, Switzerland) · `https://mcp.ch-cm-kg.ai/mcp` · 829 records · 3034 events · [ch-cm-kg.ai](https://ch-cm-kg.ai/) - **7.6** `de-cm-kg` · Germany West Central (Frankfurt, Germany) · `https://mcp.de-cm-kg.ai/mcp` · 3435 records · 37877 events · [de-cm-kg.ai](https://de-cm-kg.ai/) - **7.7** `nl-cm-kg` · West Europe (Amsterdam, Netherlands) · `https://mcp.nl-cm-kg.ai/mcp` · 123 records · 3325 events · [nl-cm-kg.ai](https://nl-cm-kg.ai/) - **7.8** `hk-cm-kg` · East Asia (Hong Kong) · `https://mcp.hk-cm-kg.ai/mcp` · 2790 records · 166263 events · [hk-cm-kg.ai](https://hk-cm-kg.ai/) - **7.9** `jp-cm-kg` · Japan East (Tokyo, Japan) · `https://mcp.jp-cm-kg.ai/mcp` · 3964 records · 41638 events · [jp-cm-kg.ai](https://jp-cm-kg.ai/) - **7.10** `kr-cm-kg` · Korea Central (Seoul, South Korea) · `https://mcp.kr-cm-kg.ai/mcp` · 2802 records · 152443 events · [kr-cm-kg.ai](https://kr-cm-kg.ai/) - **7.11** `us-cm-kg` · East US (Virginia, United States) · `https://mcp.us-cm-kg.ai/mcp` · 7672 records · 1892140 events · [us-cm-kg.ai](https://us-cm-kg.ai/) - **7.12** `it-cm-kg` · Italy North (Milan, Italy) · `https://mcp.it-cm-kg.ai/mcp` · 399 records · 15424 events · [it-cm-kg.ai](https://it-cm-kg.ai/) - **7.13** `es-cm-kg` · Spain Central (Madrid, Spain) · `https://mcp.es-cm-kg.ai/mcp` · 225 records · 4682 events · [es-cm-kg.ai](https://es-cm-kg.ai/) - **7.14** `se-cm-kg` · Sweden Central (Gävle, Sweden) · `https://mcp.se-cm-kg.ai/mcp` · 723 records · 25488 events · [se-cm-kg.ai](https://se-cm-kg.ai/) - **7.15** `dk-cm-kg` · Sweden Central (Gävle, Denmark) · `https://mcp.dk-cm-kg.ai/mcp` · 146 records · 5844 events · [dk-cm-kg.ai](https://dk-cm-kg.ai/) - **7.16** `no-cm-kg` · Norway East (Norway, Norway) · `https://mcp.no-cm-kg.ai/mcp` · 289 records · 17206 events · [no-cm-kg.ai](https://no-cm-kg.ai/) - **7.17** `fi-cm-kg` · Sweden Central (Gävle, Finland) · `https://mcp.fi-cm-kg.ai/mcp` · 199 records · 13765 events · [fi-cm-kg.ai](https://fi-cm-kg.ai/) - **7.18** `be-cm-kg` · Belgium Central (Brussels, Belgium) · `https://mcp.be-cm-kg.ai/mcp` · 122 records · 2539 events · [be-cm-kg.ai](https://be-cm-kg.ai/) - **7.19** `ie-cm-kg` · North Europe (Ireland, Ireland) · `https://mcp.ie-cm-kg.ai/mcp` · 25 records · 3058 events · [ie-cm-kg.ai](https://ie-cm-kg.ai/) - **7.20** `at-cm-kg` · Austria East (Vienna, Austria) · `https://mcp.at-cm-kg.ai/mcp` · 64 records · 1969 events · [at-cm-kg.ai](https://at-cm-kg.ai/) - **7.21** `pl-cm-kg` · Poland Central (Warsaw, Poland) · `https://mcp.pl-cm-kg.ai/mcp` · 777 records · 15923 events · [pl-cm-kg.ai](https://pl-cm-kg.ai/) - **7.22** `pt-cm-kg` · Spain Central (Madrid, Portugal) · `https://mcp.pt-cm-kg.ai/mcp` · 48 records · 2368 events · [pt-cm-kg.ai](https://pt-cm-kg.ai/) - **7.23** `lu-cm-kg` · Belgium Central (Brussels, Luxembourg) · `https://mcp.lu-cm-kg.ai/mcp` · 22 records · 300 events · [lu-cm-kg.ai](https://lu-cm-kg.ai/) - **7.24** `gr-cm-kg` · Italy North (Milan, Greece) · `https://mcp.gr-cm-kg.ai/mcp` · 149 records · 5937 events · [gr-cm-kg.ai](https://gr-cm-kg.ai/) - **7.25** `cz-cm-kg` · Austria East (Vienna, Czech Republic) · `https://mcp.cz-cm-kg.ai/mcp` · 29 records · 235 events · [cz-cm-kg.ai](https://cz-cm-kg.ai/) - **7.26** `ky-cm-kg` · East US (Virginia, Cayman Islands) · `https://mcp.ky-cm-kg.ai/mcp` · 148 records · 265 events · [ky-cm-kg.ai](https://ky-cm-kg.ai/) - **7.27** `bm-cm-kg` · East US (Virginia, Bermuda) · `https://mcp.bm-cm-kg.ai/mcp` · 27 records · 933 events · [bm-cm-kg.ai](https://bm-cm-kg.ai/) - **7.28** `je-cm-kg` · UK South (London, Jersey) · `https://mcp.je-cm-kg.ai/mcp` · 20 records · 195 events · [je-cm-kg.ai](https://je-cm-kg.ai/) - **7.29** `tw-cm-kg` · East Asia (Hong Kong, Taiwan) · `https://mcp.tw-cm-kg.ai/mcp` · 1986 records · 80803 events · [tw-cm-kg.ai](https://tw-cm-kg.ai/) - **7.30** `ae-cm-kg` · UAE North (Dubai, United Arab Emirates) · `https://mcp.ae-cm-kg.ai/mcp` · 69 records · 2675 events · [ae-cm-kg.ai](https://ae-cm-kg.ai/) - **7.31** `br-cm-kg` · Brazil South (Sao Paulo State, Brazil) · `https://mcp.br-cm-kg.ai/mcp` · 659 records · 53009 events · [br-cm-kg.ai](https://br-cm-kg.ai/) - **7.32** `mx-cm-kg` · Mexico Central (Querétaro State, Mexico) · `https://mcp.mx-cm-kg.ai/mcp` · 156 records · 13517 events · [mx-cm-kg.ai](https://mx-cm-kg.ai/) - **7.33** `in-cm-kg` · Central India (Pune, India) · `https://mcp.in-cm-kg.ai/mcp` · 4406 records · 124551 events · [in-cm-kg.ai](https://in-cm-kg.ai/) ## 8 Machine kit - **8.1** Machine instructions: [`/llms.txt`](/llms.txt) - **8.2** Facts: [`/facts.json`](/facts.json) - **8.3** Agent Card: [`https://agent.fr-cm-kg.ai`](https://agent.fr-cm-kg.ai/.well-known/agent-card.json) (pointer at `/.well-known/agent-card.json` on this host) - **8.4** Registry: `registry.modelcontextprotocol.io · io.github.allooloo/cm-kg` - **8.5** Door descriptors: [`mcp.json`](https://mcp.fr-cm-kg.ai/mcp.json) · [`openapi.json`](https://mcp.fr-cm-kg.ai/openapi.json) (pointers at `/mcp.json` and `/openapi.json` here) - **8.6** Also on this host: [`/.well-known/security.txt`](/.well-known/security.txt) · [`/sitemap.xml`](/sitemap.xml) · [`/robots.txt`](/robots.txt) ## Contact Us (contact form: https://allooloo.io/#contact) --- Allooloo Technologies Corp. · https://fr-cm-kg.ai/ · public-record only · version 2026-11-05.3 ## The door Door (Streamable HTTP MCP): https://mcp.fr-cm-kg.ai/mcp Tools: - resolve_issuer — Resolve an issuer: Find a listed company by ticker (with exchange prefix or suffix), ISIN, LEI, legal name or sourced alias; returns the record summary, node and version. - get_record — Read the record: Return the full Capital Markets Record for an issuer: every identity field with value, source URL, reader and state; aliases; gaps; the events URL. - list_aliases — List the names: Every name the issuer has traded or filed under, each with its source. - list_events_since — Disclosure events since a date: Dated, typed disclosure events for an issuer over the trailing twelve months, newest first, paged. - list_nodes — The nodes: Which node holds which market, live or not, record and event counts, drop date, door and Agent Card URLs. - get_signal — The signal: The ACM-68000 (Agent Clearance Manifest) signal for a listed security in its home market: ACM-200 TRADING, ACM-403 HALTED, ACM-404 NOT ON THE REGISTER, ACM-451 READ THE FILING, ACM-300 CONDITIONAL; with the record signature and the record, events and ECO URLs. Operator: Allooloo Technologies Corp.. Corporate: https://allooloo.io.