Skip to content

io.github.terradev-cloud/quorum

by terradev-cloud · remote · no sign-in to list tools · v0.1.1 · published by GitHub user terradev-cloud

Attested multi-agent consensus: proposals, votes, and outcomes stamped and traced.

Changes · 5

7 tools: 5 change things and 2 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http quorum https://quorum-mcp.terradev.cloud/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

7 tools

Changes things 5Claude Code: ask
  • historyThe complete attested record of a proposal in chronological order: creation, every blackboard write, every vote with reasoning, the outcome.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    The complete attested record of a proposal in chronological order: creation, every blackboard write, every vote with reasoning, the outcome. Optional filter: all | writes | votes | outcome.
  • proposeOpen a new proposal: a question, named options, expected voter identities, an aggregation algorithm, a deadline, and a quorum threshold.No findings

    Why it is in this group

    • The description's first verb is "open": a word for a change.
    Description, as the server wrote it
    Open a new proposal: a question, named options, expected voter identities, an aggregation algorithm, a deadline, and a quorum threshold. Returns the proposal id, the creation attestation, and the deadline. All later operations key off the proposal id.
  • registerOPTIONAL one-time setup -- only needed if you want proposal telemetry (OTLP spans) pushed to your Telinea account.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    OPTIONAL one-time setup -- only needed if you want proposal telemetry (OTLP spans) pushed to your Telinea account. Call once before propose: it binds an api_key you choose to your Telinea API key. Afterwards, pass the same api_key on propose and every span for that proposal is pushed to your Telinea with standard OTLP bearer auth. Storage: the Telinea key is sealed with AES-256-GCM under a key derived from your api_key (HKDF-SHA256, per-account salt); only sha256(api_key) is kept as the lookup id, so neither key is ever stored in the clear. Re-registering with the same api_key rotates the stored Telinea key. Skip this tool entirely for anonymous use -- propose works without an api_key, just with no span streaming.
  • voteSubmit a vote from an expected voter identity, with optional reasoning stored in the attested record.No findings

    Why it is in this group

    • The description's first verb is "submit": a word for a change.
    Description, as the server wrote it
    Submit a vote from an expected voter identity, with optional reasoning stored in the attested record. Vote shape depends on the algorithm: plurality/supermajority take an option string; approval takes an option or list of options; borda takes a ranking of all options; condorcet takes a ranking or a single option; opinion_pool takes a probability distribution over options. Duplicates and post-deadline votes are rejected.
  • writeAppend a key-value entry to a proposal's blackboard.No findings

    Why it is in this group

    • The name "write" says "write": a word for a change.
    Description, as the server wrote it
    Append a key-value entry to a proposal's blackboard. Any agent may write; writes are appended, never replaced -- the full ordered history is preserved and attested.
Only reads 2Claude Code: allow
  • readRead a proposal's blackboard: every write in order with timestamp, author, and attestation id -- the complete deliberation record, or filtered to one key.No findings

    Why it is in this group

    • The name "read" says "read": a word for reading.
    Description, as the server wrote it
    Read a proposal's blackboard: every write in order with timestamp, author, and attestation id -- the complete deliberation record, or filtered to one key.
  • resolveCompute and attest the outcome once quorum is met (or the deadline has passed).No findings

    Why it is in this group

    • The name "resolve" says "resolve": a word for reading.
    Description, as the server wrote it
    Compute and attest the outcome once quorum is met (or the deadline has passed). Idempotent: resolving twice returns the recorded outcome. Condorcet cycles and missed supermajority thresholds return co_winners with status unresolved rather than an arbitrary tiebreak.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.1.1. Values in angle brackets are yours to fill in.

claude mcp add --transport http quorum https://quorum-mcp.terradev.cloud/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__quorum__read",
      "mcp__quorum__resolve"
    ],
    "ask": [
      "mcp__quorum__register",
      "mcp__quorum__propose",
      "mcp__quorum__write",
      "mcp__quorum__vote",
      "mcp__quorum__history"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as quorum. Review it before you use it.