CongressMCP
One Streamable HTTP MCP endpoint over CongressMCP’s independently operated federal and state legislative data snapshot.
What the product exposes
The customer MCP starts with forty-three focused tools for legislative research and expands to 221 tools when every workspace, automation, and Watch Mode permission is approved. Federal, state, CRM, news, policy-inbox intelligence, automation, and live-browser capabilities remain one endpoint—not separate servers or customer integrations.
Workspace connections share the app's federal bill tracker, notes, amendment watches, provisions, and bill or issue whip boards. Your AI can read the board and member evidence, record confirmed assessments, propose changes for review, and save follow-ups. Changes appear in the same live workspace. Read-only connections cannot change records; workspace and coalition permissions still apply. State research is available separately in the legislative catalog.
whoami returns the same account_id, email, and plan as GET /auth/me and the browser workspace session.get_bill_context composes metadata, sponsors, actions, summaries, subjects, text versions, related bills, and available structured intelligence.get_member_context composes service terms, committee assignments, legislation, voting statistics, and effectiveness measures.get_vote_context returns the roll call, totals, party breakdown, and copied member positions.list_replica_datasets returns every available dataset id and description.query_replica_dataset returns a paginated page with exact-match filters.search_replica_dataset adds indexed document search, column text matching, filters, and ordering.get_replica_record returns the first exact record matching one or more fields.get_replica_status reports stream timestamps, audits, source counts, replica counts, and parity state.get_contact_360, get_account_360, profile, social-audience, quote, affiliation, note, and activity tools maintain reusable people and organization dossiers.Catalog families include federal bills, actions, sponsors and cosponsors, summaries, text versions, subjects, related bills, votes, member positions, members and terms, committees and memberships, amendments, hearings, nominations, treaties, public laws, derived networks, elections, and the state legislature mirrors.
Account and access
- Open the guided connector and choose Grok, Grok Bot, Cursor, Codex, Claude, Hermes, an eligible ChatGPT web workspace, or another MCP client.
- Use the client-specific button or copy the Streamable HTTP endpoint.
- Sign in by email and approve the permissions requested by that client. New customers can create an account without leaving the connector flow.
- Try one of the ready-made research prompts, then manage connected apps, usage, coverage, keys, and billing at /account.
OAuth 2.1 with PKCE is the preferred path. Access tokens are short-lived, refresh tokens rotate, and customers can revoke an entire connected app from their account. API keys remain available for clients that only support bearer headers.
CRM, news tracking, and live browser work
Grant workspace.read and workspace.write when you want an AI client to do more than research. Those scopes expose tenant-bound tools for contacts, organizations, issues, tracked bills, activities, briefings, press analytics, people profiles, social-audience snapshots, saved quotes, news monitors, media capture, review queues, comments, reactions, and notifications.
News items retain media type, source class, workflow status, ordered byline metadata, quoted and mentioned people, confidence-bearing entity annotations, attachments, geography, topic tags, full text, and review history. get_contact_360 reads a person's identity, affiliations, attributes, issue roles, social reach, reusable quotes, touchpoints, and authored/quoted/mentioned coverage in one call; get_account_360 does the same for organizations, positions, people, resources, and coverage.
Create a daily monitor for KOSA and Senator Smith.
Capture the five most important stories, credit each author,
link quoted stakeholders, and create response tasks where needed.
Open the Newsroom so I can watch the records arrive.
Policy inbox: let your AI bring the messages
Your authorized AI client—not CongressMCP—reads your Gmail, Outlook, Politico Pro, Quorum, LegiStorm, signed-in browser page, or export. CongressMCP never asks for or stores the source's password, mailbox connection, vendor session, browser cookie, or provider cursor. The AI selects the records relevant to your assignment, removes credentials and authenticated or unsubscribe links, and sends only that selected evidence plus an attested coverage receipt. CongressMCP privately stores the credential-redacted evidence, merges duplicate coverage into durable story clusters, attaches members, contacts, organizations, issues, and bills, and ranks the resulting digest against your priorities.
get_policy_inbox_work_planderives the exact queue from each registered source's full scan history. Call it withinclude_inactive=truebefore changing a source so an existing pause or archive is visible. Inspect every listed running scan first, but resume, import into, or close only a run carrying theclient_run_keyretained from this AI's own begin call in the current invocation, or after the user explicitly directs recovery or handoff. Otherwise leave it unchanged. Then repair unsafe coverage and scan never-checked or due sources. A source that is current is left alone; a paused or archived source is not scanned. Its completeness percentage covers registered labels only because CongressMCP cannot discover the user's external sources.configure_policy_inbox_sourceregisters only a missing, user-identified, non-secret source label and its desired cadence, or updates it when the user explicitly asks. Omitted optional settings preserve an existing source and receive documented defaults only on first registration. The cadence only controls due-work calculation; it does not wake an AI or connect CongressMCP to an inbox or vendor. Never use an email address, URL, account identifier, query, credential, or instruction as a source label, and never silently reactivate a paused or archived source.begin_policy_inbox_scancreates an idempotent, bounded scan run for a plan-recommended repair, first scan, or due scan. It resumes from the last honestly completed coverage boundary with a small safety overlap. Do not send a mailbox credential, provider cursor, or skipped-message content; the server rejects common credential patterns before persistence.get_policy_priority_contextgives the AI your current focus, priority issues, tracked bills, pinned official groups, and saved alert rules before it scans.import_inbox_messagesstores a transport-safe batch of credential-redacted selected evidence and the caller AI's extracted story clusters. Every selected message must yield at least one story with an explicit 0–100 priority score and at least one evidence-grounded reason; a message is never stored merely to prove it was examined. The server rejects common secret-bearing fields, headers, and URLs before persistence, and converts a supplied external message identifier to a source-bound pseudonym instead of retaining the raw provider ID. When a scan run ID is present, every message must include the source record's authoritativereceived_atinside that run's inclusive requested window; equality with either endpoint is valid. Never invent a timestamp. A record without one may be imported separately without a scan run ID, but that ad hoc import cannot advance or count toward scan coverage. A changed retry with the same stable source-record identity replaces retained message fields; story-cluster enrichment is additive across contributing messages so one source cannot erase another source's evidence.get_policy_inbox_scan_statuslets the originating AI inspect and safely resume its running scan after a disconnect without exposing subjects, bodies, credentials, or vendor sessions. Another AI may take over only after the user explicitly directs that recovery or handoff.complete_policy_inbox_scanrecords the exact covered-through boundary, including a successful scan that selected zero messages. It refuses to call a run complete while selected-message failures remain or any persisted selected message lacks a ranked intelligence story.get_policy_digestreturns the newest and highest-priority developments first, with grouped citations and entity filters.search_policy_intelligencesearches the cumulative story memory across all time;get_policy_intelligence_itemopens one cluster and pages through its complete citation history without exposing a raw email body.get_policy_inbox_messageretrieves the stored credential-redacted evidence only when a user explicitly asks to inspect it, with a required workspace authorization check and an audit entry.update_policy_intelligence_itemrecords the user's priority correction, review state, reasons, and suggested next actions against the exactevidence_revisionandsource_countinspected. New evidence resurfaces a reviewed story without erasing its workflow state.
Use the inbox I authorized you to read. Get the CongressMCP work plan including
inactive sources; if this source is missing, register only a non-secret label
and daily cadence. Do not change or reactivate an existing source. Get the
active work plan and follow its resume, repair, or begin action before loading
my priority context. Read the exact window yourself, import only relevant
credential-redacted evidence, close the scan honestly even when empty, and
show me the urgent digest with citations. Do not take external action.
Workspace tools (paid plans)
Every OAuth authorization names the permissions the AI client is requesting. Research is always separate from workspace writes, automation, and browser control, so you can approve only what that client should do.
| Scope | What it allows | Availability |
|---|---|---|
legislative.read | Federal and state legislative research tools (bills, members, votes, committees, sessions, datasets). The legacy read scope is an alias. | All plans |
personal.read | Read your own personal settings, representatives, watchlist and alert preferences. | All plans |
personal.write | Save personal settings and follow or unfollow bills in your own personal workspaces. Explorer allows 10 active follows and one daily in-app digest for enabled alerts. | All plans, within plan limits |
workspace.read | Read your tenant's contacts, organizations, issues, tracked bills, news, briefings, and other workspace records. | Paid plans |
workspace.write | Create and update workspace records: notes, tasks, tracked bills, CRM entries, monitors, review queues, comments. | Paid plans |
automation.run | Run scheduled and bulk workflows (monitors, cascades, playbooks) on the workspace's behalf. | Paid plans · opt-in |
browser.drive | Watch Mode: navigate, highlight, and refresh an open CongressMCP browser tab while the AI works. | Paid plans · on by default |
Explorer includes legislative research, personal state/interests/district settings, sourced representatives, and 10 active personal bill follows across personal workspaces. Following preserves history; separately enabled bill alerts are combined into one daily in-app digest. Workspace, automation, and browser scopes require a paid plan; an Explorer account can approve them, but the tools return a plan-required result until the account is upgraded. The default connection permissions are legislative.read, personal.read, personal.write, workspace.read, workspace.write, and browser.drive (Watch Mode) — each is still a separate line on the consent screen, and you can pause browser control from the Live AI Session rail at any time without stopping the underlying work. automation.run stays opt-in.
Reauthorizing an older connection. Connections created before workspace permissions existed hold only legislative.read. Your account page lists the granted scopes for every connected app and flags connections that can be upgraded. To add missing personal or workspace scopes, disconnect the app there (or remove the server in the client), then add CongressMCP again in the client so it walks a fresh OAuth authorization and shows the new permission prompt. Access tokens are short-lived and refresh tokens rotate, so the old grant cannot silently widen.
Saved research
Paid workspaces keep research as one queryable primitive. When you ask an AI client to save, remember, bookmark, or keep something, it stores a research item with a kind (note, bill, member, vote, state_bill, document, query, or url), a subject_ref that links back to the record, a title and body, tags, an optional source URL, and a JSON payload for saved query parameters or a record snapshot. Items are full-text indexed (ranked websearch_to_tsquery search) and embedded for semantic search, and they appear live at /app/research with no refresh.
workspace.read:list_research(kind, tags any/all, subject_ref, since, archived, paging),search_research(semantic=truefalls back to full-text search with a note when embeddings are unavailable),get_research.workspace.write:save_research,update_research,archive_research(soft delete; audit trail retained).
The same rows are available over REST with a session or API key: GET/POST /api/v1/workspaces/:wsId/research, GET /api/v1/workspaces/:wsId/research/search?q=, and GET/PATCH/DELETE /api/v1/workspaces/:wsId/research/:id. get_session_kickoff returns the five most recently saved items as recent_research.
Connect an MCP client
The visual connection guide is the fastest way to start. These are the same manual configurations it uses.
CongressMCP endpoint
https://www.congressmcp.com/mcp
Add that Streamable HTTP endpoint and choose OAuth or Authenticate. CongressMCP advertises protected-resource metadata, authorization-server metadata, dynamic client registration, and granular legislative.read, personal.read, personal.write, workspace.read, workspace.write, automation.run, and browser.drive scopes. The legacy read scope remains a research-only alias.
hermes mcp login is running, then call whoami.MCP: Add Server → HTTP, paste the endpoint, and approve OAuth.mcpServers.congressmcp.httpUrl in settings.json; OAuth is discovered automatically.devin mcp add congressmcp https://www.congressmcp.com/mcp, then devin mcp login congressmcp. Legacy Cascade is a separate, 100-tool-limited path.npx -y mcp-remote https://www.congressmcp.com/mcp.Codex CLI
codex mcp add congressmcp --url https://www.congressmcp.com/mcp
codex mcp login congressmcp
Keep the login command running until authorization completes. Some browsers show a blocked or failed localhost callback page even after Codex receives the code successfully, so check the terminal for Successfully logged in. If that message is absent, rerun codex mcp login congressmcp before approving again.
Claude Code
claude mcp add --transport http congressmcp https://www.congressmcp.com/mcp
# Then open Claude Code and run /mcp to authenticate and verify.
Leave Claude Code open while the browser returns to its local callback, then use claude mcp list to confirm CongressMCP reports Connected.
Claude Desktop
Preferred: Free, Pro, and Max users open Settings → Connectors → Add custom connector and paste the endpoint. On Team or Enterprise, an Owner or Primary Owner must add CongressMCP to the organization first; members then open Connectors and choose Connect. Claude Desktop signs in with OAuth and shows the permission prompt. claude_desktop_config.json only accepts stdio command servers (a url entry is ignored), so a config-file install bridges the endpoint with the standard mcp-remote package:
{
"mcpServers": {
"congressmcp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.congressmcp.com/mcp"]
}
}
}
Restart Claude Desktop; mcp-remote opens the CongressMCP sign-in in your browser. To use an API key instead of OAuth, append "--header", "Authorization: Bearer <your-api-key>" to the args.
VS Code (Copilot MCP)
{
"servers": {
"congressmcp": { "type": "http", "url": "https://www.congressmcp.com/mcp" }
}
}
Run MCP: Add Server from the Command Palette, choose HTTP, and paste the endpoint, or save the snippet above as .vscode/mcp.json. VS Code discovers CongressMCP OAuth and prompts for sign-in when the server starts; use MCP: List Servers → Restart if the prompt does not appear.
Gemini CLI
{
"mcpServers": {
"congressmcp": { "httpUrl": "https://www.congressmcp.com/mcp" }
}
}
Merge into ~/.gemini/settings.json. Use httpUrl for Streamable HTTP. Run /mcp to check status and /mcp auth congressmcp if Gemini CLI reports that authentication is required.
Windsurf
devin mcp add congressmcp https://www.congressmcp.com/mcp
devin mcp login congressmcp
devin mcp get congressmcp
New Windsurf tabs default to Devin Local, whose CLI stores remote Streamable HTTP servers and supports OAuth/DCR. Legacy Cascade uses a different MCP settings page and limits all active MCP tools to 100. If you deliberately use Cascade, add the endpoint there and explicitly enable these ten workflow tools: whoami, list_workspaces, configure_policy_inbox_source, get_policy_inbox_work_plan, begin_policy_inbox_scan, get_policy_priority_context, import_inbox_messages, get_policy_inbox_scan_status, complete_policy_inbox_scan, and get_policy_digest.
Zed
Add CongressMCP as a Remote Server under Settings → AI → MCP Servers with the public endpoint and no Authorization header. Current Zed releases start the standard MCP OAuth flow. Older builds can use the mcp-remote bridge or a revocable API key as a fallback.
Cline
Add CongressMCP in cline_mcp_settings.json as a remote Streamable HTTP server with a revocable CongressMCP API key in its Authorization: Bearer header, or use the mcp-remote bridge below for OAuth.
stdio via mcp-remote
For any client that can only launch a local process, use the standard mcp-remote bridge. It forwards stdio to the CongressMCP endpoint and handles the OAuth sign-in:
{
"mcpServers": {
"congressmcp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://www.congressmcp.com/mcp"]
}
}
}
To authenticate with an API key instead of OAuth, append "--header", "Authorization: Bearer <your-api-key>" to the args.
ChatGPT web
OpenAI currently limits custom apps with full MCP modify/write actions to ChatGPT Business and Enterprise/Edu workspaces on the web. A Business admin/owner or an authorized Enterprise/Edu user enables developer mode, creates a custom app with the endpoint, scans tools, completes OAuth, and publishes or enables it under the workspace policy. Run the write-based policy-inbox assignment in an ordinary chat: Agent mode cannot use custom apps, and Deep Research can use custom apps only for read/fetch actions. Pro developer mode is likewise read/fetch-only, so it can use CongressMCP research but cannot run the write-based policy-inbox workflow. Mobile custom apps are not currently supported. See the official availability and setup guide.
Hermes Agent
hermes mcp add congressmcp --url https://www.congressmcp.com/mcp --auth oauth
hermes mcp test congressmcp
Keep Hermes running and approve promptly because its temporary callback listener closes quickly. If the initial probe times out, save the server, run hermes mcp login congressmcp, approve while that command is still running, and test it again.
Cursor or generic MCP configuration
{
"mcpServers": {
"congressmcp": {
"url": "https://www.congressmcp.com/mcp"
}
}
}
Compatible clients open OAuth automatically. Start by asking the agent to find a state bill or call list_replica_datasets.
API keys for automation
For a script or older client that cannot complete OAuth, create an API key in your account and send it as an X-API-Key header. Interactive AI clients should use OAuth so the connection stays revocable and no key has to be pasted into a config file.
get_bill_context
ExplorerReturns a comprehensive federal bill view assembled entirely from the CongressMCP-owned snapshot.
{
"congress": 119,
"type": "hr",
"number": 1
}
The response includes a stable canonical_bill_id plus deterministic sponsors, cosponsors, subjects, summaries, actions, related_bills, committees, and text_versions collections assembled directly from owned tables. Available structured passage analysis, voting history, and budget data are layered on top.
get_member_context
ExplorerReturns one member’s canonical profile together with owned context and intelligence records.
{ "bioguide_id": "A000055" }
The response deterministically composes service terms, committee assignments and roles, contact details, recent sponsored and cosponsored legislation, and historical voting statistics from owned tables. Available effectiveness measures, generated analysis, and committee-vote intelligence are layered on top.
get_vote_context
ExplorerReturns a federal roll call with totals, exact owned record metadata, a computed party-position breakdown, and every copied member position.
{
"chamber": "House",
"congress": 119,
"session": 2,
"roll_call": 137
}
When available, record_metadata includes the owned vote category, data status, official House or Senate source URL, total-position count, and related bill, amendment, nomination, or treaty references.
chamber accepts House or Senate without case sensitivity. The response includes a stable canonical_vote_id and a position_dataset field. Canonical positions are preferred; when normalization is still backfilling, the tool immediately falls back to the owned historical member-vote archive.
Calculated federal intelligence
ExplorerFive read-only calculations are available directly in the legislative research scope:
get_cosponsor_influence_networkreports same-day coordination and directional 30-day cosponsorship patterns.find_aligned_membersranks member pairs by recorded roll-call agreement and includes the shared-vote sample.member_network_positionsummarizes sample-weighted agreement across available chamber peers.bloc_detectionfinds threshold-based connected components in the recorded-vote alignment graph.get_bill_lifecyclederives a conservative stage history, fixed pace heuristic, inactivity flag, and amendment summary from recorded actions.
Each response includes a calculation object with methodology, evidence counts or sample sizes, calculation time, and dependency freshness. Fresh synchronization and historical coverage are reported as separate concepts. These outputs describe recorded evidence; they do not prove causation, identify formal caucus membership, forecast votes, or predict passage.
get_orientation can return a federal_intelligence playbook. Its recommended sequence is filtered against the connection’s live tool registry, so it never directs the client to an unavailable tool.
State bills
ExplorerState is a validated two-letter jurisdiction filter. Inputs accept forms such as CA, ca, or us-ca.
search_state_billssearches bill titles and identifiers in one state or nationally, with optional session and recency filters.get_state_billreturns one owned bill record plus currently available votes and compatibility detail. The separate archive bundle is withheld until fresh nationwide parent and child audits pass;archive_bundle_available,archive_bundle_status, andarchive_bundle_readinessexplain that proof. When released,archive_bundle_snapshot_atandarchive_bundle_countsidentify exactly what was copied. Pass a stablebill_id, or jurisdiction + identifier + optional session.
{
"query": "clean energy",
"jurisdiction": "CA",
"limit": 25
}
State legislators
ExplorerRoster, profile, committee, and voting-history tools over the owned 50-state and DC snapshots.
list_state_legislatorsfilters a jurisdiction roster by chamber or party.get_state_legislatorcomposes one roster record with committee memberships and recent positions, then adds profile and service-term snapshots only when that jurisdiction’s exact audits pass. Otherwise it returns the core record with explicitpartial_dataand readiness metadata.get_state_legislator_votesreturns the member’s copied voting record with vote context.list_state_executive_profilesandget_state_executive_profileexpose owned governor and state-executive profile snapshots only after the requested scope’s exact audit passes.list_state_legislator_termsreturns current and historical state-legislative service intervals by person or jurisdiction.get_state_chamber_rulesreturns chamber term lengths, election timing, staggering, swearing-in dates, and class rules.list_upcoming_state_eventsfilters copied legislative events by jurisdiction, date window, upcoming status, and classification.
State votes
ExplorerUse list_state_votes for recent roll calls in a jurisdiction and get_state_vote for one vote with every currently copied legislator position.
{ "vote_id": "ca-vote-202520260ACR166-188972-2026-06-04-1009" }
When a vote has no copied positions, the response says so explicitly; it does not attempt a request-time source call.
State sessions, committees, and freshness
list_state_sessionsreturns source-backed and explicitly marked bill-derived sessions.list_state_committeeslists committees or drills into one committee and its copied members.get_state_data_freshnessis available to Explorer accounts and reports state row totals and sync timestamps.
list_replica_datasets
ExplorerNo arguments. Returns the allowlisted catalog. Audit-gated datasets remain pending_verification and unreadable until their live exact-snapshot proof passes.
{
"snapshot": "CongressMCP",
"datasets": [
{ "id": "bills", "title": "Bills", "description": "Federal legislation and current status." },
{ "id": "state_bills", "title": "State bills", "description": "State legislation and current status." }
]
}
query_replica_dataset
ExplorerReturns up to 200 rows from one allowlisted dataset.
dataset— required dataset id fromlist_replica_datasets.filters— optional exact-match AND conditions.limit— 1–200; default 50.offset— 0–1,000,000; default 0.
{
"dataset": "state_bills",
"filters": { "jurisdiction": "CA" },
"limit": 25,
"offset": 0
}
The response includes estimated_total and rows. The total is approximate (or null when unavailable); use next_offset to continue through results. Filters must name real columns; discovery does not execute arbitrary SQL.
search_replica_dataset
ExplorerSearches only the owned snapshot. For replica_documents, omit search_column to use the indexed full-document search.
{
"dataset": "replica_documents",
"query": "housing affordability California",
"filters": { "family": "bill_structured" },
"order_by": "synced_at",
"ascending": false,
"limit": 25
}
For another dataset, provide a text search_column, such as title for bills or name for members. Exact filters remain AND conditions.
get_replica_record
ExplorerReturns one record using at least one exact-match filter.
{
"dataset": "bills",
"filters": { "bill_ref": "119-hr-1" }
}
If no matching record exists in the currently published snapshot, the tool returns a structured error rather than contacting another service.
get_replica_status
ExplorerNo arguments. Returns ingestion stream state and measured replica audits.
streamsshows last start/completion times and processed-row totals.auditsseparates source count, owned replica count, andparity/backfilling/upstream_unavailablestate.- A successful sync marker means the job ran; it does not imply that the upstream family contained rows. Use audit counts and the public coverage ledger for completion claims.
Coverage and freshness
The landing page and GET /api/coverage publish exact state counts separately from DC, missing-state lists, parity totals, position coverage, rich state-bill detail progress, extended state-route checks, and snapshot timestamps.
generated_at records when the response snapshot was assembled. evidence_freshness.oldest_materialized_cache_at exposes the oldest persistent rollup used, while evidence_freshness.latest_audit_at identifies the newest measured audit merged into the response.
state_route_coverage reports executive profiles, legislator profiles and terms, chamber rules, executive orders, events, event details, governors, legislative districts, legislator scorecards, and whip counts per family. Content parity requires a fresh, exact, source-timestamp-bound jurisdiction snapshot whose owned rows and audit were published atomically. A verified empty or unavailable route remains useful operational evidence, but it never counts as content coverage; stale, malformed, retrying, and unchecked scopes also stay explicit.
Federal inventory completion likewise requires a recent global source-inventory probe and exact counts in every customer-visible owned destination. A recent worker run or a legacy count-equality row is not enough to publish a complete-replication claim.
Coverage is served from a persistent summary refreshed in the background. A source outage does not put a third-party request onto the customer path.
Plans and billing
Public pricing is loaded from the configured Stripe catalog at GET /billing/plans. The account console starts checkout, returns customers to CongressMCP, and exposes Stripe’s billing portal after the account is linked.
- Explorer can use the complete read-only research surface: composed federal context, calculated intelligence, state-legislature tools, dataset discovery and queries, exact record reads, and freshness diagnostics.
- Paid plans add tenant-owned workspace storage and write tools for saved research, CRM, policy-inbox intelligence, automation, collaboration, and Watch Mode, with plan-specific annual or monthly request allowances and rate limits.
- Subscription webhooks update the account entitlement used by OAuth clients and active API keys.
The workspace remains available
The forty-three-tool research scope and the broader permission-scoped MCP do not remove the existing CongressMCP web application. The human workspace at /app/dashboard continues to provide tracking boards, contacts, organizations, coalitions, dossiers, notes, scorecards, maps, and collaborative government-affairs workflows.
The web application and MCP are two views of the same service. On paid plans, an external AI can perform authorized workspace work through MCP while teammates watch the affected pages refresh live. Both surfaces name the same account via account_id, and neither customer query performs a request-time call to the private ingestion source.
Endpoint: https://www.congressmcp.com/mcp · Protocol: MCP Streamable HTTP · Snapshot service version: 2.3.0