Council of AI GSPC
Council of AI
독립적인 AI 거버넌스 측정. 우리는 측정하고, 서명하고, 재검증합니다 — 누구나 확인할 수 있습니다.
Council of AI (CSOAI LTD, 영국 컴퍼니즈 하우스 16939677)는 AI 행동에 대한 독립적인 측정 기관입니다. 우리는 게시되고 고정된 도구로 AI 시스템을 실행하고, 그 결과를 서명된 오프라인 검증 가능한 측정 자격 증명(Ed25519)으로 발급하며, 증거가 최신 상태를 유지하도록 주기적으로 재측정합니다. 측정이지 인증이 아닙니다 — 우리는 인증하거나, 평가를 판매하거나, 시정 조치를 수행하지 않으며, 순위를 매기는 어떤 대상으로부터도 돈을 받지 않습니다. 검증은 무료이며 로그인이 필요 없습니다.
🚀 빠른 시작
# Install via pip
pip install councilof_ai
# Or install via Smithery
npx -y @smithery/cli@latest install councilof-ai --client claudeRelated MCP server: Trust Chain MCP
📏 측정 항목
13개 GSPC 측정 축 — 거버넌스, 안전, 출처, 연속성, 적합성, 개방성, 기계 적합성, 관리, 교차 현실, 탐지기 상호운용성, art5 보호장치, 군집, 영향
고정된 도구에 대한 결정적 등급 — LLM 심사 없음, 임의 점수 없음
UNMEASURED는 일급 결과입니다 — 공백은 n과 한계와 함께 보고되며, 숨겨지지 않고 실패로 채점되지 않습니다
서명된 자격 증명 — SHA-256 기반 Ed25519, 체인 연결, 시간 고정, 오프라인 검증 가능
실시간 축 데이터:
GET https://councilof.ai/api/gspc(스키마csoai.gspc-axes/0.3)
🧭 검증
모든 게시된 측정에는 공개 키와 검증 경로가 포함됩니다. 다음에서 자격 증명을 확인하세요:
https://councilof.ai/verify — 무료, 로그인 불필요
📖 문서
⚖️ 우리가 절대 하지 않는 일
❌ AI 시스템을 인증하거나 규정 준수 배지를 발급하지 않습니다
❌ 평가, 순위 위치, 또는 성적 조기 열람을 판매하지 않습니다
❌ 수수료를 받고 시정하거나 수정을 권고하지 않습니다
❌ 우리가 순위를 매기는 대상으로부터 어느 방향으로든 돈을 받지 않습니다
🤝 Council of AI 생태계의 일부
표면 | 용도 |
측정 기관 — 서명된 자격 증명, 검증, 점수판 | |
공개 사이트 | |
자주적 AI 플랫폼 |
📜 라이선스
MIT © CSOAI-ORG
Available Tools
4 toolsboard_totalsAInspect
Live GSPC board totals from https://councilof.ai/api/gspc. Returns the slot count and the measured count as two labelled numbers WITH their kind — a slot is a declared position on the board, a measurement is a real run behind it; the two are never summed and never swapped — plus as_of dates for the board and for this fetch. We measure, never certify. If the board cannot be fetched the answer is a distinct UNREACHABLE state: no cached number is ever presented as live.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, and it exceeds expectations: it reveals the live-fetch nature, the slot-vs-measurement meaning, the never-summed/never-swapped constraint, both as_of timestamps, the trust posture ('We measure, never certify'), and the UNREACHABLE failure state with 'no cached number is ever presented as live'. This is genuinely transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all load-bearing: the source resource, the data semantics with the integrity constraints, and the failure behavior. It is dense rather than padded, though it could be slightly trimmed without losing meaning. Front-loads the resource and purpose before the constraints.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with no output schema, the description covers everything an agent needs: what is returned, the semantics of each number, the as_of timestamps, and the UNREACHABLE failure state. Nothing material is missing for correct invocation; a concrete return-shape example would be the only marginal addition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so there is nothing to document and the baseline of 4 applies. Rather than parameters, the description invests in documenting return semantics — labelled counts, kinds, and as_of dates — which is where the agent needs guidance given there is no output schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Live GSPC board totals from https://councilof.ai/api/gspc... Returns the slot count and the measured count'. The distinction between slot and measurement together with 'never summed and never swapped' differentiates it clearly from siblings like get_axis, verify_card, and list_cards. An agent can tell this is the board-aggregate tool without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description details what the tool returns and its integrity semantics, so when to use it is implied — it is the tool for live board totals. However, it gives no explicit routing against the named siblings and no when-not-to-use conditions. Behavior context is strong, but explicit usage exclusions are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_axisAInspect
One axis row from the live GSPC board at https://councilof.ai/api/gspc: n, accuracy, interval, MEASURED or UNMEASURED status, family, and dates. An unmeasured axis is a first-class answer — a declared slot with no run behind it, published so the gap is visible — never an error and never a zero. Never a certification.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | Yes | The axis name as it appears on the board, e.g. governance, safety, jail, provenance-controls. Case-insensitive. An unknown name returns the list of names the board actually carries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description takes on the disclosure burden and does it well: it defines the unmeasured-axis case as a first-class answer rather than an error or zero, and adds the 'never a certification' constraint. It does not discuss read-only guarantees, auth, or rate limits, but those are less critical for a simple live board lookup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry the full definition: the first locates the resource and enumerates the reply fields; the second resolves a likely misinterpretation around unmeasured axes. Every word contributes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description enumerates all output fields (n, accuracy, interval, status, family, dates) and clarifies edge semantics, while the schema fully documents the input and error fallback. For a one-parameter read-only lookup with no output schema, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the sole parameter at 100%, including an example, case-insensitivity, and the unknown-name fallback. The description adds no parameter-specific details beyond the field list, so per the coverage rule it stays at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('get') and resource ('one axis row from the live GSPC board'), lists the returned fields, and explicitly distinguishes the result from a certification. This is enough for an agent to tell it apart from list_cards and verify_card.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clarifies the target is a single row on the public board, which implies use for per-axis lookups, and the schema notes unknown names return the board's actual list. However, it never explicitly names sibling tools or states when another tool should be used instead, so it stops short of explicit routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_cardsAInspect
The published signed-card index (https://councilof.ai/signed/card_index.json): what the index declares (n_cards) and how many rows it actually carries, reported next to — never reconciled with — the count the card store endpoint (https://councilof.ai/api/cards) reports for itself. Two labelled numbers from two surfaces; if they disagree, this tool shows the disagreement rather than picking one. Optional filters return recent rows: axis, limit.
| Name | Required | Description | Default |
|---|---|---|---|
| axis | No | Only list rows whose axis matches this name (case-insensitive). | |
| limit | No | How many rows to include in the listing (newest first). Default 10. The two counts are always reported in full regardless of this limit. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the transparency burden. It explicitly details the non-reconciliation behavior ('never reconciled with'), that it shows disagreement rather than picking a side, and that counts are always reported in full regardless of limit. This is meaningful behavioral disclosure beyond a generic 'list' operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately concise: three sentences, with the core comparison behavior front-loaded before the filter note. The dash-embedded caveat and URL-heavy phrasing add some density, but every sentence contributes necessary context.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description supplies a conceptual view of returns: two labelled numbers plus row listing with optional filters. It does not detail the row structure or exact output format, but the combination of schema and description gives enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, with both axis and limit fully described in the input schema. The description adds only the phrase 'recent rows' and confirms both are optional filters, which is marginal added value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool's function: it reports two counts from two surfaces (the signed-card index's declared n_cards vs its actual row count, and the card store endpoint's self-reported count), and lists rows with optional axis/limit filters. It doesn't explicitly differentiate itself from siblings by name, but the specific resources and comparison behavior make the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states when to use the tool: when you want to inspect these counts and see a disagreement, or list recent rows via optional filters. However, it offers no guidance on when not to use it or how it compares to sibling tools like get_axis, verify_card, or board_totals, leaving the choice to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_cardAInspect
Verify a signed gspc.measurement-card under the published rule (https://councilof.ai/signed/HOW-TO-VERIFY.md): recompute the id from the canonical body bytes, then check the Ed25519 signature under the PINNED key published at did:web:csoai.org#card-attestation-1. A card that carries its own key proves only that the file is self-consistent — anyone can alter a body and sign it with a key they just generated — so a signer other than the published key is reported INVALID. Three verdicts, never two: VALID, INVALID (with the reason), or UNCHECKABLE when the check could not be completed — 'could not check' is a different claim from 'forged'. Accepts the card as a JSON object, a JSON string, or a councilof.ai / csoai.org URL. Never a certification.
| Name | Required | Description | Default |
|---|---|---|---|
| card | Yes | The signed card: an object, a JSON string, or a councilof.ai / csoai.org URL to one. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and meets it: it discloses the security model (a self-carried key is not trusted), the pinned key source, and the three verdicts including the deliberately distinct UNCHECKABLE state. It also explains why 'could not check' is not 'forged'.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is information-dense but every sentence earns its place: procedure, security caveat, verdict semantics, accepted inputs, and explicit boundary. Key details are front-loaded before the edge-case nuance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema, the description states all three verdicts and the reason behavior, plus accepted input forms and failure semantics (UNCHECKABLE). For a single-parameter verification tool with this complexity, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds domain meaning beyond the schema: the card is a signed gspc.measurement-card, may arrive as an object, JSON string, or councilof.ai / csoai.org URL, and certifications are out of scope. It reinforces the accepted forms and adds context the schema alone lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource: 'Verify a signed gspc.measurement-card' and specifies the exact procedure: recompute the id from canonical body bytes and check the Ed25519 signature against the pinned did:web key. This clearly distinguishes it from siblings like get_axis, list_cards, and board_totals.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use is explicit — verify a signed card under the published rule — and the description gives a clear exclusion ('Never a certification'). It does not name sibling tools as alternatives, so it stops short of full alternate-route guidance, but an agent can infer when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool answers a distinct question: a single axis row, card signature validity, the published card index, and board totals. Even the two board-related tools operate at different granularities, so there is no realistic misselection risk.
Three tools follow a clear verb_noun pattern (get_axis, verify_card, list_cards), while board_totals drops the leading verb. This is a minor deviation rather than a systemic inconsistency, and the names remain predictable and readable.
Four tools is well-scoped for a focused server whose purpose is reading GSPC board data and verifying measurement cards. Each tool covers a necessary operation with no redundancy or padding.
The core surface is covered: board totals, individual axis rows, card verification, and card index listing. A minor gap is the lack of an explicit list_all_axes endpoint, though agents can work around it with get_axis and board_totals for most workflows.
Maintenance
Related MCP Connectors
Register every AI agent, log every action, prove it. EU AI Act compliance built in.
Runtime AI governance: decision gates, human approval, hash-chained audit, compliance mapping.
AI governance MCP server for EU AI Act compliance and jurisdiction verification
Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides automated EU AI Act compliance tools, including risk classification, role determination, transparency disclosures, content watermarking, deepfake labeling, and security threat detection.1632Apache 2.0
- AlicenseBqualityBmaintenanceManages trust chains and attestations with built-in EU AI Act compliance.513MIT
- AlicenseNot gradedqualityDmaintenanceEnables EU AI Act compliance for AI agent systems by providing risk classification, audit trails, gap analysis, and evidence package generation.65MIT
- AlicenseNot gradedqualityBmaintenanceProvides AI content watermarking and C2PA compliance for EU AI Act Article 50, enabling detection, verification, and batch processing of authenticated content.4MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/CSOAI-ORG/councilof-ai'
If you have feedback or need assistance with the MCP directory API, please join our Discord server