Skip to content

global.rootz.politics/officials

by politics.rootz.global · remote · no sign-in to list tools · v0.3.0 · published by global.rootz.politics

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

Changes · 12

30 tools: 12 change things and 18 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

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

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "politics_bridge_compare" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "politics_bridge_compare" says "compare": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

30 tools

Changes things 12Claude Code: ask
  • politics_billDetails of a US bill or resolution: vote breakdown, sponsors, cosponsors, status, and origin proof.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Bill Details
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_bill_textOne signed, bounded slice of a bill's full legislative text, addressed by part number or section label.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Bill Text Slice
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_bill_tocSection index for a bill: every "SEC.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Bill Section Index
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_bridge_compareCompare multiple politicians side-by-side on a bridge page — positions, party, office, campaign finance.1 finding

    Why it is in this group

    • The name "politics_bridge_compare" says "compare": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "politics_bridge_compare" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false}; The name "politics_bridge_compare" says "compare": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Compare multiple politicians side-by-side on a bridge page — positions, party, office, campaign finance. Optionally filter to a specific topic.

    Annotations the server declares

    • title: Save Comparison Set
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • politics_bridge_createCreate a citizen bridge page — a personalized workspace for tracking representatives, comparing positions, and taking action (write letters, log calls).No findings

    Why it is in this group

    • The name "politics_bridge_create" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create Bridge Workspace
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • politics_bridge_letterDraft a letter to a politician on the citizen's bridge page.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Draft Letter to Official
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • politics_bridge_sessionCurrent state of a citizen bridge workspace: tracked officials, saved comparisons, drafted actions, and messages.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Current state of a citizen bridge workspace: tracked officials, saved comparisons, drafted actions, and messages.

    Annotations the server declares

    • title: Read Bridge Workspace
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_candidatesRegistered federal candidates for the 2026 election cycle, filterable by state, office (senate, house, president), party, or presence of a campaign URL.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Federal Candidates
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_coverageCoverage map: per-state, per-dataset completeness (officials by level, positions, finance, state-legislative votes).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Coverage map: per-state, per-dataset completeness (officials by level, positions, finance, state-legislative votes). Shows WHERE the data is deep (federal — complete) vs sparse (local). Use it to know whether silence means "no data captured" rather than "nothing there".

    Annotations the server declares

    • title: politics_coverage
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_create_watchlistCreates 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 m…No findings

    Why it is in this group

    • The name "politics_create_watchlist" says "create": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Create Watchlist
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: false
  • politics_positionsPolicy positions across officials by topic, covering who supports or opposes issues such as crypto, stablecoins, AI, healthcare, and guns.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Policy Positions by Topic
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_representRepresentation lookup for a US ZIP code: both U.S.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • title: Find My Representatives
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
Only reads 18Claude Code: allow
  • politics_alignmentCompare an official's stated positions against their actual roll-call votes, per topic — what they SAY vs how they VOTED, both source-linked.No findings

    Why it is in this group

    • The description's first verb is "compare": a word for reading.
    Description, as the server wrote it
    Compare an official's stated positions against their actual roll-call votes, per topic — what they SAY vs how they VOTED, both source-linked. Does NOT label agreement/contradiction (you judge and cite); surfaces the juxtaposition no unsigned source can. Use official id.

    Annotations the server declares

    • title: politics_alignment
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_by_stateGet all current officials for a US state — federal senators and representatives, state legislators, and any indexed local officials.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get all current officials for a US state — federal senators and representatives, state legislators, and any indexed local officials. Organized by government level.

    Annotations the server declares

    • title: Officials by State
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_candidate_feedGet 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 sour…No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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").

    Annotations the server declares

    • title: Candidate Data Feed
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_changesGet recent changes detected across all politicians — position shifts, website updates, new data.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get recent changes detected across all politicians — position shifts, website updates, new data. Each change links to the before/after snapshots with origin proof.

    Annotations the server declares

    • title: Recent Changes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_methodologyGet the full transparency methodology — how we collect, assess, extract, sign, and verify political data.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Collection Methodology
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_municipalitiesSearch US municipalities (cities, towns, villages, counties).No findings

    Why it is in this group

    • The description's first verb is "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Search Municipalities
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_officialGet full details for a specific official by ID — biography, party, office, policy positions, committee assignments, campaign finance, social media, and contact info.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Official Profile
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_originGet origin archive statistics — total snapshots, changes detected, origin proofs recorded, unique URLs tracked.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get origin archive statistics — total snapshots, changes detected, origin proofs recorded, unique URLs tracked. Shows the depth of the political wayback machine.

    Annotations the server declares

    • title: Origin Archive Statistics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_pollGet one poll in full: pollster, sponsor, field dates, population, sample size, margin of error, mode, the VERBATIM question(s) asked, per-option toplines, the first-party source_ur…No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get one poll in full: pollster, sponsor, field dates, population, sample size, margin of error, mode, the VERBATIM question(s) asked, per-option toplines, the first-party source_url, and the signature (poll_proof) that binds the exact wording and numbers. This is the ground truth to check any claim about a poll against.

    Annotations the server declares

    • title: politics_poll
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_pollsSearch the SIGNED public-poll archive.No findings

    Why it is in this group

    • The description's first verb is "search": a word for reading.
    Description, as the server wrote it
    Search the SIGNED public-poll archive. Unlike aggregators, every poll keeps the EXACT question wording, population base (LV/RV/adults), sample size, margin of error, mode, and per-option toplines — first-party sourced, snapshot-hashed, and cryptographically signed (verifiable). Filter by race_key, state, subject (e.g. "approval", "Senate"), pollster, or since (ISO date). Returns a list; call politics_poll {id} for full detail + signature. Use this when a question hinges on what a poll ACTUALLY asked vs how it was reported.

    Annotations the server declares

    • title: politics_polls
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_provenanceGet the complete origin proof chain for an official — every data source, content hash, quality assessment, snapshot history, and verification instructions.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Provenance Chain
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_resolveResolve a messy name string (e.g.No findings

    Why it is in this group

    • The name "politics_resolve" says "resolve": a word for reading.
    Description, as the server wrote it
    Resolve a messy name string (e.g. "Rep. Johnson", "cornyn") to a canonical official — returns the best match with a 0-1 confidence score and ranked alternatives. Use this first when you have a name but not an ID; then call politics_official with best.id. Add state to disambiguate.

    Annotations the server declares

    • title: politics_resolve
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_speechesSearch Congressional Record floor speeches by official, topic, date range, or keyword.No findings

    Why it is in this group

    • The description's first verb is "search": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Congressional Speeches
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_state_votesSearch state legislature votes across 26+ US states.No findings

    Why it is in this group

    • The description's first verb is "search": a word for reading.
    Description, as the server wrote it
    Search state legislature votes across 26+ US states. Filter by state, topic, or date. Returns bill title, vote result, yes/no counts.

    Annotations the server declares

    • title: State Legislature Votes
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_statsGet summary statistics for the politics.rootz.global database — total officials, breakdown by level, party, state, and chamber.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    Get summary statistics for the politics.rootz.global database — total officials, breakdown by level, party, state, and chamber. Shows coverage completeness.

    Annotations the server declares

    • title: Database Statistics
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false
  • politics_timelineGet the full origin timeline for a politician — every page snapshot, every position change, every data source with hash proof.No findings

    Why it is in this group

    • The description's first verb is "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • title: Official Timeline
    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.3.0. Values in angle brackets are yours to fill in.

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

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__officials__politics_search",
      "mcp__officials__politics_official",
      "mcp__officials__politics_resolve",
      "mcp__officials__politics_by_state",
      "mcp__officials__politics_stats",
      "mcp__officials__politics_timeline",
      "mcp__officials__politics_changes",
      "mcp__officials__politics_origin",
      "mcp__officials__politics_bills_search",
      "mcp__officials__politics_candidate_feed",
      "mcp__officials__politics_alignment",
      "mcp__officials__politics_methodology",
      "mcp__officials__politics_provenance",
      "mcp__officials__politics_speeches",
      "mcp__officials__politics_state_votes",
      "mcp__officials__politics_municipalities",
      "mcp__officials__politics_polls",
      "mcp__officials__politics_poll"
    ],
    "ask": [
      "mcp__officials__politics_represent",
      "mcp__officials__politics_positions",
      "mcp__officials__politics_bridge_create",
      "mcp__officials__politics_bridge_session",
      "mcp__officials__politics_bridge_compare",
      "mcp__officials__politics_bridge_letter",
      "mcp__officials__politics_bill",
      "mcp__officials__politics_bill_toc",
      "mcp__officials__politics_bill_text",
      "mcp__officials__politics_coverage",
      "mcp__officials__politics_candidates",
      "mcp__officials__politics_create_watchlist"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as officials. Review it before you use it.