{"name":"dev.gemot/gemot","slug":"gemot","title":"Gemot Deliberation Server","description":"Deliberation primitive for multi-agent coordination: cruxes, vote clustering, consensus.","url":"https://mcp.market/server/gemot","rating":null,"grade":"A","score":89,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":29,"stars":3,"forks":1,"downloads_week":null,"last_push_at":"2026-09-26T04:55:55.000Z","license":"Apache-2.0"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T04:50:49.898Z","last_ok_at":"2026-11-04T04:50:49.898Z","latency_ms":157},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/justinstimatze/gemot","website":"https://gemot.dev","version":"0.11.0","remotes":[{"type":"streamable-http","url":"https://gemot.dev/mcp"},{"type":"sse","url":"https://gemot.dev/mcp/sse"}],"packages":[],"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string"},"pack":{"type":"string"},"atxp_account_id":{"type":"string"},"payment_credential":{"type":"string"}},"required":["action"],"additionalProperties":false}},{"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","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string"},"deliberation_id":{"type":"string"},"reason":{"type":"string"},"agent_id":{"type":"string"}},"required":["action"],"additionalProperties":false}},{"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: <stage>} 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string"},"deliberation_id":{"type":"string"},"model":{"type":"string"},"round":{"type":["null","integer"]},"position_id":{"type":"string"},"agent_id":{"type":"string"},"reason":{"type":"string"},"crux_claim":{"type":"string"},"correction":{"type":"string"},"result_json":{"type":"string"},"document":{"type":"string"},"experts":{"type":"string"},"topic":{"type":"string"},"group_id":{"type":"string"},"source_type":{"type":"string"},"depth":{"type":"string"},"options":{"type":["null","array"],"items":{"type":"string"}},"option_votes":{"type":"object","additionalProperties":{"type":"integer"}}},"required":["action"],"additionalProperties":false}},{"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)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string"},"deliberation_id":{"type":"string"},"from_agent":{"type":"string"},"to_agent":{"type":"string"},"scope":{"type":"string"},"invited_by":{"type":"string"},"invited_agent":{"type":"string"},"role":{"type":"string"},"reason":{"type":"string"},"ttl_minutes":{"type":"integer"},"code":{"type":"string"},"agent_id":{"type":"string"}},"required":["action"],"additionalProperties":false}},{"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)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string"},"deliberation_id":{"type":"string"},"agent_id":{"type":"string"},"statement":{"type":"string"},"conditional":{"type":"string"},"commitment_id":{"type":"string"},"reason":{"type":"string"},"verified_by":{"type":"string"},"group_id":{"type":"string"},"accessor_id":{"type":"string"},"kind":{"type":"string"},"note":{"type":"string"},"dependent_commitment_id":{"type":"string"}},"required":["action"],"additionalProperties":false}},{"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)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string"},"topic":{"type":"string"},"description":{"type":"string"},"type":{"type":"string"},"visibility":{"type":"string"},"max_participants":{"type":"integer"},"template":{"type":"string"},"rules":{"type":"object","additionalProperties":true},"group_id":{"type":"string"},"principal_policy":{"type":"string"},"signature_policy":{"type":"string"},"deadline_minutes":{"type":"integer"},"deliberation_id":{"type":"string"},"agent_id":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["action"],"additionalProperties":false}},{"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)","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"action":{"type":"string"},"deliberation_id":{"type":"string"},"agent_id":{"type":"string"},"content":{"type":"string"},"model_family":{"type":"string"},"group":{"type":"string"},"conviction":{"type":"number"},"reservation":{"type":"string"},"on_behalf_of":{"type":"string"},"interests":{"type":"string"},"principal_credential":{"type":["null","object"],"properties":{"principal":{"type":"string"},"agent":{"type":"string"},"agent_key":{"type":"string"},"scope":{"type":"string"},"issuer":{"type":"string"},"expires_at":{"type":"string"},"signature":{"type":"string"}},"required":["principal","agent","agent_key","expires_at","signature"],"additionalProperties":false},"draft":{"type":"boolean"},"metadata":{"type":"object","additionalProperties":true},"position_id":{"type":"string"},"value":{"type":"integer"},"qualifier":{"type":"string"},"caveat":{"type":"string"},"criterion_id":{"type":"string"},"exclude_agent_id":{"type":["null","string"]},"round":{"type":["null","integer"]},"shuffle":{"type":["null","boolean"]},"signature":{"type":"string"},"public_key":{"type":"string"},"algo":{"type":"string"}},"required":["action"],"additionalProperties":false}}],"scan":{"score":89,"grade":"A","scanned_at":"2026-09-27T21:49:44.215Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T21:49:44.174Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 754ms"]},"poisoning":{"score":15,"max":15,"notes":["7 tool descriptions checked"]},"auth":{"score":10,"max":15,"notes":["open endpoint, read-only tools"]},"maintenance":{"score":15,"max":15,"notes":["last push 2 days ago"]},"identity":{"score":7,"max":10,"notes":["namespace and repository owner differ","GitHub account older than a year","website matches verified namespace"]}},"findings":[],"inputs":{"probes":[{"url":"https://gemot.dev/mcp","reachable":true,"authRequired":false,"latencyMs":754,"serverInfo":{"name":"gemot","version":"0.13.1"}},{"url":"https://gemot.dev/mcp/sse","reachable":true,"authRequired":false,"latencyMs":545,"serverInfo":{"name":"gemot","version":"0.13.1"}}],"packages":[],"repo":{"found":true,"owner":"justinstimatze","repo":"gemot","archived":false,"pushedAt":"2026-09-26T04:55:55Z","stars":3,"forks":1,"openIssues":2,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/1648777?v=4","ownerCreatedAt":"2012-04-16T16:10:16Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/1648777?v=4&s=128","source":"github"},"presence":{"stars":3,"forks":1,"downloadsWeek":null,"license":"Apache-2.0","lastPushAt":"2026-09-26T04:55:55.000Z","score":29}}}},"grade_history":[],"reviews":[]}