Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
59
A2A live JSON-RPC A2A 0.3.0 v0.17.0

Switzerland node — Capital Markets Knowledge Graph

agent.ch-cm-kg.ai · Allooloo Technologies Corp.

Read-only door over the Switzerland node of the Capital Markets Knowledge Graph: SIX Swiss Exchange share lines and BX Swiss share lines with a Swiss ISIN. 829 records, 2884 dated, URL-carrying disclosure events over 12 months. Public-record only; no prices, quotes or licensed market data. Records and events are served from switzerlandnorth and never leave the jurisdiction.

Sign in to save Compare Sign in to watch Own this agent? Verify ownership →
Trust score
59/100
grade D · 9 criteria
Uptime
accumulating
1/5 direct probes · 30d
~136 ms response
Observed inflow · 30d
—
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
stable
1 snapshot tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

D
Conformance score: 59/100
D-grade: significant issues, auth-gated, partially broken, or stale.
Show breakdown Hide breakdown
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
pass Live JSON-RPC 25/25
Endpoint responds to a negotiated A2A SendMessage probe (answers in ~136 ms).
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` (Major.Minor, no patch number — §3.6) to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs
info JWS signature 0/10
Card is unsigned (most published agents are).
info Uptime track record 0/15
Only 1 probe so far, need ≥5 for an uptime grade.
pass Skill declaration 10/10
Declares 13 skills with structured metadata.
partial Verified Identity 5/10
Provider declared: Allooloo Technologies Corp. (https://allooloo.io). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit.
How to earn +5 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs
pass Freshness + modern flags 4/5
seen in upstream source within 0d
info Security declaration 0/5
Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated.

Activity

last 24h · 0 invocations No personal data recorded

No activity in the last 7 days.

Card history

1 snapshot
Snapshots
Agent card snapshots
Captured Hash Snapshot
2026-11-05 04:40:11 current 322456f6170f… view →
Uptime
accumulating
1 direct probes · 30d
Response
148ms
last direct probe
Skills
13
declared
Streaming
—
SSE-capable

Try it

Sent live, through Agenstry.

calling agent… ⌘/Ctrl + Enter

Skills · 13 declared

Resolve issuer

Find a listed company by ticker, ISIN or LEI and return its record summary, node and current version.

No taxonomy category yet
capital-marketspublic-recordchmcp
Get Capital Markets Record

Return the full Capital Markets Record for an issuer, with per-field source, reader and state; optionally a prior version.

No taxonomy category yet
capital-marketspublic-recordchmcp
List disclosure events since a date

Return dated, URL'd disclosure events for an issuer (regulatory announcements, registry filings, releases, bulletins, halts, corporate actions, statement and re…

No taxonomy category yet
capital-marketspublic-recordchmcp
List sourced aliases

Return the sourced trade and former names an issuer releases under.

No taxonomy category yet
capital-marketspublic-recordchmcp
Get an issuer timeline

Return the full dated list of an issuer's event lines from its record start date, oldest first, no window cap: date, type, title as filed, source URL. The same …

No taxonomy category yet
capital-marketspublic-recordchmcp
List lifecycle events

Return dated lifecycle events on this market — listing, delisting, name_change, domicile_change, auditor_change, segment_move — each with issuer, type, source U…

No taxonomy category yet
capital-marketspublic-recordchmcp
Get an issuer filing score

Return an issuer's filing cadence, latency (days from period end to filing) and silence (longest gap): the issuer's value, its exchange percentile and its secto…

No taxonomy category yet
capital-marketspublic-recordchmcp
List market nodes

Return the market nodes on the roster of record, which are live, and their record counts.

No taxonomy category yet
capital-marketspublic-recordchmcp
Get orderability outcome (AIO-10060)

The AIO-10060 orderability outcome for one listed security, one client category of this market's chapter, this market and the market's current ACM-68000 registe…

No taxonomy category yet
orderabilityaio-10060acm-68000mcp
Read a target market statement

The manufacturer's target market statement for an ISIN, stored at the subject's home node: the current version, or a version, or the last version filed at or be…

No taxonomy category yet
target-marketproduct-governanceaio-10060mcp
List the statement versions

Every version of the target market statement for an ISIN with filed_at, supersedes, its path under tm/ and its sha256; nothing is deleted.

No taxonomy category yet
target-marketproduct-governanceaio-10060mcp
Verify a statement

Whether a stored statement's two signatures verify against the published keys: sig (kid allooloo-tm-2026-11, the door's signature on the filer's behalf, filer i…

No taxonomy category yet
target-marketproduct-governanceaio-10060mcp
File a target market statement

The manufacturer's agent files a target market statement for an ISIN its Legal Entity Identifier issues, under its filer identity (Authorization: Bearer <filer …

No taxonomy category yet
target-marketproduct-governanceaio-10060mcp

Health · last 1 probes

Probe log
When HTTP Live JSON-RPC Latency
2026-11-05 04:40:11 200 ✓ 148ms
Embed a badge

Updates itself and links back here.

Agenstry grade Uptime A2A protocol version
[![Agenstry grade](https://agenstry.com/badge/agent.ch-cm-kg.ai.svg)](https://agenstry.com/agents/agent.ch-cm-kg.ai)
[![Verified Business](https://agenstry.com/badge/agent.ch-cm-kg.ai/identity.svg)](https://agenstry.com/agents/agent.ch-cm-kg.ai)
[![Uptime](https://agenstry.com/badge/agent.ch-cm-kg.ai/uptime.svg)](https://agenstry.com/agents/agent.ch-cm-kg.ai)
[![A2A version](https://agenstry.com/badge/agent.ch-cm-kg.ai/protocol.svg)](https://agenstry.com/agents/agent.ch-cm-kg.ai)

Audit evidence

JSON for vendor reviews. Signed copy verifies against our JWKS.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "name": "Switzerland node \u2014 Capital Markets Knowledge Graph",
  "description": "Read-only door over the Switzerland node of the Capital Markets Knowledge Graph: SIX Swiss Exchange share lines and BX Swiss share lines with a Swiss ISIN. 829 records, 2884 dated, URL-carrying disclosure events over 12 months. Public-record only; no prices, quotes or licensed market data. Records and events are served from switzerlandnorth and never leave the jurisdiction.",
  "url": "https://mcp.ch-cm-kg.ai/mcp",
  "provider": {
    "organization": "Allooloo Technologies Corp.",
    "url": "https://allooloo.io"
  },
  "version": "0.17.0",
  "documentationUrl": "https://mcp.ch-cm-kg.ai/llms.txt",
  "protocolVersion": "0.3.0",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "defaultInputModes": [
    "application/json",
    "text/plain"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "resolve_issuer",
      "name": "Resolve issuer",
      "description": "Find a listed company by ticker, ISIN or LEI and return its record summary, node and current version.",
      "tags": [
        "capital-markets",
        "public-record",
        "ch",
        "mcp"
      ],
      "examples": [
        "resolve_issuer NESN"
      ]
    },
    {
      "id": "get_record",
      "name": "Get Capital Markets Record",
      "description": "Return the full Capital Markets Record for an issuer, with per-field source, reader and state; optionally a prior version.",
      "tags": [
        "capital-markets",
        "public-record",
        "ch",
        "mcp"
      ],
      "examples": [
        "get_record NESN"
      ]
    },
    {
      "id": "list_events_since",
      "name": "List disclosure events since a date",
      "description": "Return dated, URL'd disclosure events for an issuer (regulatory announcements, registry filings, releases, bulletins, halts, corporate actions, statement and record dates) since a date.",
      "tags": [
        "capital-markets",
        "public-record",
        "ch",
        "mcp"
      ],
      "examples": [
        "list_events_since NESN"
      ]
    },
    {
      "id": "list_aliases",
      "name": "List sourced aliases",
      "description": "Return the sourced trade and former names an issuer releases under.",
      "tags": [
        "capital-markets",
        "public-record",
        "ch",
        "mcp"
      ],
      "examples": [
        "list_aliases NESN"
      ]
    },
    {
      "id": "get_timeline",
      "name": "Get an issuer timeline",
      "description": "Return the full dated list of an issuer's event lines from its record start date, oldest first, no window cap: date, type, title as filed, source URL. The same lines list_events_since serves; each line is signed by the door.",
      "tags": [
        "capital-markets",
        "public-record",
        "ch",
        "mcp"
      ],
      "examples": [
        "get_timeline NESN"
      ]
    },
    {
      "id": "list_events",
      "name": "List lifecycle events",
      "description": "Return dated lifecycle events on this market \u2014 listing, delisting, name_change, domicile_change, auditor_change, segment_move \u2014 each with issuer, type, source URL; the type map of this register and its gaps are published with the answer.",
      "tags": [
        "capital-markets",
        "public-record",
        "ch",
        "mcp"
      ],
      "examples": [
        "list_events NESN"
      ]
    },
    {
      "id": "get_score",
      "name": "Get an issuer filing score",
      "description": "Return an issuer's filing cadence, latency (days from period end to filing) and silence (longest gap): the issuer's value, its exchange percentile and its sector percentile; as-of date and the years scored. Numbers and percentiles only.",
      "tags": [
        "capital-markets",
        "public-record",
        "ch",
        "mcp"
      ],
      "examples": [
        "get_score NESN"
      ]
    },
    {
      "id": "list_nodes",
      "name": "List market nodes",
      "description": "Return the market nodes on the roster of record, which are live, and their record counts.",
      "tags": [
        "capital-markets",
        "public-record",
        "ch",
        "mcp"
      ],
      "examples": [
        "list_nodes"
      ]
    },
    {
      "id": "get_orderability",
      "name": "Get orderability outcome (AIO-10060)",
      "description": "The AIO-10060 orderability outcome for one listed security, one client category of this market's chapter, this market and the market's current ACM-68000 register revision: one ACM-68000 signal where the evidence reaches it, or evidence_gaps with the pages checked and no signal. Every condition, exclusion, assessment, document and review trigger points at the chapter field or record field it rests on. Signed by the node (kid allooloo-eco-2026-10); every read is receipted at mcp.rco-records.ai.",
      "tags": [
        "orderability",
        "aio-10060",
        "acm-68000",
        "mcp"
      ],
      "examples": [
        "get_orderability(subject, client_category) at https://mcp.ch-cm-kg.ai/mcp"
      ]
    },
    {
      "id": "get_target_market",
      "name": "Read a target market statement",
      "description": "The manufacturer's target market statement for an ISIN, stored at the subject's home node: the current version, or a version, or the last version filed at or before as_of; both signatures (the manufacturer-side signature and the node's); every read is receipted at mcp.rco-records.ai with the door as writer. A subject with no statement answers status not_found (no error).",
      "tags": [
        "target-market",
        "product-governance",
        "aio-10060",
        "mcp"
      ],
      "examples": [
        "get_target_market at https://mcp.ch-cm-kg.ai/mcp"
      ]
    },
    {
      "id": "list_target_market_versions",
      "name": "List the statement versions",
      "description": "Every version of the target market statement for an ISIN with filed_at, supersedes, its path under tm/ and its sha256; nothing is deleted.",
      "tags": [
        "target-market",
        "product-governance",
        "aio-10060",
        "mcp"
      ],
      "examples": [
        "list_target_market_versions at https://mcp.ch-cm-kg.ai/mcp"
      ]
    },
    {
      "id": "verify_target_market",
      "name": "Verify a statement",
      "description": "Whether a stored statement's two signatures verify against the published keys: sig (kid allooloo-tm-2026-11, the door's signature on the filer's behalf, filer id in the payload) and node_sig (the home node's record key, kid allooloo-cmr-2026-10). Give the statement itself (nothing is read) or subject and version. Public; offline: the keys are in the answer and at https://mcp.gettargetmarket.ai/.well-known/jwks.json.",
      "tags": [
        "target-market",
        "product-governance",
        "aio-10060",
        "mcp"
      ],
      "examples": [
        "verify_target_market at https://mcp.ch-cm-kg.ai/mcp"
      ]
    },
    {
      "id": "file_target_market",
      "name": "File a target market statement",
      "description": "The manufacturer's agent files a target market statement for an ISIN its Legal Entity Identifier issues, under its filer identity (Authorization: Bearer <filer value>). The door checks shape, identity, LEI and subject, stores the statement at the subject's home node as the next version (immutable; a change is a new version that supersedes the last), signs it on the filer's behalf and under the node's record key, and receipts the filing with the door as writer and the filer as caller. Free.",
      "tags": [
        "target-market",
        "product-governance",
        "aio-10060",
        "mcp"
      ],
      "examples": [
        "file_target_market at https://mcp.ch-cm-kg.ai/mcp"
      ]
    }
  ],
  "x-cmkg": {
    "node": "ch-cm-kg",
    "jurisdiction": "CH",
    "country": "Switzerland",
    "region": "switzerlandnorth",
    "duty": "FinSA (Financial Services Act) product duties",
    "exchanges": "SIX, BX",
    "transport": "MCP Streamable HTTP (JSON-RPC 2.0, stateless, no auth)",
    "mcp_url": "https://mcp.ch-cm-kg.ai/mcp",
    "agent_card_url": "https://agent.ch-cm-kg.ai/.well-known/agent-card.json",
    "registry": "io.github.allooloo/cm-kg",
    "contact": "allooloo@users.noreply.github.com",
    "as_of": "2026-11-04",
    "records": 829,
    "events": 2884,
    "source": "public-record",
    "store": "Azure Storage, switzerlandnorth (regional pond; blob per record and per issuer event list)",
    "roster": {
      "nodes": 34,
      "live": 34,
      "source": "https://mcp.getissuer.ai/nodes.json",
      "also": "list_nodes on this door and on https://mcp.getissuer.ai/mcp",
      "read_at": "2026-11-05T04:40:10.602Z",
      "example": {
        "ticker": "NESN.SW",
        "isin": "CH0038863350",
        "name": "NESTLE N",
        "record_url": "https://mcp.ch-cm-kg.ai/record/SIX/NESN"
      }
    }
  },
  "supportedInterfaces": [
    {
      "url": "https://mcp.getissuer.ai/mcp",
      "transport": "JSONRPC",
      "description": "getissuer \u2014 the listed-issuer resolver (start here)"
    }
  ],
  "resolver": "https://mcp.getissuer.ai/mcp",
  "routing": [
    {
      "resolves": "gtin",
      "what": "GTINs",
      "door": "https://gtinfetch.ai/mcp"
    },
    {
      "resolves": "issuer",
      "what": "Listed issuers (ticker, ISIN, LEI)",
      "door": "https://mcp.getissuer.ai/mcp"
    },
    {
      "resolves": "receipt",
      "what": "Receipts \u2014 the Record of Cleared Orders",
      "door": "https://mcp.rco-a2a.ai/mcp"
    }
  ],
  "payment": {
    "protocol": "x402",
    "version": 2,
    "network": "eip155:8453",
    "asset": "USDC, OUSD",
    "metered_at": "none \u2014 every read is free for every agent (no rationing, CEO ruling 2026-10-24); an agent that chooses to pay asks for the offer (x402-pay: 1) at https://mcp.getissuer.ai/mcp or this door",
    "pricing": "https://allooloo.ai/x402/pricing.json"
  },
  "book": "https://mcp.ch-cm-kg.ai/book/",
  "orderability": {
    "door": "https://mcp.ch-cm-kg.ai/mcp",
    "tool": "get_orderability",
    "standard": "https://aio-10060.org/"
  },
  "target_market": {
    "door": "https://mcp.ch-cm-kg.ai/mcp",
    "tools": [
      "get_target_market",
      "list_target_market_versions",
      "verify_target_market",
      "file_target_market"
    ],
    "page": "https://gettargetmarket.ai/",
    "router": "https://mcp.gettargetmarket.ai/mcp (routes by subject to the home node)"
  }
}