civic-awareness-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@civic-awareness-mcpShow me recent bills on healthcare in Congress"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Civic Awareness MCP
Two MCP servers for US civic data — one for Congress + federal campaign finance, one for 50-state legislatures.
Servers
Server | Source | Jurisdictions | Package |
| Congress.gov + OpenFEC | US federal |
|
| OpenStates | 50 states + DC |
|
Each server reads/writes-through to a local SQLite store as a TTL cache. Every response includes a sources: { name, url }[] array for provenance. No tool synthesizes summaries — that is the LLM's job.
Related MCP server: LegiScan MCP Server
Tools
civic-federal-mcp (9 tools)
Tool | Kind | What it answers |
| feed | Bills introduced or acted on in the last N days (Congress.gov) |
| feed | Roll-call votes in the last N days, yea/nay/present tallies |
| feed | Federal campaign contributions in a date window (OpenFEC) |
| search | Title search across cached federal bills, votes, contributions |
| entity | Name search across Members of Congress + FEC candidates/committees |
| entity | Entity detail + role history + recent documents |
| entity | Disambiguate a name into one or more Person entity IDs |
| entity | Co-occurrence graph via bills, votes, contributions (depth 1–2) |
| detail | Full roll-call vote with per-legislator positions |
civic-state-mcp (8 tools)
Tool | Kind | What it answers |
| feed | Bills by jurisdiction; filters for sponsor, subject, classification, session, dates |
| feed | Roll-call votes in the last N days, chamber + tally (OpenStates, per jurisdiction) |
| detail | Full bill detail: actions, versions, sponsors, subjects |
| search | Title search across cached state bills |
| entity | Name search across state legislators (OpenStates) |
| entity | Entity detail + role history + recent documents |
| entity | Disambiguate a name into one or more Person entity IDs |
| entity | Co-occurrence graph via shared sponsored bills (depth 1–2) |
Installation
Prerequisites
Node.js ≥ 22
API keys: api.data.gov (covers Congress.gov + OpenFEC), OpenStates — all free tier
Build + run
npm install
npm run build
# federal server
npm run bootstrap:federal
npm run start:federal
# state server
npm run bootstrap:state
npm run start:stateFor development (no build step):
npm run dev:federal
npm run dev:stateData hydration
The server fetches data automatically on cache miss. For bulk pre-population:
# federal
npm run refresh:federal -- --source=congress --max-pages=1
npm run refresh:federal -- --source=openfec --max-pages=1
# state (one jurisdiction)
npm run refresh:state -- --source=openstates --jurisdictions=tx --max-pages=1To prune stale fetch-log rows (recommended monthly):
npm run evict-fetch-logDevelopment
npm test # mocked unit + integration suite (MSW)
npm run test:watch # rerun on change
npm run test:drift # live-API drift tests (requires .env.local)
npm run typecheck # tsc --noEmit
npm run lint # eslint
npm run format # prettier --writeClaude Desktop config
To run both servers locally, add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"civic-federal-mcp": {
"command": "node",
"args": ["/absolute/path/to/civic-awareness-mcp/dist/federal/index.js"],
"env": {
"API_DATA_GOV_KEY": "your-key",
"CIVIC_FEDERAL_DB_PATH": "/absolute/path/to/federal.db"
}
},
"civic-state-mcp": {
"command": "node",
"args": ["/absolute/path/to/civic-awareness-mcp/dist/state/index.js"],
"env": {
"OPENSTATES_API_KEY": "your-key",
"CIVIC_STATE_DB_PATH": "/absolute/path/to/state.db"
}
}
}
}Environment variables
Variable | Server | Description |
| federal | api.data.gov key (Congress.gov + OpenFEC) |
| state | OpenStates v3 API key |
| federal | SQLite path (default |
| state | SQLite path (default |
| both | Optional daily API spend cap (unused by default) |
| both |
|
CI
Four workflows in .github/workflows/:
ci.yml— format, lint, typecheck, tests, build, MCP stdio smoke. Matrix on Node 22/24. Runs on push tomainand on every PR.codeql.yml— CodeQL static analysis. Runs on push/PR/weekly.scorecard.yml— OpenSSF Scorecard. Runs on push/weekly.nightly-drift.yml— live-API shape checks against OpenStates, Congress.gov, OpenFEC. Runs daily at 09:00 UTC and on-demand viaworkflow_dispatch.
The drift workflow requires repo secrets OPENSTATES_API_KEY and API_DATA_GOV_KEY (separate from user keys — those are configured locally via .env.local).
Security
See SECURITY.md. Highlights:
Never writes to upstream APIs
All sources are sanctioned free-tier APIs with documented rate limits
Rate-limited fetch with per-host token bucket;
Retry-AfterhonouredZod-validated inputs; parameterized SQLite queries
No contributor PII in responses
License
MIT — see LICENSE.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceEnables access to comprehensive U.S. legislative and governmental data from GovInfo.gov and Congress.gov APIs, including bills, Congressional records, Federal Register documents, member information, and committee activities.Last updated1
- AlicenseAqualityBmaintenanceProvides access to legislative data from all 50 US states through the LegiScan API, enabling comprehensive search and retrieval of bills, votes, legislators, and legislative session information.Last updated10289MIT
- Alicense-qualityDmaintenanceEnables querying U.S. legislative data from Congress.gov API using MCP resources for direct lookups and tools for searching and retrieving related data.Last updated8MIT
- Alicense-qualityCmaintenanceAccess U.S. state legislative data including bills, legislators, and votes across all 50 states via the OpenStates API.Last updated1MIT
Related MCP Connectors
Search bills and speaker-attributed hearing transcripts across all 50 US state legislatures.
Access FEC campaign finance data. Query data about candidates, money trails, and election filings.
Search bills, legislators, committees, and events across all 50 US states, DC, and 5 US territories.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/julianken/civic-awareness-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server