André — Analyse électorale française
Résultats des élections françaises 1999-2026 par bureau de vote, socio-démo INSEE et cartes.
README
André MCP — Analyse électorale française
Serveur MCP (Model Context Protocol) donnant accès aux résultats de 55 élections françaises (1999-2026) au niveau du bureau de vote, croisés avec les données socio-démographiques de l'INSEE, la base des élus de la République et les découpages administratifs officiels.
Serveur hébergé, prêt à l'emploi : https://mcp.andre.vote/mcp
Aucune installation, aucun téléchargement de données, aucune authentification.
Ce dépôt contient le code du serveur MCP, publié sous licence MIT. Il est un miroir automatique de
andre-mcp/dans le monorepo André, qui reste la source de vérité : les contributions passent par des issues ici, pas par des commits directs (ils seraient écrasés au prochain miroitage).
Connexion
Claude Code
claude mcp add --transport http andre https://mcp.andre.vote/mcp
Claude Desktop, Cursor, VS Code…
{
"mcpServers": {
"andre": {
"type": "http",
"url": "https://mcp.andre.vote/mcp"
}
}
}
Emplacement du fichier pour Claude Desktop :
- macOS :
~/Library/Application Support/Claude/claude_desktop_config.json - Windows :
%APPDATA%\Claude\claude_desktop_config.json
Pour les clients qui ne gèrent pas encore le transport HTTP :
{
"mcpServers": {
"andre": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.andre.vote/mcp"]
}
}
}
Limite d'appels d'outils sur Claude.ai / Claude Desktop
Claude impose une limite d'environ 15-20 appels d'outils par tour de conversation. Les analyses approfondies (résultats T1+T2, bureaux de vote, croisement socio-démographique…) peuvent l'atteindre. Cliquez Continuer pour reprendre. Pour des analyses complètes sans interruption, andre.vote n'a pas cette contrainte.
Outils
| Outil | Description |
|---|---|
query_elections |
Résultats électoraux (55 élections, 1999-2026) |
query_admin |
Divisions administratives (communes, EPCI, cantons, départements) |
query_elus |
Élus de la République (base BRÉF, Zenodo) |
query_sociodem |
Données socio-démographiques INSEE au niveau bureau de vote |
query_sql |
Requêtes SQL directes sur la base DuckDB (lecture seule) |
query_dlp |
Composition sociale des candidats municipaux 2020 |
generate_map |
Cartes électorales multi-couches |
visualize |
Visualisations Plotly (bar, line, scatter…) |
simulate_fusions |
Simulation de fusions de listes municipales |
export_data |
Export CSV/JSON/TSV |
create_data_table |
Tableaux de données formatés |
Tous les outils portent un title et une annotation readOnlyHint /
destructiveHint. Aucun outil n'est destructif : le serveur est en lecture
seule sur des données publiques.
query_elections propose des actions « panel » qui répondent en un seul
appel, ce qui limite le risque d'atteindre le plafond d'appels d'outils :
compare_elections— compare deux scrutins pour un territoirequery_all_circonscriptions— vainqueur de chaque circonscription (législatives)vote_reserve— score d'une famille + abstention par bureau (réserves de voix)select_communes— sélectionne/classe des communes par critères géographiques, démographiques et électorauxcross_election_panel— évolution d'une famille ou d'une nuance par commune sur N scrutinsbureau_breakdown— pivot par bureau (top nuances + participation, socio-démo en option)
Resources documentaires
Références consultables automatiquement par le client :
andre://references/methodologies— méthodologies d'analyse (réserves, typologies, ACP)andre://references/data_schema— schéma des données électoralesandre://references/political_colors— couleurs des familles politiquesandre://references/election_dates— dates des 55 électionsandre://references/victory_rules— règles de victoire par type d'électionandre://references/nuances— codes de nuance politiqueandre://references/insee_variables— variables socio-démographiques INSEEandre://skills/electoral-analysis— skill principal (workflows, débogage)
Prompts pré-construits
- analyser_commune — analyse électorale complète d'une commune
- reserves_de_voix — identification des réserves pour une force politique
- carte_electorale — carte thématique d'un département
- comparer_elections — comparaison temporelle entre deux scrutins
- resultats_rapides — résultats synthétiques d'une élection
Exemples
Analyse les résultats des législatives 2024 à Marseille
→ query_admin (code 13055) puis query_elections puis query_sociodem
Quelles sont les communes les plus abstentionnistes des Bouches-du-Rhône
aux européennes 2024 ?
→ query_sql avec une requête agrégée
Données
Exclusivement des sources publiques officielles :
| Source | Licence | Contenu |
|---|---|---|
| data.gouv.fr | Licence Ouverte 2.0 | Résultats électoraux, candidatures |
| IGN / Etalab | Licence Ouverte 2.0 | Contours administratifs |
| INSEE | Licence Ouverte 2.0 | Données socio-démographiques |
| BRÉF (Zenodo) | CC BY 4.0 | Élus de la République |
| FERD | CC BY 4.0 | Codage politique à trois niveaux |
Les données socio-démographiques sont interpolées de l'IRIS vers le bureau de vote via les pondérations de l'Observatoire national des bureaux de vote.
Limites & robustesse
Le serveur expose des données publiques en lecture seule, sans authentification. Garde-fous en place :
query_sql— connexion DuckDB en lecture seule, requêtes d'écriture bloquées,LIMITde sécurité injecté sur lesSELECT/WITHsans limite explicite.- Garde de concurrence — nombre d'exécutions lourdes simultanées borné, avec une réponse gracieuse « serveur occupé » au-delà.
- Métriques — séries Prometheus sur
/metrics(outil, latence, taux d'erreur, concurrence). Ni les arguments, ni les résultats, ni les identifiants de session ne sont exposés.
Exécution locale
Le serveur démarre et répond à l'introspection (tools/list,
resources/list, prompts/list) sans aucune donnée :
pip install .
python -c "from andre_mcp.server import run; run()"
ou via Docker :
docker build -t andre-mcp .
docker run -i --rm andre-mcp
En revanche, les appels d'outils ne fonctionnent pas encore hors du
monorepo : le serveur délègue ses requêtes à des scripts (query_elections.py,
query_admin.py, generate_map.py…) qui n'ont pas encore été versés dans le
paquet, et le jeu de données complet (~1,5 Go) doit être provisionné. Un paquet
PyPI autonome est en préparation.
Pour un usage réel, connectez-vous au serveur distant.
Registre
Publié au registre officiel MCP sous le nom vote.andre/elections
(namespace vérifié par DNS sur andre.vote). Voir server.json.
Licence
MIT — voir LICENSE.
Les données restent soumises aux licences de leurs producteurs respectifs (Licence Ouverte 2.0, CC BY 4.0).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.