André MCP is an MCP (Model Context Protocol) server for French election data analysis. According to the project description, it provides results at the polling station (bureau de vote) level for 55 French elections between 1999 and 2026, cross-referenced with INSEE sociodemographic data, the Répertoire National des Élus (national directory of elected officials), and official administrative divisions.
[Main capabilities] The server provides a series of read-only tools, all annotated with title and readOnlyHint / destructiveHint, and there are no destructive tools. query_elections provides "panel"-type actions that can return results in a single call, reducing the risk of hitting the client's tool-call limit, including: compare_elections (compare two elections for a given territory), query_all_circonscriptions (the winner in each constituency in legislative elections), vote_reserve (a political family's score and abstention rate at each polling station, i.e. its vote reserve), select_communes (filter/sort municipalities by geographic, demographic and electoral criteria), cross_election_panel (the evolution of a family or a political tendency label by municipality across N elections), bureau_breakdown (a breakdown by polling station, including main political tendency labels and turnout, with optional sociodemographic data). There is also query_sql, which uses a read-only DuckDB connection, blocks write queries, and injects a safe LIMIT into SELECT / WITH queries that do not have an explicit LIMIT.
[Documentation resources and preset prompts] Documentation resources that clients can consult automatically include: andre://references/methodologies (analysis methods, such as vote reserves, typology, principal component analysis), andre://references/data_schema (election data schema), andre://references/political_colors (political family colors), andre://references/election_dates (dates of the 55 elections), andre://references/victory_rules (victory rules for each type of election), andre://references/nuances (political tendency label codes), andre://references/insee_variables (INSEE sociodemographic variables), andre://skills/electoral-analysis (main skill, including workflows and debugging). The preset prompts are: analyser_commune (complete electoral analysis of a municipality), reserves_de_voix (identify a political force's vote reserves), carte_electorale (thematic map of a department), comparer_elections (temporal comparison of two elections), resultats_rapides (comprehensive results of an election).
[How to use] The project provides a hosted server, ready to use out of the box:https://mcp.andre.vote/mcp,无需安装、无需下载数据、无需认证。可在 Used in clients such as Claude Desktop, Cursor, and VS Code. The Claude Desktop configuration file locations are: macOS at ~/Library/Application Support/Claude/claude_desktop_config.json, Windows at %APPDATA%\Claude\claude_desktop_config.json. For clients that do not yet support HTTP transport, the project description mentions the corresponding handling approach (the original text does not elaborate on the specific configuration content).
Regarding local operation, the server can start with no data at all and respond to introspection requests (tools/list, resources/list, prompts/list), and can also be run via Docker; however, tool calls are currently not available outside the monorepo, because the server delegates requests to scripts such as query_elections.py, query_admin.py, and generate_map.py, which have not yet been included in this package, and the full dataset (about 1.5 GB) needs to be prepared separately. A standalone PyPI package is in preparation. The project recommends actually using a connection to the remote server.
[Data Sources] The project description states that data comes only from official public sources. Sociodemographic data is interpolated from IRIS to polling stations using weights from the Observatoire national des bureaux de vote.
[Limitations and Safeguards] The server exposes data in read-only mode and requires no authentication. Safeguards include: a read-only DuckDB connection for query_sql, blocking of write queries, and safe LIMIT injection; concurrency protection that limits the number of heavy requests executed simultaneously, returning a friendly "server busy" response when exceeded; Prometheus metrics provided at /metrics (tools, latency, error rate, concurrency), without exposing parameters, results, or session identifiers.
[License and Registration] The code is released under the MIT license. This repository is an automatic mirror of andre-mcp/ in the André monorepo, and the monorepo is the source of truth: contributions are submitted via issues here, rather than direct commits (direct commits will be overwritten on the next mirroring). The server has been published in the official MCP registry under the vote.andre/elections name, with the namespace verified via DNS on andre.vote. The data remains subject to the licenses of their respective producers (Licence Ouverte 2.0, CC BY 4.0).
[Known Limitations] Claude.ai / Claude Desktop have a limit of about 15-20 tool calls per conversation turn, and in-depth analysis (such as two-round results, polling stations, sociodemographic cross-tabulation) may hit this limit, in which case you can click "Continue" to resume; there is no such limit on the andre.vote side. Tool calls for local operation are not yet available outside the monorepo, and the full dataset (about 1.5 GB) needs to be prepared separately. The project does not provide information about charges, pricing, or specific results.