{
  "data": {
    "tool": {
      "category": "frameworks",
      "endpoint": "https://gemot.dev/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/gemot.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/gemot.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/gemot.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 2398,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 16
          },
          "findings": [
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "account",
              "message": "none of its 4 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "admin",
              "message": "none of its 4 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "analyze",
              "message": "none of its 18 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "coordinate",
              "message": "none of its 12 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "decide",
              "message": "none of its 13 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "deliberation",
              "message": "none of its 16 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC11",
              "severity": "warn",
              "tool": "participate",
              "message": "none of its 24 parameters has a description",
              "fix": "Describe each one: format, units, an example, and what happens when it's left out."
            },
            {
              "rule": "TC13",
              "severity": "warn",
              "tool": "deliberation",
              "message": "rules (object with no properties)",
              "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
            },
            {
              "rule": "TC13",
              "severity": "warn",
              "tool": "participate",
              "message": "metadata (object with no properties)",
              "fix": "Declare the properties (or additionalProperties with a schema) and the array's items."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "account",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "admin",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "analyze",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Its name starts with \"analyze\"; if it only reads, set readOnlyHint: true so harnesses can run it without asking."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "coordinate",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "decide",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "deliberation",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "participate",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC24",
              "severity": "note",
              "message": "7 of 7 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-03T22:17:39Z",
        "count": 7,
        "schemaTokens": 2398,
        "status": "ok",
        "tools": [
          {
            "name": "account",
            "description": "Fund your gemot credit balance. Actions:\n- buy_credits: Top up THIS API key's balance over the ATXP/x402 rail (optional: pack, atxp_account_id, payment_credential). Call once with no payment_credential to receive a payment-required challenge (the x402 accepts to pay against), then call again with payment_credential set to the base64 X-PAYMENT settle credential. Credits are added only on a settled, on-chain-confirmed charge.",
            "inputSchema": {
              "additionalProperties": false,
              "properties": {
                "action": {
                  "type": "string"
                },
                "atxp_account_id": {
                  "type": "string"
                },
                "pack": {
                  "type": "string"
                },
                "payment_credential": {
                  "type": "string"
                }
              },
              "required": [
                "action"
              ],
              "type": "object"
            }
          },
          {
            "name": "admin",
            "description": "Admin and audit tools. Actions:\n- report_abuse: Report abusive content (deliberation_id, reason)\n- get_audit_log: Get audit trail incl. tamper-evident log with proofs (deliberation_id)\n- list_templates: List available governance templates\n- get_votes: Get all votes (deliberation_id)\n- get_vote_state: Get your own agent's recorded votes to confirm they landed and whether each is marked relayed vs direct (deliberation_id, agent_id)\n- replica_pubkey: Get the server's BLS public key for offline proof verification",
            "inputSchema": {
              "additionalProperties": false,
              "properties": {
                "action": {
                  "type": "string"
                },
                "agent_id": {
                  "type": "string"
                },
                "deliberation_id": {
                  "type": "string"
                },
                "reason": {
                  "type": "string"
                }
              },
              "required": [
                "action"
              ],
              "type": "object"
            }
          },
          {
            "name": "analyze",
            "description": "Analyze disagreements and find common ground. Actions:\n- run: Trigger analysis — extracts cruxes, clusters, consensus (deliberation_id; optional: model)\n- get_result: Get analysis result (deliberation_id; optional: round). While the analysis is running, returns {status:\"pending\", analysis_status: \u003cstage\u003e} with the current pipeline stage (taxonomy / extracting / crux_detection / clustering) so a single poll loop on this tool replaces calling deliberation action:get for progress.\n- cancel: Cancel in-progress analysis (deliberation_id)\n- propose_compromise: Generate a compromise statement (deliberation_id; optional: model)\n- reframe: Restate a position emphasizing common ground (deliberation_id, position_id; optional: model)\n- challenge: Challenge an analysis result (deliberation_id, agent_id, reason)\n- dispute_crux: Dispute a crux classification (deliberation_id, agent_id, crux_claim, correction)\n- expert_panel: Run an adversarial expert panel review (document; optional: topic, source_type, depth, experts, group_id, model). Creates a deliberation, submits expert critiques, triggers analysis. Returns deliberation_id immediately — poll with deliberation action:get for status, then analyze action:get_result. depth: \"quick\" (~2 min, 3 experts, tight taxonomy) or \"thorough\" (~7 min, 5 experts, full taxonomy). source_type selects specialized experts: \"code_review\", \"architecture\", \"experiment\", \"proposal\".\n- follow_up: Submit follow-up expert positions responding to round 1 cruxes, then trigger round 2 analysis (deliberation_id; optional: model). Experts review the cruxes and consensus, flag misclassifications, and identify missed issues. Requires round 1 to be complete.",
            "inputSchema": {
              "additionalProperties": false,
              "properties": {
                "action": {
                  "type": "string"
                },
                "agent_id": {
                  "type": "string"
                },
                "correction": {
                  "type": "string"
                },
                "crux_claim": {
                  "type": "string"
                },
                "deliberation_id": {
                  "type": "string"
                },
                "depth": {
                  "type": "string"
                },
                "document": {
                  "type": "string"
                },
                "experts": {
                  "type": "string"
                },
                "group_id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "option_votes": {
                  "additionalProperties": {
                    "type": "integer"
                  },
                  "type": "object"
                },
                "options": {
                  "items": {
                    "type": "string"
                  },
                  "type": [
                    "null",
                    "array"
                  ]
                },
                "position_id": {
                  "type": "string"
                },
                "reason": {
                  "type": "string"
                },
                "result_json": {
                  "type": "string"
                },
                "round": {
                  "type": [
                    "null",
                    "integer"
                  ]
                },
                "source_type": {
                  "type": "string"
                },
                "topic": {
                  "type": "string"
                }
              },
              "required": [
                "action"
              ],
              "type": "object"
            }
          },
          {
            "name": "coordinate",
            "description": "Multi-agent coordination. Actions:\n- delegate: Delegate your vote to another agent (deliberation_id, from_agent, to_agent; optional: scope)\n- invite: Invite an agent to join (deliberation_id, invited_by, invited_agent, reason; optional: role)\n- generate_join_code: Generate a short-lived join code (deliberation_id; optional: role, ttl_minutes)\n- join: Join a deliberation using a code (code, agent_id)",
            "inputSchema": {
              "additionalProperties": false,
              "properties": {
                "action": {
                  "type": "string"
                },
                "agent_id": {
                  "type": "string"
                },
                "code": {
                  "type": "string"
                },
                "deliberation_id": {
                  "type": "string"
                },
                "from_agent": {
                  "type": "string"
                },
                "invited_agent": {
                  "type": "string"
                },
                "invited_by": {
                  "type": "string"
                },
                "reason": {
                  "type": "string"
                },
                "role": {
                  "type": "string"
                },
                "scope": {
                  "type": "string"
                },
                "to_agent": {
                  "type": "string"
                },
                "ttl_minutes": {
                  "type": "integer"
                }
              },
              "required": [
                "action"
              ],
              "type": "object"
            }
          },
          {
            "name": "decide",
            "description": "Commitments and reputation tracking. Actions:\n- commit: Commit to a deliberation outcome (deliberation_id, agent_id, statement; optional: conditional)\n- get_commitments: Get all commitments (deliberation_id)\n- fulfill: Mark a commitment as fulfilled (commitment_id; optional: verified_by) — caller must be a participant in the commitment's deliberation, and cannot be the agent that made it\n- break: Mark a commitment as broken (commitment_id, reason; optional: verified_by) — caller must be a participant in the commitment's deliberation; the committing agent may break its own\n- reputation: Get an agent's commitment track record (agent_id; optional: group_id)",
            "inputSchema": {
              "additionalProperties": false,
              "properties": {
                "accessor_id": {
                  "type": "string"
                },
                "action": {
                  "type": "string"
                },
                "agent_id": {
                  "type": "string"
                },
                "commitment_id": {
                  "type": "string"
                },
                "conditional": {
                  "type": "string"
                },
                "deliberation_id": {
                  "type": "string"
                },
                "dependent_commitment_id": {
                  "type": "string"
                },
                "group_id": {
                  "type": "string"
                },
                "kind": {
                  "type": "string"
                },
                "note": {
                  "type": "string"
                },
                "reason": {
                  "type": "string"
                },
                "statement": {
                  "type": "string"
                },
                "verified_by": {
                  "type": "string"
                }
              },
              "required": [
                "action"
              ],
              "type": "object"
            }
          },
          {
            "name": "deliberation",
            "description": "Manage deliberations. Actions:\n- create: Create a new deliberation (topic, description, template, group_id, deadline_minutes, rules, visibility, max_participants, type, principal_policy, signature_policy)\n- get: Get status/stats of a deliberation (deliberation_id)\n- list: List all deliberations (limit, offset)\n- list_by_group: List deliberations in a group (group_id, limit, offset)\n- list_by_agent: List deliberations an agent participated in (agent_id, limit, offset)\n- delete: Soft-delete a deliberation (deliberation_id)\n- set_template: Change governance template (deliberation_id, template)\n- export: Export complete multi-round history (deliberation_id)",
            "inputSchema": {
              "additionalProperties": false,
              "properties": {
                "action": {
                  "type": "string"
                },
                "agent_id": {
                  "type": "string"
                },
                "deadline_minutes": {
                  "type": "integer"
                },
                "deliberation_id": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "group_id": {
                  "type": "string"
                },
                "limit": {
                  "type": "integer"
                },
                "max_participants": {
                  "type": "integer"
                },
                "offset": {
                  "type": "integer"
                },
                "principal_policy": {
                  "type": "string"
                },
                "rules": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "signature_policy": {
                  "type": "string"
                },
                "template": {
                  "type": "string"
                },
                "topic": {
                  "type": "string"
                },
                "type": {
                  "type": "string"
                },
                "visibility": {
                  "type": "string"
                }
              },
              "required": [
                "action"
              ],
              "type": "object"
            }
          },
          {
            "name": "participate",
            "description": "Participate in a deliberation. Actions:\n- submit_position: Submit your position (deliberation_id, agent_id, content; optional: model_family, group, conviction, reservation, on_behalf_of, interests, draft, metadata, signature, principal_credential)\n- publish_position: Publish a draft position (position_id)\n- vote: Vote on a position — value: -2=strongly_disagree, -1=disagree_with_caveats, 0=mixed, 1=agree_with_caveats, 2=strongly_agree (deliberation_id, agent_id, position_id, value; optional: qualifier, caveat, criterion_id, signature)\n- get_positions: Get all positions (deliberation_id; optional: round, exclude_agent_id, group, shuffle)\n- get_context: Get your personal context — cluster, allies, cruxes (deliberation_id, agent_id)\n- withdraw: Withdraw from a deliberation (deliberation_id, agent_id)\n- register_key: Register a base64 ed25519 public key for this agent (agent_id, public_key; optional: algo)\n- revoke_key: Revoke this agent's active signing key (agent_id)",
            "inputSchema": {
              "additionalProperties": false,
              "properties": {
                "action": {
                  "type": "string"
                },
                "agent_id": {
                  "type": "string"
                },
                "algo": {
                  "type": "string"
                },
                "caveat": {
                  "type": "string"
                },
                "content": {
                  "type": "string"
                },
                "conviction": {
                  "type": "number"
                },
                "criterion_id": {
                  "type": "string"
                },
                "deliberation_id": {
                  "type": "string"
                },
                "draft": {
                  "type": "boolean"
                },
                "exclude_agent_id": {
                  "type": [
                    "null",
                    "string"
                  ]
                },
                "group": {
                  "type": "string"
                },
                "interests": {
                  "type": "string"
                },
                "metadata": {
                  "additionalProperties": true,
                  "type": "object"
                },
                "model_family": {
                  "type": "string"
                },
                "on_behalf_of": {
                  "type": "string"
                },
                "position_id": {
                  "type": "string"
                },
                "principal_credential": {
                  "additionalProperties": false,
                  "properties": {
                    "agent": {
                      "type": "string"
                    },
                    "agent_key": {
                      "type": "string"
                    },
                    "expires_at": {
                      "type": "string"
                    },
                    "issuer": {
                      "type": "string"
                    },
                    "principal": {
                      "type": "string"
                    },
                    "scope": {
                      "type": "string"
                    },
                    "signature": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "principal",
                    "agent",
                    "agent_key",
                    "expires_at",
                    "signature"
                  ],
                  "type": [
                    "null",
                    "object"
                  ]
                },
                "public_key": {
                  "type": "string"
                },
                "qualifier": {
                  "type": "string"
                },
                "reservation": {
                  "type": "string"
                },
                "round": {
                  "type": [
                    "null",
                    "integer"
                  ]
                },
                "shuffle": {
                  "type": [
                    "null",
                    "boolean"
                  ]
                },
                "signature": {
                  "type": "string"
                },
                "value": {
                  "type": "integer"
                }
              },
              "required": [
                "action"
              ],
              "type": "object"
            }
          }
        ]
      },
      "name": "Gemot Deliberation Server",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": null,
      "pageJsonUrl": "https://www.anchorterminal.com/tools/gemot.json",
      "popularity": {
        "githubStars": 3
      },
      "registryName": "dev.gemot/gemot",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://gemot.dev/mcp"
        },
        {
          "type": "sse",
          "url": "https://gemot.dev/mcp/sse"
        }
      ],
      "repository": "https://github.com/justinstimatze/gemot",
      "reviewed": false,
      "slug": "gemot",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=dev.gemot/gemot",
      "summary": "Deliberation primitive for multi-agent coordination: cruxes, vote clustering, consensus.",
      "updatedAt": "2026-04-30T21:01:15Z",
      "url": "https://www.anchorterminal.com/tools/gemot",
      "vendor": "gemot.dev",
      "vendorUrl": "https://gemot.dev",
      "version": "0.11.0",
      "websiteUrl": "https://gemot.dev",
      "where": "hosted",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/gemot",
    "json": "https://www.anchorterminal.com/tools/gemot.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/gemot.md",
    "slim": "https://www.anchorterminal.com/tools/gemot.min.md"
  },
  "markdown": "# Gemot Deliberation Server\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by gemot.dev (https://gemot.dev)\n- Category: Agent frameworks \u0026 SDKs (https://www.anchorterminal.com/categories/frameworks.md)\n- Listed because: It's published in the registry under gemot.dev, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Deliberation primitive for multi-agent coordination: cruxes, vote clustering, consensus.\n\n## Facts\n\n- MCP registry: `dev.gemot/gemot` 0.11.0\n- Endpoint: https://gemot.dev/mcp (streamable HTTP)\n- Source: https://github.com/justinstimatze/gemot\n- Website: https://gemot.dev\n- GitHub stars: 3\n- Registry entry updated: 2026-04-30\n\n## Tools\n\n- Tools it lists (7, about 2,398 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-03 22:17 UTC):\n  - `account`: Fund your gemot credit balance. Actions: - buy_credits: Top up THIS API key's balance over the ATXP/x402 rail (optional: pack, atxp_account_id,…\n  - `admin`: Admin and audit tools. Actions: - report_abuse: Report abusive content (deliberation_id, reason) - get_audit_log: Get audit trail incl. tamper-evident log with…\n  - `analyze`: Analyze disagreements and find common ground. Actions: - run: Trigger analysis — extracts cruxes, clusters, consensus (deliberation_id; optional: model) -…\n  - `coordinate`: Multi-agent coordination. Actions: - delegate: Delegate your vote to another agent (deliberation_id, from_agent, to_agent; optional: scope) - invite: Invite an…\n  - `decide`: Commitments and reputation tracking. Actions: - commit: Commit to a deliberation outcome (deliberation_id, agent_id, statement; optional: conditional) -…\n  - `deliberation`: Manage deliberations. Actions: - create: Create a new deliberation (topic, description, template, group_id, deadline_minutes, rules, visibility,…\n  - `participate`: Participate in a deliberation. Actions: - submit_position: Submit your position (deliberation_id, agent_id, content; optional: model_family, group, conviction,…\n- How its tools read to an agent (0 errors, 16 warnings, 1 note, about 2,398 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC11 account: none of its 4 parameters has a description\n  - warn TC11 admin: none of its 4 parameters has a description\n  - warn TC11 analyze: none of its 18 parameters has a description\n  - warn TC11 coordinate: none of its 12 parameters has a description\n  - warn TC11 decide: none of its 13 parameters has a description\n  - warn TC11 deliberation: none of its 16 parameters has a description\n  - warn TC11 participate: none of its 24 parameters has a description\n  - warn TC13 deliberation: rules (object with no properties)\n  - warn TC13 participate: metadata (object with no properties)\n  - warn TC16 account: no readOnlyHint or destructiveHint\n  - warn TC16 admin: no readOnlyHint or destructiveHint\n  - warn TC16 analyze: no readOnlyHint or destructiveHint\n  - warn TC16 coordinate: no readOnlyHint or destructiveHint\n  - warn TC16 decide: no readOnlyHint or destructiveHint\n  - warn TC16 deliberation: no readOnlyHint or destructiveHint\n  - warn TC16 participate: no readOnlyHint or destructiveHint\n  - note TC24 server: 7 of 7 tools have no outputSchema\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/gemot.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "Gemot Deliberation Server",
        "url": ""
      }
    ],
    "description": "Gemot Deliberation Server, an MCP server by gemot.dev, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Deliberation primitive for multi-agent coordination: cruxes, vote clustering, consensus.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "Gemot Deliberation Server",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/gemot",
    "published": "",
    "section": "indexed",
    "title": "Gemot Deliberation Server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/tools/gemot"
  },
  "tokens": {
    "markdown": 1100,
    "slim": 1030
  },
  "version": 1
}
