councilof-ai
Council of AI — independent AI-behaviour measurement via GSPC. 305-leaf Merkle root, Bitcoin-anchored, Ed25519-signed. Open source.
Install / Use
claude mcp add CSOAI-ORG -- npx -y github:CSOAI-ORG/councilof-aiIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Tags
Our assessment of councilof-ai
councilof-ai scores 75/100 on our quality scale, 3684th of 4,576 Development & Engineering skills we index.
Its MCP Server is 17 KB long, well organised into 20 sections with 3 code examples: a thorough specification that gives an agent plenty to work with.
It has 3 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated today, so councilof-ai is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
councilof-ai compared with similar skills
All 4 of these similar skills score higher than councilof-ai; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| councilof-ai (this skill)by CSOAI-ORG | 75 | 3 | today | MCP Server |
| Agent-Reachby Panniantong | 100 | 93.9k | today | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.7k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.3k | today | CLAUDE.md |
| ai-job-searchby MadsLorentzen | 100 | 45.3k | 2d ago | CLAUDE.md |
Frequently asked questions
- How do I install councilof-ai?
- Run
claude mcp add CSOAI-ORG -- npx -y github:CSOAI-ORG/councilof-ai. The install tabs above show the steps for each supported agent. - Which AI agents does councilof-ai work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is councilof-ai safe to use?
- It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is councilof-ai still maintained?
- The repository was last updated today, so councilof-ai is actively maintained.
Skill content
View source on GitHubCS<strong>O</strong>AI — Council of AI
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
| # | axis | family | kind | n | status | separation | leader carried? |
|---|---|---|---|---|---|---|---|
| 1 | governance | gspc | model-comparison | 237 | MEASURED | TIE | yes — accuracy 0.5865 |
| 2 | safety | gspc | model-comparison | 36 | MEASURED | TIE | yes — accuracy 0.9444 |
| 3 | provenance | gspc | model-comparison | 32 | MEASURED | TIE | yes — accuracy 0.7188 |
| 4 | continuity | gspc | model-comparison | 33 | MEASURED | TIE | yes — accuracy 0.6061 |
| 5 | conformance | gspc | model-comparison | 35 | MEASURED | TIE | yes — accuracy 0.7143 |
| 6 | openness | gspc | model-comparison | 32 | MEASURED | TIE | yes — accuracy 0.8438 |
| 7 | machinery-conformity | gspc | model-comparison | 33 | MEASURED | UNTESTED | no — no signed card |
| 8 | care | gspc | model-comparison | 199 | MEASURED | TIE | yes — accuracy 0.405 |
| 9 | cross-reality | gspc | model-comparison | 32 | MEASURED | UNTESTED | no — no signed card |
| 10 | detector-interop | gspc | model-comparison | 33 | MEASURED | UNTESTED | no — no signed card |
| 11 | art5-safeguard | gspc | model-comparison | 36 | MEASURED | UNTESTED | no — own model led, excluded |
| 12 | swarm | gspc | model-comparison | 37 | MEASURED | UNTESTED | yes — accuracy 0.4444 |
| 13 | affect | gspc | model-comparison | 41 | MEASURED | UNTESTED | no — own model led, excluded |
| 14 | jail | gspc | model-comparison | 71 | MEASURED | UNTESTED | yes — accuracy 0.5915 |
| 15 | effect-binding | gspc | deterministic-facts | 261 | MEASURED | — | no leader by design (facts run) |
| 16 | provenance-controls | financial | deterministic-facts | 6 | MEASURED | — | no leader by design (facts run) |
| 17 | reserve-attestation | financial | deterministic-facts | 16 | MEASURED | — | no leader by design (facts run) |
| 18 | regulatory-framework | financial | deterministic-facts | 16 | MEASURED | — | no leader by design (facts run) |
| 19 | distribution-integrity | financial | deterministic-facts | 16 | MEASURED | — | no leader by design (facts run) |
| 20 | custody-disclosure | financial | deterministic-facts | 16 | MEASURED | — | no leader by design (facts run) |
| 21 | ai-adoption-components | financial | deterministic-facts | 2 | MEASURED | — | no leader by design (facts run) |
| 22 | labour-components | financial | deterministic-facts | 2 | MEASURED | — | no leader by design (facts run) |
| 23 | humanoid-labour-index | financial | deterministic-facts | 8 | MEASURED | — | 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.
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
| layer | live now | where |
|---|---|---|
| 1 · Ed25519-signed measurement cards | 335 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 root | csoai.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 witness | Rekor 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 ledger | 93 entries · latest C-2026-0822-01 (2026-08-22) · signature_state VALID · CC-BY-4.0 | /api/corrections |
| Living board stamp | SIGNED under did:web:csoai.org#board-attestation-1 | /api/gspc → measured_on.living_stamp |
| Third-party Hub cells | 411 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 manifest | Council 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
| product | what you get | door (live status at derive time) |
|---|---|---|
| commission-card | Commission a signed card (request-attestation) | /api/request-attestation?subject=csoai&axis=honesty → 402 |
| evidence-bundle | Evidence bundle mapped to an obligation | /api/evidence-bundle?obligation=article-50&subject=csoai&bundle=1 → 402 |
| eu-ai-act-pack | EU AI Act pack (Article 50 / 53 transparency) | /api/evidence-bundle?obligation=article-53&subject=csoai&bundle=1 → 402 |
| swift-bank-pack | SWIFT/bank census evidence pack | /api/evidence-bundle?obligation=dora&subject=csoai&bundle=1 → 402 |
| xrpl-asset-evidence | XRPL asset evidence card (per request) | /api/rwa/evidence?asset=RLUSD → 402 |
| signed-data-feed | Signed data feed (assembly + cadence) | /api/eunomia-data?feed=1 → 402 |
| provider-diff-feed | Provider document diff feed | /api/feeds/provider-diff?history=1 → 402 |
| receipts-batch | Receipts batch (historical measurement leaves) | /api/receipts/batch?from=2026-09-01&to=2026-09-05 → 402 |
| art50-marking-evidence | Article 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
| surface | what lands there | read back at derive time | carries the live root as_of? |
|---|---|---|---|
| Hugging Face dataset csoai/gspc-board | snapshot/ — board.json + root.json byte-for-byte, SNAPSHOT.json, check-board.sh, gspc-axes.csv/.jsonl | as_of 2026-09-30T05:05:34Z · merkle 47277a6f2034… · 319 leaves · modified 2
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
93.9kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.7kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.3kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
ai-job-search
45.3kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
