MCP.Market

Voting MCP server

by HrishiKabra·io.github.HrishiKabra/voting-mcp·v0.1.3

Social-choice voting rules (Borda, Copeland, Condorcet, STV, opinion pool) as MCP tools.

A88/100grade A
What users say
No reviews yet
Be the first
Safety scan
A88/100

full report

Adoption
New

0 stars22 downloads/wk

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • aggregate_rule

    Apply any rule by name (enum ``rule``) — a single dispatch entrypoint.

  • approval

    Approval voting: each candidate scores the total weight approving it.

  • borda

    Borda count over ranking ballots: positional scoring (top of m gets m-1).

  • condorcet

    Condorcet winner over ranking ballots: beats every other candidate pairwise.

  • copeland

    Copeland over ranking ballots: +1 per pairwise win, +0.5 per pairwise tie.

  • majority

    Strict-majority rule over ranking ballots.

  • opinion_pool

    Linear opinion pool over probability-distribution ballots.

  • plurality

    Plurality baseline over ranking ballots: most first-choice votes wins.

  • stv

    Single-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

no findings
  • 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
Overall 88/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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.server

Add 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 200

Every 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.