Voting MCP server
io.github.HrishiKabra/voting-mcp·v0.1.3Social-choice voting rules (Borda, Copeland, Condorcet, STV, opinion pool) as MCP tools.
0 stars22 downloads/wk
Reviews
Write oneNobody has reviewed Voting yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Voting tools (9)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
aggregate_ruleApply any rule by name (enum ``rule``) — a single dispatch entrypoint.
approvalApproval voting: each candidate scores the total weight approving it.
bordaBorda count over ranking ballots: positional scoring (top of m gets m-1).
condorcetCondorcet winner over ranking ballots: beats every other candidate pairwise.
copelandCopeland over ranking ballots: +1 per pairwise win, +0.5 per pairwise tie.
majorityStrict-majority rule over ranking ballots.
opinion_poolLinear opinion pool over probability-distribution ballots.
pluralityPlurality baseline over ranking ballots: most first-choice votes wins.
stvSingle-winner STV / instant-runoff over ranking ballots.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan17 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 86 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Voting compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,255 servers
- Tools
- 9
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- Downloads a week
- 22
- more than 8% of 12,191 servers with a package
What its tools let an agent do: 9 read
Install Voting in Claude Code, Cursor or VS Code
claude mcp add voting-mcp -- uvx voting-mcp
What the publisher says
From the Voting repository's README, as published. We do not edit it. Read it on GitHub
voting-mcp
<!-- mcp-name: io.github.HrishiKabra/voting-mcp -->
Principled social-choice aggregation as MCP tools — with a benchmark that measures the accuracy lift over naive majority vote.
Almost every multi-agent system aggregates votes with Counter(votes).most_common(1), throwing away preference order and confidence. voting-mcp ships the real rules (Borda, Copeland, Condorcet, approval, STV, linear opinion pool) as callable MCP tools — each with its known axiomatic behavior and explicit, documented tie-breaking — plus a reproducible benchmark that aggregates a diverse ensemble of LLMs on a reasoning set and reports accuracy with bootstrap confidence intervals.
The server is pure compute: stdio transport, no network, no file writes, no secrets — clean against the OWASP MCP Top 10 by construction.
Install
# run the server directly (once published)
uvx voting-mcp
# or from source
git clone https://github.com/HrishiKabra/voting-mcp && cd voting-mcp
uv sync
uv run python -m voting_mcp.serverAdd it to an MCP client (e.g. Claude Desktop claudedesktopconfig.json):
{
"mcpServers": {
"voting": { "command": "uvx", "args": ["voting-mcp"] }
}
}Tools
Every tool takes a profile ({candidates, ballots}) and returns a Result with the full co-winner set (winners, so ties are never hidden), the single tie-broken winner (or null when none exists), a ranking, per-candidate scores, and a note.
Tie-breaking is an explicit parameter (lexicographic default, none, or seeded random).
Benchmark
Aggregate an ensemble of 5 models (one OpenAI-compatible client via OpenRouter) on ARC-Challenge and compare each rule to the naive majority vote:
uv sync --extra bench
uv run python -m bench.fetch_arc --limit 200
# prints a cost estimate and STOPS; add --yes to actually call the API, --mock for a free dry run
uv run python -m bench.run_ensemble --dataset bench/datasets/arc_challenge.jsonl --limit 200 --yes
uv run python -m bench.compare --dataset bench/datasets/arc_challenge.jsonl --limit 200Every raw response is cached under bench/results/raw/; re-runs never re-call the API, so aggregation tweaks are free.
Results
5-model ensemble (gpt-4o-mini · gemini-2.5-flash-lite · deepseek-v3 · claude-haiku-4.5 · glm-4.7), n = 200, bootstrap 95% CI. Two datasets of different difficulty; full write-up and both plots in RESULTS.md.
MMLU-Pro (hard, baseline 73.5%) — the informative case:
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Voting: common questions
- Is Voting MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the Voting safety report
- How do I install Voting?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Voting need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is Voting maintained?
- The last commit was 125 days ago (2026-07-02). The latest release is v0.1.3.
- How does Voting compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,255 servers); tools 9 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.