Politica Electoral
API de datos electorales del mundo democrático: partidos políticos, perfiles ideológicos y programas electorales.
Política Electoral — MCP Server
A political-data API covering the democratic world: parties, politicians, public
figures, events, congressional votes, institutions, parliamentary procedures and
political concepts. Available as an MCP (Model Context Protocol) server over
HTTP for AI-agent integrations, plus a REST API at /api/v1/* and per-page raw
Markdown twins ({any-page}.md).
Most content is in Spanish. Profiles of politicians, parties and public figures are also available in English for selected countries (Spain, Argentina, Great Britain, United States, France).
Endpoints
| URL | Description |
|---|---|
POST /mcp-server | Main JSON-RPC 2.0 endpoint |
GET /mcp-server | Server info |
GET /.well-known/mcp.json | MCP discovery |
GET /llms.txt | LLM-friendly content index (ES + EN URLs) |
GET /openapi.json | OpenAPI 3.1 spec for the REST API |
GET /api/docs | Interactive REST API docs (Scalar) |
Protocol
MCP 2024-11-05 over HTTP (JSON-RPC 2.0).
Minimal request:
POST /mcp-server
Content-Type: application/json
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_parties_list",
"arguments": { "country": "es" }
}
}
Full handshake:
# 1. Initialize
curl -X POST https://www.politicaelectoral.com/mcp-server \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-client","version":"1.0"}}}'
# 2. Notify ready (no response expected)
curl -X POST https://www.politicaelectoral.com/mcp-server \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}'
# 3. List available tools
curl -X POST https://www.politicaelectoral.com/mcp-server \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
Country codes
The country argument is always an ISO 3166-1 alpha-2 code.
| Code | Country |
|---|---|
es | Spain |
ar | Argentina |
mx | Mexico |
cl | Chile |
co | Colombia |
uy | Uruguay |
pe | Peru |
ve | Venezuela |
br | Brazil |
us | United States |
gb | Great Britain |
fr | France |
de | Germany |
it | Italy |
pt | Portugal |
nl | Netherlands |
se | Sweden |
pl | Poland |
hu | Hungary |
gr | Greece |
ie | Ireland |
il | Israel |
eu | European Union |
Tools
The server exposes 25 tools, grouped by purpose:
- Discovery & search:
summarize_country,search - Parties & politicians:
get_parties_list,get_party_profile,get_politicians_list,get_politician_profile,compare_parties,compare_politicians - Elections:
get_elections_list,get_election_regions,get_election_region,get_election_region_parties,get_election_region_party - Public figures:
get_public_figures_list,get_public_figure - Congress votes (Spain):
get_votes_list,get_vote - Institutions, procedures & concepts:
get_institutions_list,get_institution,get_procedures_list,get_procedure,get_political_concepts_list,get_political_concept - Events:
get_events_list,get_event
All tool examples below use the tools/call JSON-RPC method:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": { "name": "<TOOL>", "arguments": { ... } }
}
Discovery & search
summarize_country
High-level political summary: head of government, main parties, last/next elections, recent events, totals per resource type.
{ "name": "summarize_country", "arguments": { "country": "es" } }
search
Free-text cross-resource search (politicians, parties, public figures, events, votes, institutions, procedures, concepts), ranked by score.
| Argument | Type | Required | Description |
|---|---|---|---|
country | string | yes | ISO-2 country code |
q | string | yes | Free-text query (≥ 2 characters) |
limit | integer | no | Max results (1–50, default 20) |
{ "name": "search", "arguments": { "country": "es", "q": "sanchez", "limit": 5 } }
Parties & politicians
get_parties_list
List of political parties in a country.
{ "name": "get_parties_list", "arguments": { "country": "es" } }
get_party_profile
Ideological and historical profile of a party (Markdown).
| Argument | Type | Required | Description |
|---|---|---|---|
country | string | yes | ISO-2 country code |
party | string | yes | Party slug (e.g. pp, psoe, vox) |
{ "name": "get_party_profile", "arguments": { "country": "es", "party": "psoe" } }
get_politicians_list
List of politicians in a country, optionally filtered by party.
| Argument | Type | Required | Description |
|---|---|---|---|
country | string | yes | ISO-2 country code |
party | string | no | Party slug to filter |
{ "name": "get_politicians_list", "arguments": { "country": "es", "party": "psoe" } }
get_politician_profile
Detailed profile of a politician: trajectory, current role and ideological positioning (Markdown).
| Argument | Type | Required | Description |
|---|---|---|---|
country | string | yes | ISO-2 country code |
politician | string | yes | Politician slug (e.g. pedro-sanchez) |
{ "name": "get_politician_profile", "arguments": { "country": "es", "politician": "pedro-sanchez" } }
compare_parties
Side-by-side comparison of two parties of the same country.
{ "name": "compare_parties", "arguments": { "country": "es", "party_a": "pp", "party_b": "psoe" } }
compare_politicians
Side-by-side comparison of two politicians.
{ "name": "compare_politicians", "arguments": { "country": "es", "politician_a": "pedro-sanchez", "politician_b": "alberto-nunez-feijoo" } }
Elections
get_elections_list
List of elections available for a country, with type (generales, autonomicas, europeas) and date.
{ "name": "get_elections_list", "arguments": { "country": "es" } }
get_election_regions
List of regions (autonomous communities, states, etc.) available for a specific election.
| Argument | Type | Required | Description |
|---|---|---|---|
country | string | yes | ISO-2 country code |
election | string | yes | Election slug (e.g. generales-2023, autonomicas-2024) |
{ "name": "get_election_regions", "arguments": { "country": "es", "election": "generales-2023" } }
get_election_region
Overview landing for a specific election + region: context, participating parties, key data.
| Argument | Type | Required | Description |
|---|---|---|---|
country | string | yes | ISO-2 country code |
election | string | yes | Election slug |
region | string | yes | Region slug (e.g. nacional, cataluna, madrid) |
{ "name": "get_election_region", "arguments": { "country": "es", "election": "generales-2023", "region": "nacional" } }
get_election_region_parties
List of parties with electoral content for a specific election + region.
{ "name": "get_election_region_parties", "arguments": { "country": "es", "election": "generales-2023", "region": "nacional" } }
get_election_region_party
Electoral programme summary for a party in a specific election + region (Markdown).
{ "name": "get_election_region_party",
"arguments": { "country": "es", "election": "generales-2023", "region": "nacional", "party": "pp" } }
Public figures
Non-politician public figures with political relevance: monarchs, journalists, business leaders, advisors, judges, prosecutors, etc.
get_public_figures_list
| Argument | Type | Required | Description |
|---|---|---|---|
country | string | yes | ISO-2 country code |
kind | string | no | Filter by type: monarca, periodista, empresario, asesor, juez, fiscal, figura |
{ "name": "get_public_figures_list", "arguments": { "country": "gb", "kind": "monarca" } }
get_public_figure
{ "name": "get_public_figure", "arguments": { "country": "gb", "slug": "king-charles-iii" } }
Congress votes (Spain only)
get_votes_list
Key votes from the Spanish Congress.
{ "name": "get_votes_list", "arguments": { "country": "es" } }
get_vote
Detailed analysis of a vote: result, party-by-party breakdown, context.
{ "name": "get_vote", "arguments": { "country": "es", "vote": "ley-amnistia-2024" } }
Institutions, procedures & concepts
get_institutions_list · get_institution
State institutions (parliament, government, judiciary, control bodies, advisory bodies).
{ "name": "get_institution", "arguments": { "country": "es", "institution": "tribunal-constitucional" } }
get_procedures_list · get_procedure
Parliamentary procedures (e.g. investiture, motion of no confidence).
{ "name": "get_procedure", "arguments": { "country": "es", "procedure": "mocion-de-censura" } }
get_political_concepts_list · get_political_concept
Political concepts (separation of powers, D'Hondt method, blank vs null vote, etc.).
| Argument | Type | Required | Description |
|---|---|---|---|
country | string | yes | ISO-2 country code |
subcategory | string | no | fundamental or electoral |
{ "name": "get_political_concept", "arguments": { "country": "es", "concept": "division-de-poderes" } }
Events
Major political events: scandals, crises, foreign-policy episodes, constitutional reforms, etc.
{ "name": "get_events_list", "arguments": { "country": "es" } }
{ "name": "get_event", "arguments": { "country": "es", "event": "atentados-11m-2004" } }
Recommended flow
Get a party's electoral programme:
get_elections_list(country) → pick election slug
get_election_regions(country, election) → pick region slug
get_election_region_parties(...) → pick party slug
get_election_region_party(...) → programme as Markdown
Get a party profile:
get_parties_list(country) → pick party slug
get_party_profile(country, ...) → ideological profile as Markdown
Free-text exploration:
search(country, q="<term>") → ranked mixed-resource results
Markdown twins (raw .md URLs)
Every public page also serves a raw Markdown version by appending .md to the
URL. URL slugs are per-language: Spanish uses politicos/partido/personajes,
English uses politicians/party/public-figures. Country slugs also change
(espana→spain, reino-unido→great-britain, eeuu→united-states).
Spanish (canonical, all entities):
/es/{country-es}/partido/{slug}.md → party profile
/es/{country-es}/politicos/{slug}.md → politician profile
/es/{country-es}/personajes/{slug}.md → public figure profile
/es/{country-es}/eventos/{slug}.md → political event
/es/{country-es}/votaciones/{slug}.md → Congress vote (Spain)
/es/{country-es}/instituciones/{slug}.md → state institution
/es/{country-es}/procedimientos/{slug}.md → parliamentary procedure
/es/{country-es}/conceptos-politicos/{slug}.md → political concept
/es/{country-es}/{election}/{region}.md → election landing
/es/{country-es}/{election}/{region}/{party}.md → party programme summary
English (politicians + parties + public figures only, where translated):
/en/{country-en}/party/{slug}.md
/en/{country-en}/politicians/{slug}.md
/en/{country-en}/public-figures/{slug}.md
Examples:
https://www.politicaelectoral.com/es/espana/politicos/pedro-sanchez.md
https://www.politicaelectoral.com/en/spain/politicians/pedro-sanchez.md
https://www.politicaelectoral.com/es/reino-unido/personajes/king-charles-iii.md
https://www.politicaelectoral.com/en/great-britain/public-figures/king-charles-iii.md
https://www.politicaelectoral.com/es/eeuu/partido/republicano.md
https://www.politicaelectoral.com/en/united-states/party/republicano.md
If the requested language has no published .md for that slug the URL returns
404 (no fallback).
REST API
In addition to MCP, the same data is exposed as a REST API rooted at
/api/v1/. Spec: /openapi.json. Interactive docs: /api/docs.
# List parties for Spain
curl 'https://www.politicaelectoral.com/api/v1/parties?country=es'
# Politician profile (English variant when available)
curl 'https://www.politicaelectoral.com/api/v1/politicians/pedro-sanchez?country=es&lang=en'
# Free-text search
curl 'https://www.politicaelectoral.com/api/v1/search?q=sanchez&country=es&limit=5'
country is always ISO-2. lang defaults to es; pass lang=en to receive the
English variant (only items with EN content are returned in that case).
License & usage
Data is sourced from each party's official electoral programmes. Profiles and analysis are generated with AI from public sources. Free use for non-commercial projects with attribution.
Site: politicaelectoral.com
Serveurs connexes
Stampchain MCP Server
Interact with Bitcoin Stamps data via the Stampchain API, allowing queries for stamps, collections, and blockchain information.
CData ActiveCampaign Server
Access and manage ActiveCampaign data through the CData JDBC Driver.
SupaMCP Server
A runtime-configurable MCP server that turns a Supabase project into an AI-compatible tool interface.
Open Census MCP Server
Access and query U.S. Census demographic data using natural language.
Open Formula 1 MCP Server
MCP Server to retrieve and analyze Formula 1 (F1) races, cars, drivers, lap, pit stops and more.
Gunsnation MCP
MCP server that gives assistants real-time access to the Gunsnation firearms catalog
Metabase Server
Integrate with Metabase to query databases and visualize data. Requires Metabase URL and API key for authentication.
SAP Fieldglass MCP Server by CData
A read-only MCP server for querying live SAP Fieldglass data, powered by the CData JDBC Driver.
Azure TableStore
An MCP server for interacting with Azure Table Storage, requiring an Azure Storage connection string.
Borsa MCP
Provides programmatic access to Borsa Istanbul (BIST) stock data, financials, news, and analysis using KAP and Yahoo Finance.