Skip to content
plugmcp
DirectorySkillsCategoriesBlog
EN/中文
Sign inSign up
Home/Servers/Csoai

Csoai

by io.github.CSOAI-ORG

Signed deterministic AI-governance measurement: EU AI Act cards + agent-callable record verify.

Power your agent

Add this server

The publisher's own command. Not a PlugMCP endpoint.

Local command
uvx csoai==0.1.2
Provider
Claude Code
claude mcp add io.github.csoai-org-csoai -- uvx csoai==0.1.2

Run in a terminal.

Claude Desktop
{
  "mcpServers": {
    "io.github.csoai-org-csoai": {
      "command": "uvx",
      "args": [
        "csoai==0.1.2"
      ]
    }
  }
}

claude_desktop_config.json

Step-by-step: add this in Claude

Remote URL or a command on your machine? How the two installs differ

Run on PlugMCP

Host a copy with our keys and logs.

A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.

Launch

Related MCP

View more
  • Firecrawl🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
  • N
    NotionToken-auth Notion MCP: pages, databases, blocks, comments, files. Runs headless in CI and agents.
  • Context7Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

Related skills

View all
  • reaReverse engineer anything with agents, from app behavior down to native binaries.
  • rea-changelog-updatePrepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.
  • rea-tool-designDesign or change REA investigation tools, CLI/MCP contracts, provider capabilities, and Evidence semantics.

Signed deterministic AI-governance measurement: EU AI Act cards + agent-callable record verify.

CSOAI — Council of AI

CSOAI — Council of AI — is the public measurement service operated by CSOAI Ltd, a company incorporated in England and Wales on 2 January 2026 (Companies House 16939677), founded by Nicholas Templeman. We run AI systems and digital rails against published instruments, grade deterministically where the method permits it, publish signed evidence and corrections, and keep unmeasured or uncheckable states visible. Verification is free. We measure; we do not certify, accredit, issue legal-compliance determinations, sell a rank, or take money from anything we rank.

How to read the board: measurement coverage and model-ranking separation are different determinations. TIE means the evidence does not justify a hierarchy; UNTESTED means no separation test is published yet; deterministic-fact axes have no model leader by design.

23 axes measured · 14 model comparisons: 0 separated · 7 TIE · 7 UNTESTED · 9 fact runs · TIE is TIE · not a certificate.

Independent AI-governance measurement. This repository is the live site, API and signing pipeline behind councilof.ai: the 23-axis GSPC board, Ed25519-signed measurement cards, the signed Merkle public root and its transparency-log witness, the corrections ledger, the A2A agent card, the x402 manifest, and the PyPI / npm readers. Measurement, not certification.

derived 2026-10-07T10:35:32Z by scripts/github/org-readme.py — every number on this page is read live from the URLs in that script; if this page and the API disagree, the API is right.

The board today

GET https://councilof.ai/api/gspc — schema csoai.gspc-axes/0.5 · totals.public_count = 23 axes · 23 measured

#axisfamilykindnstatusseparationleader carried?
1governancegspcmodel-comparison237MEASUREDTIEyes — accuracy 0.5865
2safetygspcmodel-comparison36MEASUREDTIEyes — accuracy 0.9444
3provenancegspcmodel-comparison32MEASUREDTIEyes — accuracy 0.7188
4continuitygspcmodel-comparison33MEASUREDTIEyes — accuracy 0.6061
5conformancegspcmodel-comparison35MEASUREDTIEyes — accuracy 0.7143
6opennessgspcmodel-comparison32MEASUREDTIEyes — accuracy 0.8438
7machinery-conformitygspcmodel-comparison33MEASUREDUNTESTEDno — no signed card
8caregspcmodel-comparison199MEASUREDTIEyes — accuracy 0.405
9cross-realitygspcmodel-comparison32MEASUREDUNTESTEDno — no signed card
10detector-interopgspcmodel-comparison33MEASUREDUNTESTEDno — no signed card
11art5-safeguardgspcmodel-comparison36MEASUREDUNTESTEDno — own model led, excluded
12swarmgspcmodel-comparison37MEASUREDUNTESTEDyes — accuracy 0.4444
13affectgspcmodel-comparison41MEASUREDUNTESTEDno — own model led, excluded
14jailgspcmodel-comparison71MEASUREDUNTESTEDyes — accuracy 0.5915
15effect-bindinggspcdeterministic-facts261MEASURED—no leader by design (facts run)
16provenance-controlsfinancialdeterministic-facts6MEASURED—no leader by design (facts run)
17reserve-attestationfinancialdeterministic-facts16MEASURED—no leader by design (facts run)
18regulatory-frameworkfinancialdeterministic-facts16MEASURED—no leader by design (facts run)
19distribution-integrityfinancialdeterministic-facts16MEASURED—no leader by design (facts run)
20custody-disclosurefinancialdeterministic-facts16MEASURED—no leader by design (facts run)
21ai-adoption-componentsfinancialdeterministic-facts2MEASURED—no leader by design (facts run)
22labour-componentsfinancialdeterministic-facts2MEASURED—no leader by design (facts run)
23humanoid-labour-indexfinancialdeterministic-facts8MEASURED—no leader by design (facts run)

