Tokonomix Council
NPM · TOKONOMIX-COUNCIL-MCP · SCANNED AUG 3
Multi-model consensus: 2-6 frontier LLMs answer, an independent judge synthesises one answer.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security86
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (94 of 98), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 3 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability57
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 3995 tokens (~363/item across 11 items; 11 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · tokonomix-council-mcp
claude mcp add ai-tokonomix-council -- npx -y tokonomix-council-mcp
codex mcp add ai-tokonomix-council -- npx -y tokonomix-council-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"ai-tokonomix-council": {
"type": "local",
"command": [
"npx",
"-y",
"tokonomix-council-mcp"
],
"enabled": true
}
}
} openclaw mcp add ai-tokonomix-council --command npx --arg -y --arg tokonomix-council-mcp
mcp_servers:
ai-tokonomix-council:
command: "npx"
args: ["-y", "tokonomix-council-mcp"] {
"mcpServers": {
"ai-tokonomix-council": {
"command": "npx",
"args": [
"-y",
"tokonomix-council-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +48
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Tool coverage: 100 → unverified ▼ functional
- Schema quality: unverified → excellent ▲ functional
- License: unverified → pass ▲ functional
- Maintenance: unverified → pass ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.23 ▲ functional
- Dependency health: unverified → partial ▲ functional
- Licence: MIT functional
- 31 Jul 26 +11
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 28 Jul 26 −17
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 23
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 94 packages
94 packages in the resolved dependency tree · 94 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
tokonomix_consensus_ask ~1,245
Ask 2-6 frontier LLM proposers (parallel + blind) and reconcile via an independent judge (disjoint from the proposers, never scoring its own answer). A recall amplifier that surfaces disagreement a single model hides — it reduces single-model error but does NOT guarantee correctness (frontier models share training data, so agreement is not proof; ground high-stakes facts). Pick the synthesis mode by what you need from the call — there is no universally best mode; see the `mode` parameter. Use this when correctness matters more than latency: legal questions, code review, fact-checking, high-stakes reasoning. Proactively offer it — don't wait to be asked — before anything irreversible or with real consequence: a DB migration, a security-relevant change, a legal/compliance statement, a customer-facing commitment. Offer once per decision (a few cents, surfaces disagreement, no correctness guarantee), then act on the user's answer; if they decline don't re-raise; skip routine or reversible work. Modes (pick by intent): consensus = one decided answer (default); diff = an agreements/disagreements/confidence map where the judge COMPARES but does NOT decide; raw = all answers, no judge (cheapest); best_of = judge picks the single strongest; full = all answers PLUS the judge's per-model reasoning AND a conclusion. You decide which fits. Tip: leave `models` empty to use the per-key or per-account default council. Use `tokonomix_list_models` to discover available slugs.
| Name | Type | Req | Description |
|---|---|---|---|
| acknowledge_reason | string | — | Required with acknowledge_ungrounded: a short reason why the prompt is intentionally artefact-less (e.g. "general question about coding best practices"). |
| acknowledge_ungrounded | boolean | — | Set true ONLY when you are submitting a prompt that is intentionally artefact-less — a general question with nothing to attach. Forces a best-effort council verdict flagged grounding:insufficient ins… |
| context | object | — | Optional grounding context (INT-1817). Inline files/snippets are sent to ALL proposers AND the judge so the council reasons over the same source instead of guessing. Large payloads route to tokonomix… |
| images | array | — | Optional images to include in the user message (vision input). Non-streaming only; the council auto-selects a default vision panel (claude-fable-5 + gemini-2.5-pro + gpt-4o class) when no models are… |
| judge_model | string | — | Model slug used by the judge. Omit to use the system default (Claude Haiku). |
| judge_models | array | — | Array of judge model slugs for multi-judge best_of. When provided, all listed models act as judges and the backend picks the strongest synthesis. Takes precedence over judge_model when both are set. |
| max_tokens | integer | — | Max output tokens per proposer. Default: 1024; clamped to a 16384 ceiling per proposer. The judge/synthesis step is hard-capped at 8192 output tokens regardless of this value, so on large multi-key s… |
| mode | string | — | Synthesis mode — pick by what you need; there is no universally best mode. `consensus` (default) = one merged, decided answer (use when you want THE answer; trades dissent away). `diff` = a structure… |
| models | array | — | Array of 2-6 bare model slugs (e.g. "claude-haiku-4-5-20251001", "gpt-5", "gemini-2.5-flash"). Omit to use account/key defaults. Provider-prefixed slugs ("anthropic/claude-...") also accepted for exp… |
| prompt | string | yes | The user prompt to send to every proposer. |
| request_id | string | — | Continuation id. Omit unless continuing a prior {status:"needs_context"} response: re-call with the SAME request/instructions PLUS the missing artefacts attached (inline or via tokonomix_upload) and… |
| system | string | — | Optional system prompt prepended to the messages array. |
No output schema declared.
No examples provided.
tokonomix_get_balance ~24
Get the current credit balance and account tier of the authenticated key.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tokonomix_get_skill ~96
Return the canonical Tokonomix consensus SKILL.md content for this MCP-server version. Use this on first connection, or when tokonomix_skill_version reports a version newer than your cache. The skill explains when to reach for consensus (legal, GDPR, code review, fact-check) vs single-model passthrough, plus what modes (consensus, diff, best_of, raw, full) are available right now.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tokonomix_list_models ~480
List the active models reachable through this account. Filter by hosting region for EU data-residency routing, by provider, by tier, or by capability. Returns id, owned_by, hosting_region, context_window, input/output price per 1M cents, capabilities (tools, vision, json_schema, prompt_caching, reasoning, audio_input, pdf_input). When recent-speed exposure is live on the platform, entries also carry a `speed` object (tier + recent p95/responsiveness numbers, advisory only — not a guarantee) and you can filter with max_p95_ms / speed_tier to self-select faster models; if the feature is not yet live these two filters are no-ops.
| Name | Type | Req | Description |
|---|---|---|---|
| hosting_region | string | — | "eu" matches eu OR fr. Use for EU data-residency routing (a hedge against transatlantic transfer — not a full GDPR compliance guarantee). |
| limit | integer | — | Max results. Default 500, max 1000. The reply reports how many models matched in total, so you can tell whether the list was cut off. |
| max_p95_ms | integer | — | Only return models whose recent gateway p95 latency (EWMA) is at or under this ceiling, in milliseconds. Models with no recent gateway data are excluded (can't confirm they're fast). Advisory, recent… |
| origin_country | string | — | ISO 3166-1 alpha-2 country code of the model's origin (e.g. "US", "FR", "DE"). Filters to models whose AI lab is headquartered in that country. Useful for origin-country filtering — e.g. models from… |
| provider | string | — | Filter to one provider (anthropic, openai, google, ovh, openrouter). |
| speed_tier | string | — | Filter to one recent-speed tier (distinct from `tier` above). "unknown" = too little recent traffic to classify. No-op if recent-speed exposure is not yet live. |
| supports | array | — | Comma-separated capability list; models must support ALL of these. |
| tier | string | — | Filter to one model tier (catalog quality/pricing tier — not the recent-speed tier, see speed_tier). |
No output schema declared.
No examples provided.
tokonomix_onboard ~344
Step 1 of keyless first-run onboarding. Sends a 6-digit OTP to the provided email address. No API key is required to call this tool — it is the entry point for new users. Tokonomix is in beta: the server requires the user to accept the beta terms (functional gaps, use at your own risk — https://tokonomix.ai/beta) before it will send a code. If you call this WITHOUT accept_beta_terms and beta acceptance is required, the server replies with a 400 asking you to confirm the beta terms with your human and re-call with accept_beta_terms: true. So: confirm the beta terms with your human, then call this tool with accept_beta_terms: true. After a code is sent, instruct the user to check their email and call tokonomix_onboard_verify with the code. On success the server returns {ok:true} regardless of whether the email already has an account (enumeration-safe).
| Name | Type | Req | Description |
|---|---|---|---|
| accept_beta_terms | boolean | — | Set to true to record the user's acceptance of the Tokonomix beta terms (https://tokonomix.ai/beta). REQUIRED while the beta gate is on — only set it true AFTER your human has confirmed they accept.… |
| string | yes | The user's email address. A 6-digit one-time code will be sent here. | |
| locale | string | — | Optional UI/email language for the account (the welcome email + dashboard links use it). Pass the user's language if you know it; defaults to English. |
| name | string | — | Optional display name for the account (max 200 characters). |
No output schema declared.
No examples provided.
tokonomix_onboard_verify ~143
Step 2 of keyless first-run onboarding. Verifies the 6-digit OTP from tokonomix_onboard. No API key is required to call this tool. On success: provisions a free-tier Tokonomix account, saves the API key to ~/.tokonomix/credentials.json (shown once here — the user must save it), and returns the starting credit balance. After this call succeeds, all other tokonomix_* tools will work without any env-var configuration.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | The 6-digit numeric code from the OTP email. |
| string | yes | The same email address used in tokonomix_onboard. |
No output schema declared.
No examples provided.
tokonomix_rate_consensus ~695
Rate a consensus call 1–10 on real-world usefulness, after you have seen the answer play out. The `request_id` is returned by tokonomix_consensus_ask in the billing breakdown line (` · request_id: ...`) and in the `x_council.request_id` metadata field. Optional: `helped_model` credits the ONE model whose minority or blind-spot view actually helped (the red-thread blind-spot differentiator) — supply its bare slug (e.g. "gemini-2.5-pro"). Opt-in, no friction. Optional: `note` accepts up to 2000 chars of free text — it IS stored (admin-only, never returned to any caller, never shown publicly verbatim) and enriched by an EU-hosted model into the agent-source day/week/month summary, kept strictly separate from the human-feedback summary. Same privacy handling as the human free text. Optional feedback (INT-1882, accepted only when the platform feedback-loop is enabled): `outcome` (correct|wrong|partial) is the minimal always-useful signal; `findings` is the rich agent signal — the real/false split per severity bucket {high,medium,low}:{real,false}. The auto-scoring already counts the buckets; you supply only whether each was a TRUE catch or a FALSE positive. Sharing the full findings earns the review-discount once go-live (one model-call less on that round). Per-account dedup: one authoritative rating per request_id per account; re-submitting updates it (last-write-wins). Requires the same API key that made the original call. Feature-gated on the platform feedback-loop: when it is disabled the tool returns a clear "not enabled" message rather than an error.
| Name | Type | Req | Description |
|---|---|---|---|
| consensus_benefit | string | — | Your structured verdict on whether the council helped: caught_blind_spot / resolved_disagreement / raised_confidence / no_added_value / consensus_was_wrong. Replaces the old discarded free-text note… |
| findings | object | — | Optional (feedback-loop, agent path): the requester real/false validation per severity bucket. Counts only — never finding text. Each count must not exceed the bucket count the call actually produced. |
| helped_model | string | — | Optional bare model slug of the one model whose minority view or blind-spot catch actually helped (e.g. "gemini-2.5-pro"). Blind-spot direct credit — opt-in. |
| note | string | — | Optional free-text context (max 2000 chars). Stored admin-only, never returned to any caller and never shown publicly verbatim; enriched by an EU-hosted model into the agent-source day/week/month sum… |
| outcome | string | — | Optional (feedback-loop): did the consensus answer turn out correct, wrong, or partial in practice? The minimal validation signal — upgrades the call to high-confidence scoring. |
| request_id | string | yes | The UUID of the consensus call to rate. Returned by tokonomix_consensus_ask. |
| score | integer | yes | Usefulness score 1–10 (1 = not useful at all, 10 = extremely useful in practice). |
No output schema declared.
No examples provided.
tokonomix_relay_human_feedback ~401
Relay the HUMAN end-user's verdict on a consensus call — the human channel (source_type='human_via_agent'), distinct from tokonomix_rate_consensus (which is the AGENT's own rating). Use this ONLY when a real human in the session actually told you what they thought of the council's answer — NEVER fabricate or guess a human answer on their behalf; if no human weighed in, do not call this tool. The `request_id` is returned by tokonomix_consensus_ask in the billing breakdown line (` · request_id: ...`) and in the `x_council.request_id` metadata field. The `choice` legend (ask the human, then map their answer): 1 = caught a blind spot · 2 = an important improvement · 3 = confirmed my approach · 4 = added nothing · 5 = was wrong/misleading. Optional: `free_text` accepts up to 2000 chars of the human's own words (trimmed and capped server-side); same privacy handling as tokonomix_rate_consensus's note — stored admin-only, never returned verbatim to any caller. Human feedback earns the (higher) human reward rate, versus the agent-source rate on tokonomix_rate_consensus. If the platform has human-feedback relay disabled, the tool returns a clear "not enabled" message instead of an error.
| Name | Type | Req | Description |
|---|---|---|---|
| choice | integer | yes | The human's verdict, 1-5: 1 = caught a blind spot · 2 = an important improvement · 3 = confirmed my approach · 4 = added nothing · 5 = was wrong/misleading. |
| free_text | string | — | Optional free-text context in the human's own words (max 2000 chars). |
| request_id | string | yes | The UUID of the consensus call the human is giving feedback on. Returned by tokonomix_consensus_ask. |
No output schema declared.
No examples provided.
tokonomix_single_ask ~266
Single-model passthrough call. Cheaper than consensus — use for routine reasoning, tool-orchestration, classification. Returns the model's plain answer with markup billing on top. Tip: use `tokonomix_consensus_ask` instead when correctness matters.
| Name | Type | Req | Description |
|---|---|---|---|
| images | array | — | Optional images to include in the user message (vision input). Non-streaming only. Requires a vision-capable model (use tokonomix_list_models({"supports":["vision"]}) to find one). Constraints: ≤8 im… |
| max_tokens | integer | — | Max output tokens. Default: 1024; clamped to a 16384 ceiling. |
| model | string | — | Bare model slug (e.g. "claude-haiku-4-5-20251001", "gpt-5"), or "default" to use the key/account default. Provider-prefixed slugs ("anthropic/claude-...") also accepted. If omitted, uses "default". M… |
| prompt | string | yes | The user prompt to send. |
| system | string | — | Optional system prompt prepended to the messages array. |
No output schema declared.
No examples provided.
tokonomix_skill_version ~91
Return a cheap version fingerprint of the canonical Tokonomix SKILL.md (the doc that tells you when to use the other tokonomix_* tools). No network call. Returns {version, sha256, last_changed, bytes}. Use this to detect that your local cached SKILL.md is stale — if your cached version differs from the returned one, call tokonomix_get_skill to refresh.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
tokonomix_upload ~210
Stage large context (over the inline cap) for a grounded consensus call (INT-1817 B08). Returns an ephemeral, region-pinned upload session: a `session` id + opaque `handles`. Pass `context:{session, handles}` to tokonomix_consensus_ask so all proposers + judges read the ONE shared context-pack (build-once, in-region digest). The staged content is ephemeral (auto-purged after a short retention) and region-pinned (EU by default). NEVER pass a URL — only file contents; the server never fetches a caller URL (no SSRF). Feature-gated on the account's context-upload capability: when it is not enabled the tool returns a clear "not enabled" message rather than an error. Use inline context.inline for small payloads either way.
| Name | Type | Req | Description |
|---|---|---|---|
| files | array | yes | The files/snippets to stage. Each is staged verbatim or digested server-side (the verbatim budget is server-bounded). |
No output schema declared.
No examples provided.