Election.org
Read sourced U.S. civic records: candidates, offices, campaign finance, elections and governments.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"election-org": {
"url": "https://election.org/api/mcp"
}
}
}Remote endpoints
https://election.org/api/mcpstreamable-httpWhat it can do
Tool inventory
Tools (6)
🟢search_candidates(q, state, office, district, limit)
Search Election.org's 2026 FEC candidate filings by public name or FEC ID, state, office, or district. Returns party, filing status, available campaign totals, source dates and record links. FEC records stay in data.records. A separately sourced data.state_authority_records list currently adds Mississippi federal qualifying entries, including candidates with no matched FEC ID. Check both collections; neither proves final ballot certification or complete nationwide/local coverage. Do not request federal finance for a null FEC ID. Federal filings are ordered by reported receipts, not an endorsement. No party is excluded.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"state": {
"description": "Two-letter state or territory code of the public records being researched, not the user's location.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"office": {
"type": "string",
"enum": [
"H",
"S",
"P"
]
},
"district": {
"type": "string",
"pattern": "^\\d{1,2}$"
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"data": {},
"coverage": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"citation": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"links": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"data",
"coverage",
"sources",
"citation",
"links"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢search_offices(q, state, level, limit)
Search permanent public offices and their sourced holders by official name, office title, or jurisdiction. Federal, state, executive and selected local coverage is included; local coverage is incomplete and source verification dates must be retained. Not an address-to-representative lookup. A missing holder is not proof of a vacancy.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"state": {
"description": "Two-letter state or territory code of the public records being researched, not the user's location.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"level": {
"description": "State includes legislative and executive offices.",
"type": "string",
"enum": [
"federal",
"state",
"local"
]
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"data": {},
"coverage": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"citation": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"links": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"data",
"coverage",
"sources",
"citation",
"links"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_campaign_finance(candidate_id)
Retrieve published 2026 federal campaign receipts, spending, cash, debts, linked committees and separately labeled outside-spending totals for an FEC candidate ID. Returns reporting periods, sources and coverage limits. Campaign balances are not a candidate's personal net worth. Contributions do not establish influence or wrongdoing. Missing financial summaries remain null.
Input Schema
{
"type": "object",
"properties": {
"candidate_id": {
"description": "Public FEC candidate identifier, as returned by search_candidates, e.g. H8CA28054.",
"type": "string",
"pattern": "^[HSP][0-9A-Z]{8}$"
}
},
"required": [
"candidate_id"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"data": {},
"coverage": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"citation": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"links": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"data",
"coverage",
"sources",
"citation",
"links"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_election_calendar(state)
Return the published 2026 federal general election date and congressional primary/runoff schedule, optionally filtered to a state's public election jurisdiction. Source dates and tentative/changeable status are included. Does not include every local election, registration deadline or polling location; confirm actionable dates with the state's election authority.
Input Schema
{
"type": "object",
"properties": {
"state": {
"description": "Two-letter state or territory code of the public records being researched, not the user's location.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
}
},
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"data": {},
"coverage": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"citation": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"links": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"data",
"coverage",
"sources",
"citation",
"links"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢get_election_results(year, state, office, district, candidate, ...)
Retrieve source-backed U.S. House and Senate results for an explicitly requested year. The archive currently covers 2016, 2018, 2020, 2022 and 2024. Other years return an unsupported-year error, never substituted historical results. Includes votes, sources, record links and calculation caveats. Not live returns, projections or presidential results.
Input Schema
{
"type": "object",
"properties": {
"year": {
"type": "integer",
"minimum": 1900,
"maximum": 2100
},
"state": {
"description": "Two-letter state or territory code of the public records being researched, not the user's location.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"office": {
"type": "string",
"enum": [
"H",
"S"
]
},
"district": {
"type": "string",
"minLength": 1,
"maxLength": 30
},
"candidate": {
"type": "string",
"minLength": 2,
"maxLength": 120
},
"limit": {
"default": 5,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"year"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"data": {},
"coverage": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"citation": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"links": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"data",
"coverage",
"sources",
"citation",
"links"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}🟢search_governments(q, state, limit)
Search named cities, counties, school systems and special districts in Election.org's Census-based public-body directory. Returns source-backed institution records, available office contacts and enriched coverage, with record links. Similar names can refer to different jurisdictions. Directory inclusion does not establish current officials or exact service boundaries. Does not locate a user's home or provide private personal contacts.
Input Schema
{
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 2,
"maxLength": 100,
"description": "A distinctive partial institution name, e.g. Bethel Township Municipal. Search matches consecutive text; shorten the query if punctuation or parenthetical words cause no matches."
},
"state": {
"description": "Two-letter state or territory code of the public records being researched, not the user's location.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"limit": {
"default": 3,
"type": "integer",
"minimum": 1,
"maximum": 5
}
},
"required": [
"q"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Output Schema
{
"type": "object",
"properties": {
"data": {},
"coverage": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"citation": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"links": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"data",
"coverage",
"sources",
"citation",
"links"
],
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false
}Community
Evidence