# io.github.civdotiq/civiq (remote · civdotiq.org)

U.S. civic data for AI agents: reps, votes, bills, finance, lobbying, cited gov sources. 47 tools.

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

## Components

- remote · `civdotiq.org`: 72/100 (this document), [markdown](https://verifymcp.io/servers/civdotiq-civiq/api-mcp.md), [page](https://verifymcp.io/servers/civdotiq-civiq/api-mcp)

## Channel facts

- Endpoint: `https://civdotiq.org/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.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**: 63/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 47 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 88/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Tool/resource definitions use about 3785 tokens (~80/item across 47 items; 47 tools + 0 resources), lean.
  - 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**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% 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 civdotiq-civiq https://civdotiq.org/api/mcp
```

### Codex

```toml
[mcp_servers.civdotiq-civiq]
url = "https://civdotiq.org/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "civdotiq-civiq": {
      "type": "remote",
      "url": "https://civdotiq.org/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add civdotiq-civiq --url https://civdotiq.org/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  civdotiq-civiq:
    url: "https://civdotiq.org/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "civdotiq-civiq": {
      "type": "http",
      "url": "https://civdotiq.org/api/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 72, +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-02 (score 71, +7)

- [functional improvement] Schema quality: unverified → excellent

### 2026-08-01 (score 64, −6)

- [functional regression] Schema quality: excellent → unverified

### 2026-07-31 (score 70, 0)

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

### 2026-07-30 (score 70, 0)

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

### 2026-07-29 (score 70, +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 69, +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 68, 0)

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

## MCP tools (47)

### `lookup_representatives` (~121 tokens)

Representative lookup by address

Find federal legislators by full street address (most accurate) or by state. A full address resolves the exact congressional district via Census Geocoder. Returns bioguideId, name, party, state, district, chamber.

Input parameters:

- `city` (string, required): City name
- `state` (string, required): Two-letter state code (e.g., MI)
- `street` (string, required): Street address (e.g., "123 Main St") — required for district-level lookup
- `zip` (string): 5-digit ZIP code — improves geocoding accuracy

### `list_state_delegation` (~42 tokens)

State delegation list

List all federal legislators for a state (both senators and all House representatives).

Input parameters:

- `state` (string, required): Two-letter state code (e.g., MI)

### `get_representative_profile` (~53 tokens)

Legislator profile

Get detailed profile for a specific legislator including committees, social media, biography, and contact info.

Input parameters:

- `bioguideId` (string, required): Congress bioguide identifier (e.g., P000197)

### `compare_legislators` (~44 tokens)

Legislator comparison

Compare multiple legislators side-by-side. Returns profiles for each bioguideId.

Input parameters:

- `bioguideIds` (array, required): Array of bioguide identifiers to compare

### `search_legislation` (~151 tokens)

Bill search

Search for bills in Congress. Provide `query` for full-text keyword/topic search (e.g. "broadband", "veterans healthcare") via GovInfo's full-text bill index; results include a congress-type-number id you can pass to get_bill_details. Without `query`, returns the most recently updated bills (optionally filtered by type).

Input parameters:

- `congress` (integer): Congress number (defaults to the current Congress)
- `limit` (integer): Max results, default 20
- `query` (string): Keyword or topic to full-text search bill text (e.g. "broadband"). Omit to list most recent bills.
- `type` (string): Bill type filter

### `get_bill_details` (~66 tokens)

Bill details

Get detailed information about a specific bill including sponsor, cosponsors, committees, actions, and policy area.

Input parameters:

- `billId` (string, required): Bill identifier in congress-type-number format (e.g., "119-hr-1" for H.R.1 in 119th Congress)

### `get_voting_history` (~75 tokens)

Voting history

Get a legislator's recent voting record. Returns vote ID, bill info, position, result, and date.

Input parameters:

- `bioguideId` (string, required): Congress bioguide identifier
- `chamber` (string, required): Chamber of the legislator
- `limit` (integer): Max votes to return, default 20

### `get_vote_record` (~71 tokens)

House roll call vote

Get details about a specific House roll call vote including all member positions. Note: only House votes are available via this tool.

Input parameters:

- `congress` (integer): Congress number, default 119
- `rollCallNumber` (number, required): Roll call number
- `session` (integer): Session number, default current

### `get_campaign_finance` (~61 tokens)

Campaign finance summary

Get FEC campaign finance data for a legislator including total raised/spent, PAC contributions, and industry breakdown.

Input parameters:

- `bioguideId` (string, required): Congress bioguide identifier
- `cycle` (integer): Election cycle year, default current

### `search_lobbying` (~88 tokens)

Lobbying filings search

Search Senate LDA lobbying filings. Returns registrant, client, spending amount, and issue codes. Returns a small unrepresentative sample of each quarter, not the full set — see the `coverage` field on the response before using the numbers.

Input parameters:

- `quarter` (number): Quarter (1-4), default most recent
- `year` (integer): Filing year, default current

### `get_federal_spending` (~57 tokens)

Federal spending lookup

Get federal contracts and grants for a congressional district from USASpending.gov.

Input parameters:

- `district` (string): District number (e.g., 05)
- `state` (string, required): Two-letter state code (e.g., MI)

### `analyze_vote_prediction` (~56 tokens)

Vote prediction analysis

ML-based vote prediction analysis. Returns independence score (how often a legislator votes against their donor-predicted position), SHAP factors, and notable deviations.

Input parameters:

- `bioguideId` (string, required): Congress bioguide identifier

### `get_influence_chain` (~51 tokens)

Influence chain trace

Trace lobbying money through contributions, committee assignments, and votes for a legislator. Shows the path from lobbying org to legislative outcome.

Input parameters:

- `bioguideId` (string, required): Congress bioguide identifier

### `analyze_district_comprehensive` (~97 tokens)

District cross-domain profile

District representative info combined with STATE-level context across domains: environment (EPA), safety (FEMA, CFPB), health (CMS), economy (EIA, education, research, banking). Domain counts are statewide aggregates — these sources do not publish district-level rollups.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., PA)

### `analyze_industry_regulatory_landscape` (~89 tokens)

Industry regulatory landscape

For a given industry sector: all regulatory actions (EPA, FDA, NHTSA), lobbying filings, campaign contributions, and committee jurisdiction. Maps sector to agencies and oversight committees.

Input parameters:

- `sector` (string, required): Industry sector (e.g., Health, Energy, Finance, Defense, Transportation, Agribusiness)
- `stateCode` (string): Optional state filter for regulatory actions

### `analyze_policy_area_ecosystem` (~74 tokens)

Policy area ecosystem

For a Congress.gov policy area: related agencies, industry sectors, lobbying activity, committee oversight, and Federal Register keywords. Uses policy-area-map as the cross-domain join hub.

Input parameters:

- `policyArea` (string, required): Congress.gov policy area (e.g., "Health", "Energy", "Finance and Financial Sector")

### `get_committee_info` (~49 tokens)

Committee details

Get detailed information about a congressional committee including members, jurisdiction, and subcommittees.

Input parameters:

- `committeeId` (string, required): Committee identifier (e.g., HSIF for House Energy & Commerce)

### `get_federal_register` (~81 tokens)

Federal Register search

Search Federal Register for rules, proposed rules, notices, and executive orders.

Input parameters:

- `agency` (string): Agency slug (e.g., "environmental-protection-agency", "department-of-defense")
- `limit` (integer): Max results, default 20
- `query` (string): Search term
- `type` (string): Document type

### `get_district_info` (~58 tokens)

District profile

Get comprehensive information about a congressional district including demographics, economics, and representative.

Input parameters:

- `districtNumber` (string, required): District number (e.g., 07)
- `stateCode` (string, required): Two-letter state code (e.g., MI)

### `search_epa_facilities` (~97 tokens)

EPA facility search

Search EPA-regulated facilities by state, ZIP, or SIC code. Returns facility name, address, compliance status, violations, and penalties.

Input parameters:

- `limit` (integer): Max results (default 20)
- `sicCode` (string): 4-digit SIC code to filter by industry
- `state` (string, required): Two-letter state code (e.g., CA)
- `zip` (string): 5-digit ZIP code

### `get_district_environmental_profile` (~68 tokens)

District environmental profile

Environmental profile for a congressional district: regulated facilities, active violations, Superfund sites, toxic releases. Includes serving representative.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., MI)

### `analyze_environmental_influence` (~88 tokens)

Environmental influence analysis

Cross-reference EPA violations in a district with lobbying and campaign finance. Maps facility SIC codes to sectors, finds lobbying in those sectors by the district rep, checks EPA-oversight committee membership overlap, and identifies environmental legislation votes.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., OH)

### `get_climate_data` (~55 tokens)

State climate normals

NOAA climate normals for a state: average temperature, min/max temperatures, precipitation, and snowfall from 30-year normal period. Requires NOAA_TOKEN.

Input parameters:

- `state` (string, required): Two-letter state code (e.g., CO)

### `get_state_climate_profile` (~73 tokens)

State climate profile

Climate profile for a state: NOAA climate normals, severe weather event history, and the state delegation's Environment committee membership for climate policy context.

Input parameters:

- `stateCode` (string, required): Two-letter state code (e.g., FL)
- `year` (integer): Year for severe weather events (default: last year)

### `search_fema_disasters` (~111 tokens)

FEMA disaster search

Search FEMA disaster declarations by state, year, or type (DR=Major Disaster, EM=Emergency, FM=Fire Management). Returns declaration number, dates, programs, and designated areas.

Input parameters:

- `limit` (integer): Max results (default 50)
- `state` (string, required): Two-letter state code (e.g., CA)
- `type` (string): Declaration type: DR (Major Disaster), EM (Emergency), FM (Fire Management)
- `year` (integer): Fiscal year declared

### `get_district_disaster_history` (~90 tokens)

District disaster history

Disaster history for a congressional district: FEMA declarations, recurring hazard types, total assistance amounts. Cross-references with USASpending disaster relief in the district.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., FL)
- `yearsBack` (integer): Years of history (default 10)

### `search_crime_statistics` (~101 tokens)

Crime statistics search

FBI UCR crime statistics by state and offense type. Returns actual counts, rates per 100,000, clearances, and national comparison. Offense types: violent-crime, property-crime, HOM, RPE, ROB, ASS, BUR, LAR, MVT, ARS.

Input parameters:

- `state` (string, required): Two-letter state code (e.g., CA)
- `year` (integer): Year (default: most recent available)

### `get_state_public_safety_profile` (~71 tokens)

State public safety profile

State crime trends with national comparison, Judiciary committee memberships from the state's congressional delegation, and relevant policy area context for criminal justice legislation.

Input parameters:

- `stateCode` (string, required): Two-letter state code (e.g., TX)
- `yearsBack` (integer): Years of trend data (default 5)

### `search_consumer_complaints` (~120 tokens)

Consumer complaint search

Search CFPB consumer complaints by company, product, state, or date range. Returns complaint details including issue, response, and timeliness.

Input parameters:

- `company` (string): Company name to filter by
- `dateFrom` (string): Start date (YYYY-MM-DD)
- `dateTo` (string): End date (YYYY-MM-DD)
- `product` (string): Product type (e.g., "Credit reporting")
- `size` (integer): Max results (default 25)
- `state` (string): Two-letter state code

### `get_district_consumer_complaints` (~72 tokens)

District consumer complaints

Consumer complaints aggregated by congressional district using ZIP-district mapping. Shows top complained-about companies, products, and issues for a district.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., PA)

### `analyze_consumer_protection_influence` (~88 tokens)

Consumer protection influence

Cross-reference top complained-about companies in a state with lobbying registrants (entity resolution fuzzy match) and campaign contributions to the district representative. Checks rep votes on Finance-related legislation. Shows correlations only — not causation.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., IL)

### `get_housing_affordability` (~72 tokens)

Housing affordability data

HUD Fair Market Rents and income limits by county FIPS code. Returns rental rates by bedroom count and income thresholds (very low, extremely low, low) by household size.

Input parameters:

- `countyFips` (string, required): County FIPS code (e.g., 06037 for Los Angeles County)

### `get_district_housing_profile` (~76 tokens)

District housing profile

Housing affordability profile for a congressional district: HUD Fair Market Rents and income limits for district counties, representative's Housing committee membership, and relevant housing policy context.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., NY)

### `search_vehicle_recalls` (~91 tokens)

Vehicle recall search

Search NHTSA vehicle recalls by make, model, and/or year. Returns campaign number, affected component, safety summary, consequence, remedy, and whether to park the vehicle immediately.

Input parameters:

- `make` (string): Vehicle make (e.g., Ford, Toyota)
- `model` (string): Vehicle model (e.g., F-150, Camry)
- `year` (integer): Model year

### `search_vehicle_complaints` (~101 tokens)

Vehicle complaint search

Search NHTSA consumer complaints about vehicles by make, model, and/or component. Returns incident details including injuries, deaths, crashes, fires, and complaint summary.

Input parameters:

- `component` (string): Vehicle component (e.g., STEERING, BRAKES, AIR BAGS)
- `make` (string): Vehicle make (e.g., Ford, Toyota)
- `model` (string): Vehicle model (e.g., F-150, Camry)

### `search_healthcare_providers` (~87 tokens)

Healthcare provider search

Search CMS hospitals and nursing homes by state with quality ratings. Returns overall star ratings, safety/mortality comparisons for hospitals, and inspection/staffing ratings for nursing homes.

Input parameters:

- `city` (string): City name to filter results
- `state` (string, required): Two-letter state code (e.g., CA)
- `type` (string): Provider type (default: both)

### `get_district_healthcare_profile` (~72 tokens)

District healthcare profile

Healthcare infrastructure for a congressional district: CMS hospitals and nursing homes with quality ratings, representative's Health committee membership, and pending health legislation context.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., TX)

### `get_state_energy_profile` (~55 tokens)

State energy profile

State energy profile from EIA: total consumption, production, electricity generation, renewable percentage, and top energy sources. Returns production mix and trends.

Input parameters:

- `state` (string, required): Two-letter state code (e.g., TX)

### `analyze_energy_policy_influence` (~82 tokens)

Energy policy influence

Cross-reference state energy profile with energy sector lobbying registrants (entity resolution fuzzy match), Energy/Commerce committee membership, campaign contributions, and energy legislation votes. Shows correlations only — not causation.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., TX)

### `search_colleges` (~84 tokens)

College search

Search College Scorecard for higher education institutions by state and/or name. Returns admission rate, graduation rate, average net price, median earnings, median debt, and size.

Input parameters:

- `limit` (integer): Max results (default 25)
- `name` (string): Institution name (partial match)
- `state` (string): Two-letter state code (e.g., MA)

### `get_district_education_profile` (~74 tokens)

District education profile

Higher education landscape for a congressional district: colleges/universities by state with outcomes data, representative's Education committee membership, and relevant education policy context.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., OH)

### `search_nih_grants` (~90 tokens)

NIH grant search

Search NIH-funded research grants by state, institution, or topic. Returns project title, principal investigator, award amount, NIH institute, and organization.

Input parameters:

- `institution` (string): Research institution name
- `limit` (integer): Max results (default 25)
- `state` (string): Two-letter state code (e.g., MD)
- `topic` (string): Research topic or keyword

### `get_district_research_profile` (~76 tokens)

District research profile

NIH-funded research in a congressional district: grants by state, top institutions, top-funded topics, total award amounts, and representative's Science/Health committee membership.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., MA)

### `search_fdic_institutions` (~95 tokens)

FDIC institution search

Search FDIC-insured banks and financial institutions by state, name, or city. Returns total assets, deposits, number of offices, charter class, and regulator.

Input parameters:

- `city` (string): City name
- `limit` (integer): Max results (default 25)
- `name` (string): Institution name (partial match)
- `state` (string): Two-letter state code (e.g., NY)

### `get_district_banking_profile` (~75 tokens)

District banking profile

Banking landscape for a congressional district: FDIC-insured institutions, total deposits/assets, recent bank failures, and representative's Banking/Financial Services committee membership.

Input parameters:

- `districtNumber` (integer, required): District number (0 for at-large)
- `stateCode` (string, required): Two-letter state code (e.g., GA)

### `get_federal_fiscal_data` (~57 tokens)

Federal fiscal data

Federal fiscal overview from Treasury: national debt, monthly revenue by category, and spending by category. Returns current figures and fiscal year totals.

Input parameters:

- `year` (integer): Fiscal year for revenue/spending (default: current year)

### `get_federal_debt_context` (~44 tokens)

Federal debt context

Current federal debt with context: total public debt outstanding, debt held by public vs intragovernmental holdings, and record date. Useful for fiscal policy discussions.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/civdotiq-civiq/api-mcp#diagnostics

## Score history

- 2026-08-03: 72
- 2026-08-02: 71
- 2026-08-01: 64
- 2026-07-31: 70
- 2026-07-30: 70
- 2026-07-29: 70
- 2026-07-28: 69
- 2026-07-27: 68
- 2026-07-26: 68

## Links

- Remote endpoint: https://civdotiq.org/api/mcp
- Repository: https://github.com/civdotiq/civ.iq
- Website: https://civdotiq.org/mcp
- Changelog RSS feed: https://verifymcp.io/servers/civdotiq-civiq/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/civdotiq-civiq/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/civdotiq-civiq/api-mcp
