# global.rootz.politics/officials (remote · politics.rootz.global)

Origin-signed US political data: 25,546 officials, bills, votes, positions with sources.

- Trust score: 76/100 (medium)
- Change this week: +10
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `politics.rootz.global`: 76/100 (this document), [markdown](https://verifymcp.io/servers/global-rootz-politics-officials/politics.md), [page](https://verifymcp.io/servers/global-rootz-politics-officials/politics)

## Channel facts

- Endpoint: `https://politics.rootz.global/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.3.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 77/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 81/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 2895 tokens (~107/item across 27 items; 25 tools + 2 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 98/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 95% of tool parameters carry a description.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http global-rootz-politics-officials https://politics.rootz.global/mcp
```

### Codex

```toml
[mcp_servers.global-rootz-politics-officials]
url = "https://politics.rootz.global/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "global-rootz-politics-officials": {
      "type": "remote",
      "url": "https://politics.rootz.global/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add global-rootz-politics-officials --url https://politics.rootz.global/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  global-rootz-politics-officials:
    url: "https://politics.rootz.global/mcp"
```

### Other

```json
{
  "mcpServers": {
    "global-rootz-politics-officials": {
      "type": "http",
      "url": "https://politics.rootz.global/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-01 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 74, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 72, +4)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 68, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 66, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 66)

First indexed and scored.

## MCP tools (25)

### `politics_represent` (~90 tokens)

Find My Representatives

Representation lookup for a US ZIP code: both U.S. Senators, the U.S. House member for that ZIP's congressional district, and the state's statewide executives (governor, attorney general, and similar). Every official carries source_url (the capture origin) and source_link (a public page).

Input parameters:

- `zip` (string, required): 5-digit US ZIP code, e.g. 04101

### `politics_search` (~194 tokens)

Search Officials

Search for politicians and elected officials across all levels of US government — federal, state, county, municipal. Filter by name, state, party, level, chamber, or office title. Returns officials with their current office, party, and contact info.

Input parameters:

- `chamber` (string): Legislative chamber
- `level` (string): Government level
- `limit` (integer): Max results (default 50)
- `name` (string): Official name (partial match, e.g. "Sanders" or "Alexandria")
- `office` (string): Office title (e.g. Senator, Mayor, Governor, Town Clerk)
- `offset` (integer): Pagination offset
- `party` (string): Party name (e.g. Democrat, Republican, Independent)
- `state` (string): State abbreviation (e.g. FL, NY, CA)
- `status` (string): Status (default: active + candidate)

### `politics_official` (~88 tokens)

Official Profile

Get full details for a specific official by ID — biography, party, office, policy positions, committee assignments, campaign finance, social media, and contact info. All data includes source URLs for verification.

Input parameters:

- `bioguide_id` (string): Congress.gov Bioguide ID (e.g. S000033 for Bernie Sanders)
- `id` (integer): Official ID from politics_search results

### `politics_by_state` (~55 tokens)

Officials by State

Get all current officials for a US state — federal senators and representatives, state legislators, and any indexed local officials. Organized by government level.

Input parameters:

- `state` (string, required): State abbreviation (e.g. FL, CA, TX)

### `politics_positions` (~251 tokens)

Policy Positions by Topic

Policy positions across officials by topic, covering who supports or opposes issues such as crypto, stablecoins, AI, healthcare, and guns. Each position carries a source URL and origin hash. Returns compact records by default (id, name, party, state, stance, summary, source) with a total count; the compact parameter controls row detail and offset controls paging.

Input parameters:

- `compact` (boolean): Compact mode (default). Small bounded record per position; use with offset to page. Set false for full rows (limit capped at 50).
- `limit` (integer): Max results per page. Compact: default 100, max 250. Full: default 25, max 50.
- `offset` (integer): Pagination offset. Response includes total; page by offset += limit.
- `party` (string): Filter by party (Republican, Democrat)
- `state` (string): Filter by state (2-letter code)
- `topic` (string, required): Policy topic label — use exact stored labels: Cryptocurrency, Technology, Healthcare, Immigration, Climate, Gun Control, Abortion, Taxes, Economy, Education, National Security, Housing, Criminal Just…

### `politics_stats` (~37 tokens)

Database Statistics

Get summary statistics for the politics.rootz.global database — total officials, breakdown by level, party, state, and chamber. Shows coverage completeness.

### `politics_timeline` (~68 tokens)

Official Timeline

Get the full origin timeline for a politician — every page snapshot, every position change, every data source with hash proof. The political wayback machine. Shows what changed, when, and where the data came from.

Input parameters:

- `id` (integer, required): Official ID
- `limit` (integer)

### `politics_changes` (~69 tokens)

Recent Changes

Get recent changes detected across all politicians — position shifts, website updates, new data. Each change links to the before/after snapshots with origin proof.

Input parameters:

- `limit` (integer)
- `since` (string): ISO date to filter changes after (e.g. 2026-05-01)

### `politics_origin` (~37 tokens)

Origin Archive Statistics

Get origin archive statistics — total snapshots, changes detected, origin proofs recorded, unique URLs tracked. Shows the depth of the political wayback machine.

### `politics_bridge_create` (~108 tokens)

Create Bridge Workspace

Create a citizen bridge page — a personalized workspace for tracking representatives, comparing positions, and taking action (write letters, log calls). Returns a shareable URL that any AI agent can collaborate on. Optionally auto-populates with the citizen's state representatives.

Input parameters:

- `state` (string): State abbreviation — auto-adds federal representatives
- `topics` (string): Comma-separated topics of interest (e.g. Healthcare,Climate)
- `zip` (string): ZIP code for precise district matching

### `politics_bridge_session` (~55 tokens)

Read Bridge Workspace

Current state of a citizen bridge workspace: tracked officials, saved comparisons, drafted actions, and messages.

Input parameters:

- `agent_id` (string): Your agent identifier for multi-agent tracking
- `hash` (string, required): Bridge page session hash

### `politics_bridge_compare` (~86 tokens)

Save Comparison Set

Compare multiple politicians side-by-side on a bridge page — positions, party, office, campaign finance. Optionally filter to a specific topic.

Input parameters:

- `hash` (string, required): Bridge page session hash
- `official_ids` (array, required): Array of official IDs to compare
- `title` (string): Title for this comparison
- `topic` (string): Optional topic to focus comparison on

### `politics_bridge_letter` (~96 tokens)

Draft Letter to Official

Draft a letter to a politician on the citizen's bridge page. The letter gets an origin hash for proof of content. Returns delivery options (email, web form, USPS, phone).

Input parameters:

- `action_type` (string)
- `body` (string, required): Letter body text
- `hash` (string, required): Bridge page session hash
- `official_id` (integer, required): Official to write to
- `subject` (string): Letter subject

### `politics_bill` (~149 tokens)

Bill Details

Details of a US bill or resolution: vote breakdown, sponsors, cosponsors, status, and origin proof. Returns metadata, a short text excerpt, and a text index by default; full legislative text is omitted because omnibus bills exceed typical token caps. The include_text parameter controls whether the complete text is returned in a single response.

Input parameters:

- `bill_id` (string, required): Bill ID (e.g. hr3424-119 for House bill 3424 in 119th Congress)
- `include_text` (string): excerpt (default): metadata + ~1.2KB head + text index. none: metadata + index only. full: entire full_text (may exceed the token cap for large bills).

### `politics_bill_toc` (~77 tokens)

Bill Section Index

Section index for a bill: every "SEC. N" heading with its character offset and length, plus the whole-bill origin hash (content_hash) and total text length. A small response that describes the structure of a large bill.

Input parameters:

- `bill_id` (string, required): Bill ID (e.g. hr7148-119)

### `politics_bill_text` (~194 tokens)

Bill Text Slice

One signed, bounded slice of a bill's full legislative text, addressed by part number or section label. Each response carries part and total_parts, next_part, the slice's part_sha256, and the whole-bill content_hash. Parts 1 through total_parts concatenated in order hash to content_hash, so a bill too large to return in a single response remains verifiable as complete and unaltered.

Input parameters:

- `bill_id` (string, required): Bill ID (e.g. hr7148-119)
- `max_chars` (integer): Max characters per part (2000–60000). Larger = fewer parts but bigger responses.
- `part` (integer): 1-based part number. Response tells you total_parts and next_part.
- `section` (string): Jump to a section by label instead of part, e.g. "2", "SEC. 2", or "preamble". Overrides part.

### `politics_bills_search` (~112 tokens)

Search Bills

Search bills by topic, sponsor, status, or congress. Returns bill metadata and whether full text is available.

Input parameters:

- `congress` (integer): Congress number (119 = 2025-2026)
- `limit` (integer)
- `sponsor` (string): Sponsor name or bioguide ID
- `status` (string): Bill status: introduced, committee, passed_house, passed_senate, enacted
- `topic` (string): Topic keyword (e.g. crypto, defense, healthcare)

### `politics_candidate_feed` (~157 tokens)

Candidate Data Feed

Get a candidate's Campaign Data Standard (CDS) feed: a single machine-readable record of who they are, the offices they hold and seek, their positions in their own words (each source-linked), their voting record by reference, and declared data gaps. This is the standardized, signed feed an AI or reporter uses to grab a candidate's positions and verify they are genuine. Every MCP response is signed; the standalone signed feed is also at /official/{id}/candidate.json. Tier is "rootz-compiled" until the campaign claims and signs it ("candidate-signed").

Input parameters:

- `bioguide_id` (string): Bioguide ID (alternative to id)
- `id` (integer): Official ID (from politics_search)

### `politics_methodology` (~61 tokens)

Collection Methodology

Get the full transparency methodology — how we collect, assess, extract, sign, and verify political data. Includes quality assessment algorithm (signals + weights), trust levels, data sources, cron schedule, and what we can and cannot prove. Open and auditable.

### `politics_provenance` (~57 tokens)

Provenance Chain

Get the complete origin proof chain for an official — every data source, content hash, quality assessment, snapshot history, and verification instructions. Proves where every piece of data came from.

Input parameters:

- `official_id` (integer, required): Official ID

### `politics_speeches` (~180 tokens)

Congressional Speeches

Search Congressional Record floor speeches by official, topic, date range, or keyword. Returns verbatim text from the official government record with origin proof hash. Every speech is directly citable with a GPO source URL.

Input parameters:

- `bioguide_id` (string): Bioguide ID (e.g. L000571 for Lummis, S001184 for Tim Scott)
- `chamber` (string): Filter by chamber
- `date_from` (string): Start date ISO (e.g. 2025-01-03)
- `date_to` (string): End date ISO
- `limit` (integer): Max results
- `official_id` (integer): Official ID from politics_search
- `text` (string): Full-text search within speech content
- `topic` (string): Topic (Cryptocurrency, Healthcare, Immigration, etc.)

### `politics_candidates` (~146 tokens)

Federal Candidates

Registered federal candidates for the 2026 election cycle, filterable by state, office (senate, house, president), party, or presence of a campaign URL. Returns campaign website, social media links, FEC data, and position and speech counts.

Input parameters:

- `has_url` (boolean): Only return candidates with campaign websites
- `limit` (integer): Max results (default 50)
- `office` (string): Filter by office
- `offset` (integer): Pagination offset
- `party` (string): Filter by party (Democrat, Republican, Libertarian, etc.)
- `state` (string): Two-letter state code (e.g. ME, CA, TX)

### `politics_state_votes` (~131 tokens)

State Legislature Votes

Search state legislature votes across 26+ US states. Filter by state, topic, or date. Returns bill title, vote result, yes/no counts.

Input parameters:

- `bill_id` (string): Specific bill identifier (e.g. HB 1234)
- `days` (integer): Look back N days (default 30, max 365)
- `limit` (integer): Max results (default 30, max 100)
- `state` (string): Two-letter state code (CA, TX, NY, etc.)
- `topic` (string): Topic filter (Healthcare, Economy, Education, etc.)

### `politics_municipalities` (~123 tokens)

Search Municipalities

Search US municipalities (cities, towns, villages, counties). Every incorporated place in the US with coordinates. Filter by state, name, or type. Returns website, platform, meeting calendar, and board/commission info where available.

Input parameters:

- `limit` (integer): Max results (default 30)
- `name` (string): Municipality name (partial match)
- `state` (string): Two-letter state code (MA, CA, TX, etc.)
- `type` (string): Place type: city, town, village, borough, county, cdp

### `politics_create_watchlist` (~169 tokens)

Create Watchlist

Creates a Just the Facts watchlist bound to an email address, covering any combination of specific officials, issue topics, and a town with state for local meetings, agendas, and minutes. Sends a double-opt-in confirmation email and returns the bridge workspace URL.

Input parameters:

- `cadence` (string): Digest frequency
- `email` (string, required): Subscriber email (required)
- `name` (string): Watchlist name
- `officials` (array): Official IDs to track
- `report_prompt` (string): Plain-English brief for how the digest is written
- `state` (string): 2-letter state for the town
- `topics` (array): Issue topics (e.g. Crypto, Healthcare)
- `town` (string): Town/city to track local meetings (e.g. Fort Myers)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/global-rootz-politics-officials/politics#diagnostics

## Score history

- 2026-08-03: 76
- 2026-08-02: 75
- 2026-08-01: 75
- 2026-07-31: 74
- 2026-07-30: 72
- 2026-07-29: 68
- 2026-07-28: 67
- 2026-07-27: 66
- 2026-07-26: 66

## Links

- Remote endpoint: https://politics.rootz.global/mcp
- Repository: https://github.com/rootz-global/mcp-servers
- Website: https://politics.rootz.global/
- Changelog RSS feed: https://verifymcp.io/servers/global-rootz-politics-officials/politics/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/global-rootz-politics-officials/politics/changelog.json
- HTML version of this page: https://verifymcp.io/servers/global-rootz-politics-officials/politics
