accueil / serveurs / Dev & Code / io.github.terradev-cloud/quorum
io.github.terradev-cloud/quorum
serveur MCP (Model Context Protocol) · quorum 0.1.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.terradev-cloud/quorum est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.terradev-cloud/quorum » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 7 outils
- history≈ 112 tokens
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.
Paramètres, retour & exemple (2)
Paramètresfilter· string · optionnel · all | writes | votes | outcome
Default all.proposal_id· string · requis
Exemple d'appel{"name": "history", "arguments": {"proposal_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - propose≈ 509 tokens
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.
Paramètres, retour & exemple (11)
Paramètresname· string · requis
Human-readable proposal id, e.g. pr-review-2026-09-18. Letters, digits, . _ - only; becomes the key for all subsequent calls.quorum· number · optionnel
Min percent of expected voters that must vote before resolution. Default 100.voters· array · requis
Expected voter identities. Only these may vote; missing voters at resolution are recorded abstained.api_key· string · optionnel
Optional. Your Quorum API key (from register). Binds the proposal to your account so its spans push to your Telinea. Omit for anonymous use -- everything works, no spans.options· array · optionnel
Named options. Default ["yes","no"].question· string · requis
The thing being decided.algorithm· string · optionnel · plurality | borda | condorcet | approval | opinion_pool | supermajority
Aggregation algorithm. Default approval -- robust general-purpose choice with no strategic incentive.namespace· string · optionnel
Optional tenant namespace. The proposal id becomes '<namespace>:<name>' -- different teams can reuse names without colliding. Same charset as name.threshold· number · optionnel
Supermajority only: required share of votes cast, percent. Default 66.67.description· string · optionnel
Optional context for the audit trail.deadline_minutes· number · requis
Minutes until voting closes.
Exemple d'appel{"name": "propose", "arguments": {"name": "texte", "voters": [], "question": "texte", "deadline_minutes": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - read≈ 97 tokens
Read a proposal's blackboard: every write in order with timestamp, author, and attestation id -- the complete deliberation record, or filtered to one key.
Paramètres, retour & exemple (2)
Paramètreskey· string · optionnel
Optional: only entries with this key.proposal_id· string · requis
Exemple d'appel{"name": "read", "arguments": {"proposal_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - register≈ 276 tokens
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.
Paramètres, retour & exemple (2)
Paramètresapi_key· string · requis
Your Quorum API key -- chosen by you, presented on propose, never stored.telinea_key· string · requis
Your Telinea API key -- stored encrypted, used to authenticate span pushes.
Exemple d'appel{"name": "register", "arguments": {"api_key": "texte", "telinea_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resolve≈ 105 tokens
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.
Paramètres, retour & exemple (1)
Paramètresproposal_id· string · requis
Exemple d'appel{"name": "resolve", "arguments": {"proposal_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - vote≈ 195 tokens
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.
Paramètres, retour & exemple (4)
Paramètresvalue· ? · requis
Ballot in the algorithm's format.voter· string · requisreasoning· string · optionnel
Free-text rationale, kept in the audit trail.proposal_id· string · requis
Exemple d'appel{"name": "vote", "arguments": {"value": "texte", "voter": "texte", "proposal_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - write≈ 142 tokens
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.
Paramètres, retour & exemple (4)
Paramètreskey· string · requis
Key other agents use to filter this entry on read.value· ? · requis
Any JSON value.author· string · optionnel
Optional author identity, recorded and attested.proposal_id· string · requis
Exemple d'appel{"name": "write", "arguments": {"key": "texte", "value": "texte", "proposal_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».