André — Analyse électorale française
Server Details
Résultats des élections françaises 1999-2026 par bureau de vote, socio-démo INSEE et cartes.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- joelgombin/andre-mcp
- GitHub Stars
- 0
- Server Listing
- André — Analyse électorale française
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.5/5 across 11 of 11 tools scored. Lowest: 2.7/5.
Each tool has a clearly distinct purpose: creating tables, exporting data, generating maps, querying administrative divisions, etc. Even the similar-sounding query_elections and query_sql are differentiated by intended use (standard vs. advanced). No ambiguity.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., create_data_table, query_admin, simulate_fusions). The naming is predictable and descriptive.
With 11 tools, the server is well-scoped for French election analysis. Each tool covers a distinct aspect without being overwhelming or too sparse.
The tool set covers the full lifecycle of election analysis: data querying (elections, sociodemographics, officials), transformation (tables, SQL), visualization (maps, plots), and export. No obvious gaps for the stated domain.
Available Tools
11 toolscreate_data_tableTableau de donnéesBIdempotentInspect
Crée un tableau de données formaté à partir de données structurées.
Utile pour présenter des résultats calculés ou combinés. Retourne un tableau texte formaté.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | ||
| title | Yes | ||
| columns | Yes | ||
| description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false. The description adds that it returns a formatted text table, which is useful. No contradictions, but little extra behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three concise sentences, no fluff, and front-loads the main action. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description still lacks details on parameter format (e.g., how columns and rows should be structured) and output specifics. It is too minimal for a tool with 4 parameters and zero schema descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It only hints at structured data without explaining the structure of 'columns' and 'rows' or the role of each parameter. This is insufficient for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a formatted data table from structured data using the verb 'Crée' and resource 'tableau de données'. It is specific but does not differentiate from sibling tools like 'export_data' or 'visualize'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is useful for presenting calculated or combined results, providing implied usage context. However, it lacks explicit when-to-use, when-not-to-use, or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_dataExport de donnéesAIdempotentInspect
Exporte des données électorales vers un fichier téléchargeable (CSV, JSON, TSV).
Deux modes : data (contenu inline) ou source_path (chemin vers fichier existant).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | ||
| filename | Yes | ||
| file_format | No | csv | |
| source_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false, and the description aligns by describing a non-destructive export. It adds context about creating a downloadable file and the two modes, which is valuable beyond the annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three lines with essential information front-loaded. Every sentence adds value, no redundancy, and the structure is clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters and an output schema (not shown), the description covers the core functionality and two modes. It lacks details on handling conflicting parameters or error conditions, but is largely sufficient for basic usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description partially compensates by explaining that 'data' is inline content and 'source_path' is a file path. However, it does not explain 'filename' or 'file_format', leaving gaps in parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (export), resource (électorales), and output formats (CSV, JSON, TSV). It also distinguishes two modes (data and source_path), making the tool's purpose distinct from sibling tools like query_* or visualize.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions two modes (data vs source_path) but provides no explicit guidance on when to use this tool over alternatives, nor does it specify prerequisites or exclusions. Usage is implied but not clearly differentiated from siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_mapCarte électoraleAIdempotentInspect
Génère une carte électorale (PNG) pour une élection.
Paramètres :
- election_id : identifiant élection (ex: '2024_legi_t1', '2020_muni_t2')
- metric : 'family' (famille politique en tête) ou 'nuance' (score d'une nuance)
- geography : 'bv' (bureau de vote, défaut) ou 'commune' (carte nationale)
- department : code département (ex: '13'). Requis pour geography='bv' sauf si commune fourni.
- commune : code commune (ex: '13055' pour Marseille). Centre la carte sur cette commune.
- nuance : code nuance quand metric='nuance' (ex: 'RN', 'LFI', 'ENS')
- region : code région pour geography='commune' (ex: '93' pour PACA)
Exemples :
- Carte par famille, Bouches-du-Rhône : election_id='2024_legi_t1', department='13'
- Carte score RN, Marseille : election_id='2024_legi_t1', commune='13055', metric='nuance', nuance='RN'
- Carte nationale : election_id='2024_euro_t1', geography='commune'
| Name | Required | Description | Default |
|---|---|---|---|
| canton | No | ||
| metric | No | family | |
| nuance | No | ||
| region | No | ||
| commune | No | ||
| geography | No | bv | |
| department | No | ||
| election_id | Yes | ||
| circonscription | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true, which aligns with generating a deterministic map image. The description adds that output is a PNG, enhancing transparency about the result. No contradictions with annotations exist. It could mention rate limits or data freshness, but overall good.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-organized: a one-line summary, then a bullet list of parameters with clear explanations, followed by illustrative examples. Every sentence serves a purpose, and the structure is easily scannable for an AI agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters and an output schema present, the description covers all parameters and their relationships. It lacks explicit mention of error conditions or data freshness, but the examples and constraints provide a solid understanding. It is nearly complete for a map generation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully by explaining every parameter with examples and constraints. It clarifies interdependencies (e.g., department vs commune) and provides realistic usage scenarios, adding immense value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a clear, specific statement: 'Génère une carte électorale (PNG) pour une élection.' This precisely identifies the verb (generate), resource (electoral map), and output format (PNG). It is distinct from sibling tools like query_elections or create_data_table, leaving no ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides detailed parameter constraints and examples, implicitly guiding when to use each parameter combination (e.g., 'geography='bv' requires department unless commune provided'). It does not explicitly compare to alternatives, but the sibling list lacks another map tool, so context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_adminDivisions administrativesCRead-onlyIdempotentInspect
Requête les divisions administratives françaises.
Actions : search_commune, get_commune, search_postal,
list_epci, get_epci, list_cantons, list_departements, list_regions.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| epci_code | No | ||
| postal_code | No | ||
| search_term | No | ||
| commune_code | No | ||
| departement_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds a list of supported actions, which provides some behavioral context, but does not elaborate on side effects or required permissions beyond what annotations imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, but the list of actions could be better structured (e.g., bullet points). It achieves minimal conciseness but lacks readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 6 parameters, 0% schema coverage, and no explanation of actions or parameter relationships, the description is severely incomplete. An output schema exists but is not leveraged, leaving agents without essential invocation context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description provides no explanation for any of the 6 parameters. It only lists action names without clarifying which parameters are relevant for each action or their formats. This is a critical gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it queries French administrative divisions and lists specific sub-actions, making the purpose clear. However, it does not distinguish itself from sibling tools like query_dlp or query_elections, which also perform queries.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus its siblings or how to choose among the listed actions. The description lacks any conditional information or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_dlpProfil social des candidats municipauxBRead-onlyIdempotentInspect
Requête les données DLP (composition sociale des candidats municipaux 2020).
~546 000 candidats dans ~10 000 communes (≥1 000 hab.).
Classes : CDOM (dominant), CMOY (moyen), CSUB (subalterne), RET (retraité), AUTRES.
Actions : summary, composition, parite, listes, candidats, professions, sortants.
| Name | Required | Description | Default |
|---|---|---|---|
| sexe | No | ||
| action | Yes | ||
| classe | No | ||
| search | No | ||
| tetes_only | No | ||
| commune_code | No | ||
| sortants_only | No | ||
| departement_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds valuable context about the data scale (~546k candidates, ~10k communes) and the classification scheme, beyond what annotations provide. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively short but uses a bullet-like list for actions and classes. It front-loads the main query purpose but could be more structured and include parameter explanations without getting too long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters, 0% schema coverage, and no parameter descriptions, the tool definition is incomplete. The output schema exists but is not shown. The description provides a high-level overview but lacks details needed to use the tool correctly without guessing parameter values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description only mentions 'actions' and 'classe' briefly, ignoring 6 other parameters (e.g., sexe, search, tetes_only). It fails to compensate for the lack of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as querying DLP data (social composition of 2020 municipal candidates), listing specific classes and actions. This distinctively separates it from sibling tools like query_elections or query_sociodem.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It lists possible actions (summary, composition, etc.) and classes, implying usage contexts, but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_electionsRésultats électorauxCRead-onlyIdempotentInspect
Requête les données électorales françaises (1999-2026).
Niveaux territoriaux : NATIONAL (aucun filtre), RÉGIONAL (region_code),
DÉPARTEMENTAL (departement_code), COMMUNAL (commune_code).
Actions de base : list_elections, query_results, list_bureaux, query_bureau,
query_by_bureau, rank_bureaux, list_circonscriptions, query_circonscription,
list_cantons, query_canton, search_candidate, query_candidatures, etc.
Actions « panel » (1 appel = analyse complète, évite les boucles) :
- compare_elections : compare deux scrutins pour un territoire
(election_id + compare_to_election + commune_code|departement_code,
candidate_name optionnel).
- query_all_circonscriptions : vainqueur de CHAQUE circonscription d'un
territoire en un appel (election_id + commune_code|departement_code,
législatives uniquement).
- vote_reserve : score d'une famille + abstention par bureau de vote sur
les scrutins récents comparables (commune_code + famille).
- select_communes : sélectionne/classe des communes par critères géo +
population + électoraux (region_code/departement_code/epci/commune_codes,
population_min/max, commune_metric, condition, sort_by, limit, order ;
commune_metric/condition nécessitent election_id).
- cross_election_panel : évolution d'un sujet (famille ou nuance_code) par
commune sur N scrutins (elections=ids séparés par des virgules + scope
commune_code/departement_code/region_code/commune_codes).
- bureau_breakdown : pivot par bureau (top_n nuances/blocs + participation,
with_sociodem optionnel) pour commune_code + election_id.
| Name | Required | Description | Default |
|---|---|---|---|
| epci | No | ||
| tour | No | ||
| limit | No | ||
| order | No | ||
| top_n | No | ||
| action | Yes | ||
| offset | No | ||
| famille | No | ||
| sort_by | No | ||
| bureau_id | No | ||
| by_family | No | ||
| condition | No | ||
| elections | No | ||
| bureau_code | No | ||
| canton_code | No | ||
| election_id | No | ||
| family_name | No | ||
| list_search | No | ||
| nuance_code | No | ||
| rank_metric | No | ||
| region_code | No | ||
| commune_code | No | ||
| nuance_level | No | ||
| scrutin_type | No | ||
| commune_codes | No | ||
| with_sociodem | No | ||
| candidate_name | No | ||
| commune_metric | No | ||
| population_max | No | ||
| population_min | No | ||
| candidate_query | No | ||
| use_ferd_coding | No | ||
| candidate_search | No | ||
| departement_code | No | ||
| compare_to_election | No | ||
| circonscription_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, and destructiveHint. The description adds context like the date range (1999-2026) and territorial levels. It does not contradict annotations and offers some behavioral context beyond the structured fields, albeit not extensive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is lengthy and lists many actions without clear structure. It uses line breaks and bullet-like formatting, but includes 'etc.' suggesting incompleteness. The most critical information (purpose and territorial levels) is front-loaded, but the verbosity and lack of organization reduce clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 36 parameters, 0% schema coverage, and no parameter documentation in the description, the agent cannot reliably understand how to invoke the tool. The output schema exists but does not compensate for the missing parameter semantics. The description is far from complete for such a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain individual parameters. Although some parameters are mentioned in action descriptions (e.g., election_id, commune_code), the meaning of many parameters (e.g., epci, tour, limit, offset) is left entirely to the agent to infer. This is insufficient for a tool with 36 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it queries French election data from 1999-2026 and lists territorial levels (national, regional, departmental, communal). The verb 'Requête' (query) and resource 'données électorales françaises' are specific. Sibling tools like query_sociodem and query_admin are distinct, so no sibling confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description enumerates many actions (list_elections, query_results, etc.) but does not explain when to use this tool versus siblings such as query_sociodem or query_admin. Also, it lacks guidance on which action to choose for a given task. The 'panel' actions are described briefly, but overall the advice is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_elusÉlus de la RépubliqueCRead-onlyIdempotentInspect
Requête les élus de la République française (base BRÉF).
Actions : search_elu, list_mandate_types, list_elus.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| search_term | No | ||
| mandate_type | No | ||
| departement_code | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true, so the description does not need to repeat safety info. The description adds that the tool performs queries, consistent with annotations, but no extra behavioral details (e.g., pagination, error states).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very short, which is concise, but it omits critical details. Listing actions is helpful, but the lack of parameter explanation makes it incomplete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 4 parameters, an output schema, and specific actions, the description is insufficient. It does not explain how to form queries or interpret results, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention any parameters or their relationship to actions. The agent cannot infer how 'action', 'search_term', 'mandate_type', or 'departement_code' should be used.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool queries French elected officials (élus) from the BRÉF database, and lists specific actions (search_elu, list_mandate_types, list_elus). This differentiates it from sibling tools like query_elections or query_admin. However, it could be more explicit about the scope of 'élus'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use which action or how to choose between this tool and siblings. It lists actions but does not explain their contexts or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_sociodemDonnées socio-démographiquesARead-onlyIdempotentInspect
Requête les données socio-démographiques au niveau bureau de vote.
Données INSEE RP 2022 + Filosofi 2021, interpolées IRIS→BDV.
Actions : list_variables, profile, indices, rank, compare.
| Name | Required | Description | Default |
|---|---|---|---|
| order | No | ||
| action | Yes | ||
| variable | No | ||
| commune_code | No | ||
| commune_codes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating safe read operations. The description adds value by specifying data sources (INSEE, Filosofi), interpolation method (IRIS→BDV), and available actions, which enriches behavioral understanding beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and uses a bullet list for actions, making it scannable. Every sentence adds information without redundancy. A slightly more structured format could improve readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose, data sources, and actions, which is adequate for a read-only query tool with an output schema. However, the lack of parameter documentation and usage guidance reduces completeness for the tool's complexity (5 params, multiple actions).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions the 'action' parameter explicitly. The other four parameters (order, variable, commune_code, commune_codes) are not explained, leaving their purpose and format unclear. This is a significant gap given the number of parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool queries socio-demographic data at polling station level, specifies data sources (INSEE RP 2022, Filosofi 2021), and lists available actions. It distinguishes from sibling tools by domain (socio-demographic vs. admin, elections, etc.).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
While the description mentions the tool's purpose and actions, it provides no explicit guidance on when to use this tool versus alternatives like query_admin or query_elections. Usage context is implied by the domain but not clarified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
query_sqlRequête SQL (lecture seule)ARead-onlyIdempotentInspect
Exécute une requête SQL directe sur la base DuckDB (read-only).
Tables principales :
- general_results : résultats généraux par bureau de vote
- candidats_results : résultats par candidat par bureau de vote
- elections_disponibles : liste des élections (id_election, nb_bureaux, total_inscrits)
- candidats_avec_nuances : candidats avec famille politique (si nuances enrichies)
- resultats_par_famille : résultats agrégés par famille politique
- communes, epci, departements, regions : divisions administratives
- bv_sociodemographique : données socio-démo par bureau de vote
ATTENTION — colonnes de general_results (noms avec espaces, à quoter) :
id_election, id_brut_miom, "Code du département", "Code de la commune" (SANS préfixe dept, ex: '055' pour Marseille),
"Libellé de la commune", Inscrits, Abstentions, Votants, Blancs, Nuls, Exprimés.
PRÉFÉRER query_elections pour les analyses standard — query_sql est pour les requêtes ad hoc avancées.
Exemple :
SELECT id_election, ROUND(100.0 * SUM(Abstentions) / NULLIF(SUM(Inscrits), 0), 1) as abstention_pct
FROM general_results WHERE "Code du département" = '13' AND "Code de la commune" = '055'
GROUP BY id_election ORDER BY id_election DESC LIMIT 5
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds the context that it runs on DuckDB, mentions column naming quirks, and gives an example, but does not disclose additional behavioral traits like rate limits or error handling. This is adequate given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with sections (tables, attention, prefer, example). The description is somewhat long but every section adds value. Front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (SQL querying with multiple tables and column quirks), the description covers table names, column details, usage guidance, and an example. Output schema exists and annotations are comprehensive, so no missing context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'query' has 0% schema description coverage, but the description compensates by listing table names, column details with quoting requirements, and a concrete example. This provides significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it executes a direct SQL query on DuckDB (read-only), lists main tables, and distinguishes from sibling tool query_elections by specifying that query_sql is for advanced ad hoc queries. The verb 'execute' and resource 'DuckDB SQL' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to prefer query_elections for standard analyses and that query_sql is for advanced ad hoc queries, providing clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
simulate_fusionsSimulation de fusions de listesARead-onlyIdempotentInspect
Simule les scénarios de fusion de listes municipales entre T1 et T2.
Actions : 'status' (classer les listes après T1), 'simulate' (projections T2).
Uniquement pour les élections municipales.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| election_id | Yes | ||
| report_rate | No | ||
| commune_code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds domain-specific context (municipal elections, action types) but does not disclose additional behavioral traits beyond what annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the main purpose. The listing of actions is efficient, though the formatting with a colon and newline is slightly informal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of fusion simulation and 4 parameters, the description is adequate but not complete. It explains actions and domain restriction but omits details on parameters like 'report_rate'. An output schema exists, so return values are not required, but parameter guidance is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description partially compensates by explaining the 'action' parameter and its two values ('status', 'simulate'). However, it fails to describe 'election_id' and 'report_rate', leaving gaps for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool simulates fusion scenarios of municipal lists between T1 and T2, listing specific actions ('status' and 'simulate'). It explicitly limits usage to municipal elections, making the purpose distinct from sibling tools like query_elections or generate_map.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions it is only for municipal elections, providing a clear context for when to use. However, it does not exclude alternative tools or explicitly state when not to use, leaving the agent to infer from sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
visualizeVisualisation graphiqueAIdempotentInspect
Crée une visualisation Plotly (retourne le spec JSON).
Deux modes :
- Spec libre : fournir 'spec' (dict Plotly complet {data, layout})
- Assisté : fournir chart_type + data + x + y
Types supportés : bar, line, scatter, histogram, box, violin, heatmap, treemap.
| Name | Required | Description | Default |
|---|---|---|---|
| x | No | ||
| y | No | ||
| data | No | ||
| spec | No | ||
| color | No | ||
| title | No | ||
| data_file | No | ||
| chart_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false, and the description confirms it creates a visualization without side effects. However, the description does not elaborate on the return format or any potential performance implications, which is acceptable given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with bullet points. It front-loads the main purpose and lists modes clearly. Minor improvement could be more structured parameter descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters and an output schema, the description covers the main functionality but lacks detailed parameter semantics and example usage. It is adequate but not fully complete for complex scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must explain parameters. It explains the two modes and mentions chart_type, data, x, y, spec, color, title, but does not describe data_file or the exact structure of spec. Partial explanation, but not comprehensive for all 8 parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool creates a Plotly visualization and returns a JSON spec. It lists supported chart types and distinguishes two modes (free spec and assisted), which is specific and differentiates it from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear guidance on when to use each mode (free spec vs. assisted) and lists supported chart types. However, it does not explicitly state when not to use the tool or mention any prerequisites or limitations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceAnalyzes French real-estate market using open data sources like DVF transactions, DPE certificates, and risk data.MIT
- Flicense-qualityDmaintenanceProvides access to French public data through data.gouv.fr, IGN cartographic services (maps, tiles, geographic data), address geocoding, and administrative divisions with demographic information.6
- AlicenseAqualityDmaintenanceRecherche des communes françaises et des parcelles cadastrales dans une commune via TRINV.2102MIT
- Flicense-qualityCmaintenanceProvides French address data from DVF, Géorisques, and SSMSI sources, including property prices, risks, and crime statistics.
Your Connectors
Sign in to create a connector for this server.