protogrid

Search / com.epvotes/epvotes

EP Votes

R0· no sign-in

European Parliament roll-call votes, MEP records and dossiers from official records.

v1.0.0 · active · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality100strong
Trust83of 100
Uptime, 30 days100%
Latency p50743 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "epvotes": {
      "type": "http",
      "url": "https://epvotes.com/mcp"
    }
  }
}
claude mcp add --transport http epvotes https://epvotes.com/mcp
[mcp_servers.epvotes]
url = "https://epvotes.com/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "epvotes": {
      "type": "remote",
      "url": "https://epvotes.com/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "epvotes": {
      "type": "http",
      "url": "https://epvotes.com/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=epvotes&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZXB2b3Rlcy5jb20vbWNwIn0%3D"
}
{
  "servers": {
    "epvotes": {
      "type": "http",
      "url": "https://epvotes.com/mcp"
    }
  }
}
{
  "mcpServers": {
    "epvotes": {
      "httpUrl": "https://epvotes.com/mcp"
    }
  }
}
extensions:
  "epvotes":
    enabled: true
    name: "epvotes"
    type: streamable_http
    uri: "https://epvotes.com/mcp"
    timeout: 300

Quality 100 / 100strong

protocol100 · weight 25
  • pass
    protocol.modernsupports 2026-07-28 (server/discover)
  • pass
    protocol.statelessanswers without a session
  • pass
    protocol.transportstreamable HTTP
  • pass
    protocol.list_ttltool list is cacheable (ttlMs 3600000)
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations6 of 6 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 1,568 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes3 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

6 tools, about 1,568 tokens to load them all · tool set e4804c68a44e · tools last changed 2026-10-22 · checked 2026-11-07 18:35 UTC

Tool changes

  • get_mepchangeddescription, input schema
    before

    Use this when the user asks about one Member of the European Parliament: country, political group, committees, how often they vote with their group, where they broke with it, and their recent roll-call votes. Takes an MEP id or a name. Set topic to keep only votes whose titles contain those words (e.g. "digital euro", "Mercosur").

    after · 77% of words in common

    Use this when the user asks about one Member of the European Parliament: country, political group, committees, how often they vote with their group, where they broke with it, and their recent roll-call votes. Takes an MEP id or a name. Set topic to keep only votes whose label, agenda item topic or dossier title contains those words (e.g. "digital euro", "Mercosur"). Set from and to to read one period; page through all votes of the term with page.

  • get_dossierchangedinput schema
  • list_voteschangeddescription, input schema
    before

    Use this when the user asks what the European Parliament voted on a sitting day, this week, between two dates or on a subject, e.g. "what did Parliament vote today" or "votes on Ukraine in October". Without arguments it returns the latest sitting day. Votes are grouped by agenda item; each item has its deciding (final) vote with result and totals and the vote ids for get_vote. Lists at most 40 items.

    after · 88% of words in common

    Use this when the user asks what the European Parliament voted on a sitting day, this week, between two dates or on a subject, e.g. "what did Parliament vote today" or "votes on Ukraine in October". Without arguments it returns the latest sitting day; with only a query it searches the last 92 days. Votes are grouped by agenda item; each item has its deciding (final) vote with result and totals and the ids of its other votes for get_vote. Lists at most 40 items.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 83 / 100

no-repository
provenance55
liveness100
freshness100
hygiene80

+dns-namespace +website +reachable +uptime-100% +updated-17d-ago -no-repository

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://epvotes.com/mcp streamable-httpnoneyes100%743 ms2026-07-28, 2025-11-25, 2025-06-18, 2025-03-262026-11-07

Tools (6)

compare_groupsread-onlyUse this when the user wants to compare how two or three European Parliament political groups voted across recent final votes on texts (amendments left out), e.g. "how often did EPP and S&D vote the same way". Groups: The Left, S&D, Greens/EFA, Renew, EPP, ECR, PfE, ESN.
get_dossierread-onlyUse this when the user asks about one European Parliament dossier (procedure): what it is, its type, lead committee, rapporteurs, the steps so far in Parliament, its plenary votes, and the Legislative Observatory summary. Takes a procedure reference such as "2023/0212(COD)" or an id such as "2023-0212" (use search_parliament first if you only know the title).
get_mepread-onlyUse this when the user asks about one Member of the European Parliament: country, political group, committees, how often they vote with their group, where they broke with it, and their recent roll-call votes. Takes an MEP id or a name. Set topic to keep only votes whose label, agenda item topic or dossier title contains those words (e.g. "digital euro", "Mercosur"). Set from and to to read one period; page through all votes of the term with page.
get_voteread-onlyUse this when you need the result of one European Parliament roll-call vote: totals, the split by political group and by country, the dossier it belongs to, and optionally how individual MEPs voted. Takes a vote id from list_votes, get_dossier or get_mep (or an epvotes.com/votes/<id> url). Set members to a group (e.g. "EPP", "S&D") or a country code (e.g. "DE", "FRA") to list those MEPs' votes.
list_votesread-onlyUse this when the user asks what the European Parliament voted on a sitting day, this week, between two dates or on a subject, e.g. "what did Parliament vote today" or "votes on Ukraine in October". Without arguments it returns the latest sitting day; with only a query it searches the last 92 days. Votes are grouped by agenda item; each item has its deciding (final) vote with result and totals and the ids of its other votes for get_vote. Lists at most 40 items.
search_parliamentread-onlyUse this when you need to find a European Parliament dossier (legislative or non-legislative procedure), an MEP, a committee, a political group or an EP document by name, topic or reference, and you do not know its id yet. Returns up to 15 matching records with their ids and epvotes.com urls; pass an id to get_dossier or get_mep next. Matches words in titles and names (e.g. "digital euro", "Metsola", "ECON", "2023/0212(COD)"). Do not use it for votes of a day; use list_votes.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.epvotes/epvotes",
  "title": "EP Votes",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://epvotes.com/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.0",
  "websiteUrl": "https://epvotes.com/ai",
  "description": "European Parliament roll-call votes, MEP records and dossiers from official records."
}