Counted from the axes array at derive time: 23 rows — MEASURED 23 — agrees with totals.axes. Separation over the 14 model-comparison axes: SEPARATED 0 · TIE 7 · UNTESTED 7. A TIE is not a win; UNTESTED is not a win; a facts run has no leader. Living stamp: SIGNED (did:web:csoai.org#board-attestation-1). Board data: CC-BY-4.0.

Card inventory (14 Oct 2026)

Dated snapshot, not a live count — the live count is /signed/card_index.json. A one-off scan of 8 of 9 storage locations on 14 Oct 2026 found 11,929 unique signed measurement cards, 7,994 with a VALID signature, and 335 live and verifiable on councilof.ai. Method, scope and the source summary: evidence/card-inventory-2026-10-14.md.

What a stranger can verify in four curls

# 1. the lid — the one sentence the board is allowed to say about itself
curl -s https://councilof.ai/api/gspc | python3 -c 'import sys,json; print(json.load(sys.stdin)["totals"]["lid"])'

# 2. the signed public root — Merkle root, leaf count, timestamp (card_count MUST equal len(card_sha256))
curl -s https://councilof.ai/root.json | python3 -c 'import sys,json; r=json.load(sys.stdin); print(r["merkle_root"], r["card_count"], len(r["card_sha256"]), r["as_of"])'

# 3. pin the card key from the DID document — never trust the key a card ships with
curl -s https://csoai.org/.well-known/did.json | python3 -c 'import sys,json,base64; k=[v for v in json.load(sys.stdin)["verificationMethod"] if v["id"].endswith("#card-attestation-1")][0]["publicKeyJwk"]["x"]; print(base64.urlsafe_b64decode(k+"="*(-len(k)%4)).hex())'

# 4. verify any card against that pinned key — three states only: VALID · INVALID · UNCHECKABLE
pipx run --spec 'csoai-gspc[verify]' csoai-gspc verify "$(curl -s https://councilof.ai/signed/card_index.json | python3 -c 'import sys,json; print(json.load(sys.stdin)["cards"][0]["card"])')"

The integrity stack

layerlive nowwhere
1 · Ed25519-signed measurement cards335 cards (n_cards == n_cells: True), one key d4cb0eaa… = did:web:csoai.org#card-attestation-1/signed/card_index.json · how to verify
2 · Signed Merkle public rootcsoai.public-root/v1 · root 47277a6f2034… · 319 leaves (card_count == len(card_sha256): True) · as_of 2026-09-30T05:05:34Z · signed: True/root.json · how to verify the root
3 · Transparency-log witnessRekor WITNESSED · OpenTimestamps CONFIRMED_BITCOIN · EAS NOT_YET · witnessed root 47277a6f2034… equals live root.json at derive time: True · pointer's own last drift check DRIFTED at 2026-09-30T05:07:06Z · conflict NONE/interop/root-witness-pointer.json · sidecar
4 · Corrections ledger93 entries · latest C-2026-0822-01 (2026-08-22) · signature_state VALID · CC-BY-4.0/api/corrections
Living board stampSIGNED under did:web:csoai.org#board-attestation-1/api/gspc → measured_on.living_stamp
Third-party Hub cells411 cells: MEASURED 411 · UNMEASURED 0 · complete read: True (as_of 2026-10-07T10:35:26.762Z — re-GET /api/hub-cards → .counts; never freeze)/api/hub-cards
Keys (DID)did:web:csoai.org · 7 verification methods · card key x=1MsOqhbV9Q…/.well-known/did.json
A2A agent card · x402 manifestCouncil of AI — Measurement Agent, 12 skills · csoai.x402/0.2, network eip155:8453, mode live, 31 metered resources/.well-known/agent.json · /.well-known/x402.json

Four populations appear above on purpose and are never reconciled here: the signed-card index (335 via /signed/card_index.json), the living /api/cards registry (336), the public-root leaf count (319 via /root.json), and the Hub cells (live GET /api/hub-cards → .counts; currently 411/411/0). Quote each with its URL. Ceremony: card verify ≠ root inclusion — signed-index/root identifier overlap = 0; never sell “335 in the root.”

Buyers (the one number): distinct_nonself_payers = 2 all-time · 2 in 30 d · 2 settlements · status MEASURED — read from /api/revenue. Published because a measurement body that hides its own zero has no standing to publish anyone else's.

Install the readers

pip install csoai-gspc          # 0.2.20261007.1 — board, axis, verify, root, snapshot
npx csoai-gspc-mcp              # 0.2.2 — stdio MCP server over the same endpoints

Products

productwhat you getdoor (live status at derive time)
commission-cardCommission a signed card (request-attestation)/api/request-attestation?subject=csoai&axis=honesty → 402
evidence-bundleEvidence bundle mapped to an obligation/api/evidence-bundle?obligation=article-50&subject=csoai&bundle=1 → 402
eu-ai-act-packEU AI Act pack (Article 50 / 53 transparency)/api/evidence-bundle?obligation=article-53&subject=csoai&bundle=1 → 402
swift-bank-packSWIFT/bank census evidence pack/api/evidence-bundle?obligation=dora&subject=csoai&bundle=1 → 402
xrpl-asset-evidenceXRPL asset evidence card (per request)/api/rwa/evidence?asset=RLUSD → 402
signed-data-feedSigned data feed (assembly + cadence)/api/eunomia-data?feed=1 → 402
provider-diff-feedProvider document diff feed/api/feeds/provider-diff?history=1 → 402
receipts-batchReceipts batch (historical measurement leaves)/api/receipts/batch?from=2026-09-01&to=2026-09-05 → 402
art50-marking-evidenceArticle 50 transparency marking evidence (per asset)/api/art50/marking-evidence?url=/ → 402

9 products read from docs/product/_INDEX.json (as_of 2026-09-06T06:00:18Z). A 402 means the door is metered by x402 and the amount appears only in that 402 challenge — never here, never on the board. Verification of every artefact is free.

Where the board is published

surfacewhat lands thereread back at derive timecarries the live root as_of?
Hugging Face dataset csoai/gspc-boardsnapshot/ — board.json + root.json byte-for-byte, SNAPSHOT.json, check-board.sh, gspc-axes.csv/.jsonlas_of 2026-09-30T05:05:34Z · merkle 47277a6f2034… · 319 leaves · modified 2026-10-07T09:25:15.000Zyes
Hugging Face Space csoai/gspc-boardthe same snapshot/ folder beside the one living Spaceruntime RUNNING · modified 2026-10-06T16:16:19.000Zn/a
Kaggle dataset nicktempleman/csoai-gspc-living-boarda new dataset version per changed fingerprint; the subtitle carries as_ofHTTP 200 · latest ISO timestamp on the listing page 2026-10-06T16:16:11Zno — behind
GitHub mirror CSOAI-ORG/gspc-boardthe snapshot files on mainas_of 2026-09-22T08:54:02Z · merkle 40ce3833118f… · 305 leavesno — behind
Zenodo 10.5281/zenodo.22293340a new version under the concept DOI, isDerivedFrom the methodology record 10.5281/zenodo.219911041 versions · latest 10.5281/zenodo.22344048 = as_of 2026-09-05T09:00:28Z (2026-09-05)no — behind
PyPI csoai-gspccsoai-gspc==0.2.<YYYYMMDD> — reader + verifier, snapshot bundled as package data0.2.20261007.1 · uploaded 2026-10-07T05:36:24 · Apache-2.0n/a
npm csoai-gspc-mcpstdio MCP server over the same endpoints (published by hand — the account is WebAuthn, so the daily spray cannot push here)0.2.2 · published 2026-09-13T14:42:17.493Z · Apache-2.0n/a

Pushed by scripts/spray/gspc-spray.py (daily, idempotent by as_of and fingerprint). The live root as_of at derive time was 2026-09-30T05:05:34Z; a surface that lags is shown lagging, not reconciled. Board data is CC-BY-4.0; the reader packages are Apache-2.0 / Apache-2.0.

Source mirror. This repository is the GitHub source of record for source changes. A public mirror is also available at https://huggingface.co/datasets/csoai/councilof-ai-source; live public evidence remains at https://councilof.ai.

Hosting and deploy

HostCloudflare Pages projectDeploy
councilof.ai / wwwcouncilof-aiGitHub Actions deploy.yml → wrangler pages deploy
csoai.orgcsoai-siteWrangler (csoai-site-deploy.yml)

Vercel is not the live host. The leftover Vercel Git links (csoai-v2-app, councilof-ai-src) were disconnected and those Vercel projects deleted on 31 Aug 2026.

Build (this repo):

npm run build:client
bash scripts/prerender-run.sh --dist dist/client --wait 900 --min 350
# GHA deploy.yml ships dist/client to Cloudflare Pages

Do not run npx vite build from the repo root (it picks up a dead src/). Do not vercel deploy this site.

Agents — paid artefacts (x402)

The board and verification stay free. Metered artefacts (issuance, evidence assembly, signed feeds) are on the x402 rail. Amounts live only in the HTTP 402 challenge — this README does not invent a price. A grade is never sold.

  • Catalog: https://councilof.ai/api/x402
  • Manifest: https://councilof.ai/.well-known/x402.json
  • MCP: https://councilof.ai/mcp (commission_card and the other paid tools return a 402 as structuredContent until paid)

Verified week-one revenue (PayAI bazaar, 2026-09-16)

MetricValue
External USDC settled$0.02
Distinct external payers1 (paid), 10+ (free-door)
Issuances8
CSOAI /api/free-door settlements/30d18
CSOAI uptime100%
csoai-gspc-mcp npm downloads (last-month)776

Source: GET https://councilof.ai/api/revenue and PayAI bazaar stats.

Buyer integration guides

  • Python (eth_account): https://github.com/CSOAI-ORG/csoai-x402-buyer-guide
  • TypeScript (viem): https://github.com/CSOAI-ORG/csoai-x402-typescript-example
  • Revenue catalog: https://github.com/CSOAI-ORG/csoai-x402-revenue
  • Week-one report: https://github.com/CSOAI-ORG/csoai-blog-x402-revenue

Network: Base (eip155:8453) · Asset: USDC · Pay-to: 0x212686404A7D1E1fD88F35eD6200c3aF7A78ae31 · Promo $0.01 until 2027-01-11 (extended 7 Oct 2026; was 2026-10-11).

Documentation

  • Measurement body overview
  • Methodology
  • GSPC scoreboard
  • Published measurements
  • EU AI Act Article 50

What we never do

  • Certify AI systems or issue compliance badges
  • Sell ratings, ranking position, or early sight of grades
  • Remediate or recommend fixes in exchange for fees
  • Take money in either direction from anything we rank

Surfaces

SurfacePurpose
councilof.aiMeasurement body — signed credentials, verify, scoreboard
csoai.orgPublic site / DID apex
meok.aiMEOK OS — yours, on your keys

License

MIT © CSOAI-ORG


How do I install Csoai?
Copy the stdio config for Cursor, Claude Desktop, Claude Code, or VS Code on this page. It uses the publisher's install, not a PlugMCP proxy.
Does Csoai need an API key?
No required environment variable is listed on this record.
What transport does Csoai use?
Csoai runs locally over stdio.
When was Csoai last checked?
Last checked 2026-10-16. Signed deterministic AI-governance measurement: EU AI Act cards + agent-callable record verify.

No tool list yet. Remote servers get one after the first health check.

plugmcp

Plug any tool into any agent. MCP servers for people who do not write servers. Gateway for volume, n8n for apps.

  • github.com/TODO
  • x.com/TODO
  • linkedin.com/company/TODO

PlugMCP, 2026

Product
  • Browse
  • Install
  • Host your own
  • Voice mode
  • Browser
Directory
  • All MCP servers
  • Agent skills
  • Categories
  • New
  • Voice
  • Submit a server
Developers
  • Docs
  • Blog
  • What is MCP
  • What is WebMCP
  • Status
Company
  • About
  • Contact
  • Terms
  • Privacy
  • DPA