Skip to content

Live demo

This is the actual output of the low-memory demonstration recorded in GitHub Actions CI, not mocked tool results. Five real MCP calls are made across AIGF, CDM and FDC3.

Unlike the earlier version, examples/demo_session.py launches each server in a separate, short-lived subprocess, sequentially. The parent does not load any standard's registry. This prevents the CDM schema-validation step from having to share one Python process with the AIGF embeddings and FDC3 registry.

Reproduce this output with no API key or paid AI model:

uv sync --all-packages --all-extras
uv run --no-sync python examples/demo_session.py --fast

Omit --fast for a paced terminal presentation. To generate docs/demo.gif on a machine with the free VHS terminal recorder installed, run vhs examples/demo.tape.

Historical snapshot: The transcript below was captured with CDM 7.7.0 before the v0.3.1 release. Current main and published v0.3.1 instead bundle CDM 7.8.0, so current validator messages may differ from the example below. The live demo script is still run on every CI pull request and uploads demo-transcript.txt in the metrics artifact; follow the commands above to produce a fresh transcript. For simpler, currently tested examples, see three use cases.

starting FINOS MCP demo (isolated servers, one at a time) ...
READY

$ finos-mcp: read-only MCP servers for FINOS standards (AIGF, CDM, FDC3)

# AIGF: resolve a control by its short id and see what it mitigates
$ aigf > get_control {"id": "mi-20", "include_sections": false}
AIR-PREV-020  MCP Server Security Governance  [Preventative, Approved-Specification]
mitigates        AIR-SEC-026, AIR-SEC-008, AIR-RC-001
related controls AIR-PREV-007, AIR-DET-004
crosswalks to    8 references across 3 frameworks
cite             aigf://control/AIR-PREV-020
[read-only, rate-limited, audited]

# AIGF: reverse crosswalk, which records cite NIST SP 800-53 SA-9?
$ aigf > find_by_external_reference {"key": "sa-9"}
4 AIGF records cite this reference:
  control AIR-DET-001  AI Data Leakage Prevention and Detection
  control AIR-PREV-007  Legal and Contractual Frameworks for AI Systems
  control AIR-PREV-014  Encryption of AI Data at Rest
  control AIR-PREV-020  MCP Server Security Governance
[read-only, rate-limited, audited]

# AIGF: search in plain language, every hit is citable
$ aigf > search_framework {"query": "an employee pastes client data into a public chatbot", "k": 3}
  AIR-RC-001  Information Leaked To Hosted Model
      aigf://risk/AIR-RC-001
  AIR-RC-023  Intellectual Property (IP) and Copyright
      aigf://risk/AIR-RC-023
  AIR-SEC-010  Prompt Injection
      aigf://risk/AIR-SEC-010
[read-only, rate-limited, audited]

# CDM: validate a Rune BusinessEvent an agent got wrong (3 planted defects)
$ cdm > validate_object {"object": "<broken_execution.json>"}
valid=False   format=rune   type=cdm.event.common.BusinessEvent
validator: json-schema draft4 (cdm-json-schema 7.7.0) via Rune normalisation
3 issue(s):
  [enum       ] $.instruction[0].primitiveInstruction.execution.product.economicTerms.payout[0].@type
      'InterestRatePayoutt' is not an alternative of Payout; expected one of ['AssetPayout', 'Commodit
  [required   ] $.after[0]
      'trade' is a required property
  [required   ] $.instruction[0].primitiveInstruction.execution
      'executionDetails' is a required property
[read-only, rate-limited, audited]

# FDC3: which intents can I raise for an instrument, and which shows a chart?
$ fdc3 > suggest_intent {"context": {"type": "fdc3.instrument", "id": {"ticker": "AAPL"}}, "goal": "show a price chart"}
context fdc3.instrument (detected by type_field); ranked intents:
  1.44  ViewChart          ViewChart accepts fdc3.instrument; matches goal 'show a pr
  1.31  ViewQuote          ViewQuote accepts fdc3.instrument; matches goal 'show a pr
  1.22  ViewResearch       ViewResearch accepts fdc3.instrument; matches goal 'show a
  1.18  ViewInstrument     ViewInstrument accepts fdc3.instrument; matches goal 'show
  0.96  ViewHoldings       ViewHoldings accepts fdc3.instrument; matches goal 'show a
[read-only, rate-limited, audited]

$ every tool is read-only; nothing here writes to any external system.
DEMO DONE

The CDM step uses examples/broken_execution.json, a real CDM 7 Rune-format BusinessEvent with three deliberate defects: a misspelled payout alternative, a missing required trade, and a missing executionDetails. The validator pinpoints the corresponding JSON paths in the submitted document. Every other result also comes from the real MCP tools and is read-only, with citeable identifiers where applicable.