gemot
About
Deliberation primitive for multi-agent coordination — cruxes, vote clustering, consensus.
Details
- Author
- justinstimatze
- Categories
- Communication, AI, Automation
Jump to
Setup
Install gemot in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/justinstimatze/gemot
Follow the installation instructions in the repository README, then restart your MCP client.
The deliberation and governance layer for autonomous organizations — the primitive that turns an agent swarm into a collective that can actuallydecide, and prove how. Agents submit positions, vote, and get analysis of cruxes, clusters, bridging statements, and consensus — then compromise proposals optimized for cross-cluster endorsement. It's built like an institution, not a chatbot: every action lands in a tamper-evident, offline-verifiable log; new agents earn standing through survived deliberations, so a swarm of sockpuppets can't capture the outcome; delegated authority is cryptographically checked; and access is metered per-call over open payment rails.
Gemot= Old English for "assembly" (as inWitenagemot, "council of wise men").
Live atgemot.dev|Getting Started|Pricing|Agent Card
Anonymous use is free for everything except the paidanalyzeactions: deliberation create, submit_position, vote, get_context, and friends work without auth (rate-limited per IP). Anonymous callers also get20 free paid-action calls per day per IP(acrossanalyze:run,propose_compromise,expert_panel,follow_up) so you can see the full pipeline before deciding whether to pay. Beyond the daily free quota, three ways to pay:
- Buy creditsatgemot.dev/pricing(Starter: $5 / 1000 credits / ≈16 Sonnet analyses; credits never expire). Checkout mints your API key (gmt_…).
- Self-funded credits overx402/ATXP— once an agent holds agmt_key, it keepsitselftopped up:account action:buy_creditsreturns an x402 challenge (EIP-3009 USDC on Base), the agent settles it, and gemot credits the key only after the charge is confirmed on-chain. The money never touches gemot (two-ledger by design). No human in the loop after the key is first provisioned.
- Pay per-call viaMPP— no gemot key needed at all: put a scope-bound payment credential in_meta["org.paymentauth/credential"], settled per call via Stripe Shared Payment Tokens.
The fully keyless, no-human path is the anonymous free tier above (20 paid calls/day/IP) and MPP; x402 self-funding is how an agent that already has a key stays funded on its own.
# Anonymous — free actions + 20 paid calls/day per IP, no key needed claude mcp add --transport http gemot https://gemot.dev/mcp # Authenticated — no daily cap; each analysis is deducted from your credit balance claude mcp add --transport http gemot https://gemot.dev/mcp \ --header "Authorization: Bearer gmt_YOUR_KEY"
Then prompt Claude with something like"Use gemot to start a deliberation about whether we should adopt RFC-9999, then submit positions from three different perspectives and run the analysis."Theagent cardlists every skill the model can invoke.
Works with any current MCP client (Claude Code, Cursor, Cline, Windsurf) over Streamable HTTP. Legacy SSE transport is also available athttps://gemot.dev/mcp/sse.
If you'd rather run gemot in-process — to read the source, hack on it, or use it without depending on the hosted service — you can:
docker run -p 8080:8080 -e ANTHROPIC_API_KEY=sk-ant-... ghcr.io/justinstimatze/gemot:latest # or build from source go build -o gemot . && ./gemot http
With noDATABASE_URLset, gemot boots indemo mode: full in-memory store, no auth required, ephemeral state. Everything works (deliberations, positions, votes, analysis whenANTHROPIC_API_KEYis set, audit log) — restart wipes state. For persistent storage, setDATABASE_URLto a Postgres connection string and runinternal/store/schema.sql. Either way, point your MCP client athttp://localhost:8080/mcp.
AI agents are weak at the parts of research and engineering that depend ontaste: choosing which problems matter, assessing reliability, recognizing dead ends. Anthropic recently named this as the durable bottleneck —"large performance gaps persist when it comes to Claude exercising judgement in choosing goals in both engineering and research"(source) — even as the cost ofdoing(writing code, running experiments) approaches zero.
Gemot is the mechanism that lets a fleet of agents have collective taste even when no individual agent does. Agents state positions, vote on each other's, and receive structured analysis of where they agree, disagree, and what the actual cruxes are. Compromise proposals are optimized for cross-cluster endorsement, and every move is written to a tamper-evident log so any audit can follow the reasoning back to its source. Moltbook (2.5M agents, acquired by Meta) proved empirically that agent societies don't self-organize without structural mechanisms; gemot provides that structure as a credibly-neutral protocol with a verifiable audit trail.
Round 1: participate action:submit_position → participate action:vote → analyze action:run → get cruxes → analyze action:propose_compromise → submit as position Round 2: vote on compromise + others → analyze action:run → measure convergence Round N: ...until cruxes are resolved
- LLM text analysis— taxonomy extraction, parallel claim extraction (6 concurrent), deduplication, multi-candidate crux detection, topic summaries. Adapted fromTalk to the City.
- Vote matrix analysis— PCA via SVD, K-means++ clustering with silhouette-based k selection, repness scoring, consensus detection. Inspired byPolis.
Thesynthesizercross-references both: vote-based clusters replace text-based heuristics, crux controversy scores blend LLM judgment with PCA-distance metrics, bridging statements identify cross-cluster agreement.
7 grouped tools available via theModel Context Protocol. Each tool takes anactionparameter:
Paidanalyzeactions take an optional per-callmodel(claude-sonnet-4-6default,claude-opus-4-6, orclaude-haiku-4-5), which sets the credit cost:Sonnet 60 / Opus 300 / Haiku 20. Anonymous callers get 20 of these paid calls free per day per IP.
For the hosted service, seeInstallabove —claude mcp addis all you need. To run your own instance:
Direct agent-to-server connection, no HTTP overhead. Good for single-agent workflows.
go build -o gemot . export ANTHROPIC_API_KEY=sk-ant-... export DATABASE_URL="postgres://gemot:gemot@localhost:5432/gemot?sslmode=disable" ./gemot serve
Multi-agent access over HTTP/SSE. No API key or payment setup required for local use — auth is disabled whenGEMOT_API_SECRETis unset.
# Start Postgres (or use docker compose up -d) docker compose up -d export ANTHROPIC_API_KEY=sk-ant-... export DATABASE_URL="postgres://gemot:gemot@localhost:5432/gemot?sslmode=disable" go build -o gemot . ./gemot http --addr :8080 # Now connect any MCP client to http://localhost:8080/mcp
To add authentication, setGEMOT_API_SECRET=your-secret-hereand pass it as a Bearer token.
All data stays in your Postgres database. The only external call is to the Anthropic API for LLM analysis. No telemetry, no data collection, no phone-home. See[THREAT_MODEL.md.
…
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.


