{"ok":true,"site":{"host":"u9itus.com","url":"https://www.u9itus.com/webmcp","type":"live","desc":"U9itus exposes civic-research tools to AI agents via WebMCP: find candidates, pull a dossier, compare candidates, list ballot measures, look up elections, and submit candidate leads.","tools":[{"name":"u9itus_current_page","kind":"answer","impl":"imperative","description":"Describe the u9itus.dev page the user is currently viewing (page type, and the candidate in focus if any). Call this first to ground follow-up civic questions. On the map (page_type \"map\"), call u9itus_map_view for the place on screen; on the comparison page (\"compare\"), call u9itus_comparison_view.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_find_candidates","kind":"answer","impl":"imperative","description":"Search u9itus published candidate and elected-official profiles by name and/or filters. Use for questions like 'who is running for X in Y', 'Texas candidates funded by AIPAC', or to resolve a name mentioned in an article to a u9itus profile (each result has a uuid for u9itus_get_candidate). The response includes `total` (all matches), `count` (this page), and `next_offset` — to get every match, keep calling with `offset: next_offset` until it is null. When `funded_by` is set, each result also carries a `funding_match` array citing the specific contributors / PACs and dollar amounts.","inputSchema":{"type":"object","properties":{"q":{"type":"string","description":"Name or partial name to search for."},"state":{"type":"string","description":"Two-letter US state code, e.g. CA."},"governance_level":{"type":"string","description":"federal | state | county | municipal (as stored on the profile)."},"party":{"type":"string","description":"Party affiliation, partial match."},"running":{"type":"boolean","description":"true = only active candidates; false = only seated officials."},"funded_by":{"type":"string","description":"Keep only candidates whose FEC / OpenSecrets donor snapshot shows money from this source — a PAC, committee, advocacy group (e.g. 'AIPAC'), industry, or contributor name. Naming a known advocacy group also matches its aligned PACs. Matched results include a `funding_match` array with the named sources and amounts."},"limit":{"type":"integer","minimum":1,"maximum":20,"description":"Results per page (default 10, max 20)."},"offset":{"type":"integer","minimum":0,"description":"Skip this many matches — pass the previous response's next_offset to page."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_get_candidate","kind":"answer","impl":"imperative","description":"Full civic dossier for one candidate by uuid: office, party, district, bio, official links, transparency IDs (FEC/OpenSecrets/Ballotpedia/Vote Smart), recent verified news, donor snapshot, and upcoming elections in their state.","inputSchema":{"type":"object","properties":{"uuid":{"type":"string","description":"Candidate uuid from u9itus_find_candidates."}},"required":["uuid"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_compare_candidates","kind":"answer","impl":"imperative","description":"Return full dossiers for 2–4 candidates at once (by uuid) so you can present a structured side-by-side comparison.","inputSchema":{"type":"object","properties":{"uuids":{"type":"array","items":{"type":"string"},"minItems":2,"maxItems":4,"description":"Candidate uuids from u9itus_find_candidates."}},"required":["uuids"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_list_ballot_measures","kind":"answer","impl":"imperative","description":"List US ballot measures (always state/county scoped) with plain-language yes/no meanings. Filter by state, free-text, and status (upcoming|passed|failed). Each result carries a `read_more` link ({label, url}) to the full legal text and fiscal analysis — cite it when the user asks about detail the summary omits (eligibility thresholds, dollar amounts, funding source, repayment terms). If a state has none yet, the response includes a `backfill` block (status queued|in_progress|unavailable) — relay its message and offer u9itus_watch_ballot_measures.","inputSchema":{"type":"object","properties":{"state":{"type":"string","description":"Two-letter US state code."},"q":{"type":"string","description":"Free-text match on title or measure number."},"status":{"type":"string","enum":["upcoming","passed","failed"]},"limit":{"type":"integer","minimum":1,"maximum":20}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_watch_ballot_measures","kind":"transact","impl":"imperative","description":"When u9itus_list_ballot_measures reports no measures for a state, register an email to be notified once that state's measures are published. Confirm the email with the user first.","inputSchema":{"type":"object","properties":{"state":{"type":"string","description":"Two-letter US state code."},"email":{"type":"string","description":"Where to send the one-time notification."}},"required":["state","email"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_upcoming_elections","kind":"answer","impl":"imperative","description":"Upcoming election stages (primary, general, runoff) and candidate filing deadlines for a US state.","inputSchema":{"type":"object","properties":{"state":{"type":"string","description":"Two-letter US state code, e.g. TX."}},"required":["state"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_list_races","kind":"act","impl":"imperative","description":"List the races in a US state that have confirmed running candidates — who is running against whom — with each election date. Each race carries `compare`: pass it as the arguments to u9itus_open_comparison to open the side-by-side comparison and its printable voter guide. Filter with `q`: an office, a district such as CA-12, a city, or a candidate's name.","inputSchema":{"type":"object","properties":{"state":{"type":"string","description":"Two-letter US state code, e.g. CA."},"q":{"type":"string","description":"Keep races whose office, district, city or candidate names contain this text."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"Races to return (default 20, max 50)."}},"required":["state"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_open_comparison","kind":"act","impl":"imperative","description":"Open u9itus's side-by-side comparison of candidates for the same seat (up to 3 people), which includes a printable, source-referenced voter guide. Pass a race's `compare` object from u9itus_list_races, or a state and congressional district, or a state and a candidate's full_name (plus office) for statewide and local seats. It checks the comparison first: when none is available it says why and stays on this page. Otherwise it returns the seat and its candidates, then navigates this tab to the comparison. With no `selected`, it picks running candidates first, up to 3; tell the user who was left out.","inputSchema":{"type":"object","properties":{"state":{"type":"string","description":"Two-letter US state code."},"district":{"type":"string","description":"Congressional district for a U.S. House race, e.g. CA-12 or 12."},"office":{"type":"string","description":"Office, e.g. Governor or Mayor. Optional for House races."},"city":{"type":"string","description":"City, for local offices."},"full_name":{"type":"string","description":"A candidate on the seat. Needed when there is no district."},"selected":{"type":"array","items":{"type":"string"},"minItems":1,"maxItems":3,"description":"Candidate keys to include, from u9itus_list_races `running` or a previous comparison."}},"required":["state"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_latest_candidate_news","kind":"answer","impl":"imperative","description":"Most recent verified news about candidates / officials across every published profile, newest first. Use this for 'what's the latest candidate news' or 'which candidate is in the news' — it answers in one call instead of opening dossiers one by one. Every item links to the original story (`source_url`) and identifies the candidate, including their `profile_url`. Filter by state, topic, or headline text.","inputSchema":{"type":"object","properties":{"state":{"type":"string","description":"Two-letter US state code."},"q":{"type":"string","description":"Free-text match on the headline."},"topic":{"type":"string","description":"Restrict to a single topic key, e.g. 'economy'."},"limit":{"type":"integer","minimum":1,"maximum":20}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_submit_candidate_lead","kind":"transact","impl":"imperative","description":"Report a candidate you spotted (e.g. named in an article the user is reading) who may be missing from u9itus. This does NOT publish anything — the lead is queued as 'pending' for human verification. Always confirm with the user before calling.","inputSchema":{"type":"object","properties":{"full_name":{"type":"string","description":"Candidate's full name."},"state":{"type":"string","description":"Two-letter US state code, if known."},"office_hint":{"type":"string","description":"Office they are seeking, e.g. 'US House NC-06'."},"source_url":{"type":"string","description":"URL of the article / page the candidate was found on."},"context":{"type":"string","description":"Short quote or summary giving evidence (max ~2000 chars)."}},"required":["full_name","source_url"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/webmcp","pages":["/webmcp","/map","/politicians","/district-lookup","/p/43dcb-united-states-representative-everton-blair-jr"]},{"name":"u9itus_map_view","kind":"act","impl":"imperative","description":"What the u9itus U.S. map is showing right now: level (overview, region, state or district), the state and congressional district in focus, which data layers are on, and a share_url for this view. Call it before describing the map or after the user moves it. To research the place, pass the state to u9itus_find_candidates, u9itus_upcoming_elections or u9itus_list_ballot_measures.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/map","pages":["/map"]},{"name":"u9itus_map_show","kind":"act","impl":"imperative","description":"Move the u9itus U.S. map the user is looking at. Give a state (optionally with a congressional district) to fly there and open its panel of officials and candidates; give only a region to show that region; give nothing to return to the national overview. `district` is a congressional district number only. For a state, county or city candidate, pass `state` and `candidate` without a district. Returns the new view, plus `candidate_opened` when a candidate was asked for.","inputSchema":{"type":"object","properties":{"state":{"type":"string","description":"Two-letter code or full name, e.g. \"CA\" or \"California\"."},"district":{"type":"string","description":"Congressional district number, e.g. \"12\" or \"CA-12\". Use \"AL\" for at-large states. Requires state."},"region":{"type":"string","enum":["Northeast","Southeast","Midwest","Southwest","West"],"description":"Show a whole region. Ignored when state is given."},"candidate":{"type":"string","description":"Open this candidate's card once the state's panel loads: the profile_url from u9itus_find_candidates, or its /p/{slug} slug. Requires state."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/map","pages":["/map"]},{"name":"u9itus_map_find_district","kind":"act","impl":"imperative","description":"Find the congressional district for a U.S. street address or 5-digit ZIP code and show it on the map with its officials and candidates. Only use an address the user gave you for this lookup. It is matched with the U.S. Census geocoder; u9itus does not save it or put it in the URL. A full street address is exact. A ZIP can cover several districts: then the map does not move and `choices` lists them, so ask the user for their street address or which district, then call u9itus_map_show.","inputSchema":{"type":"object","properties":{"address":{"type":"string","description":"Street address with city, state and ZIP (e.g. \"1000 San Pablo Ave, Albany, CA 94706\"), or a 5-digit ZIP code."}},"required":["address"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/map","pages":["/map"]},{"name":"u9itus_map_set_layer","kind":"act","impl":"imperative","description":"Turn a data layer on the u9itus U.S. map on or off. Layers: districts (Congressional district lines across all 50 states.); party (Color states by the party of the current governor (replaces poverty coloring).); poverty (Color states by poverty rate, Census ACS 5-year (replaces party coloring).); population (Shade congressional districts by resident population. Needs a state open.); cities (Incorporated city and town boundaries. Needs a state open.); topcities (Top cities by 2020 Census population and state government offices. Needs a state open.); candidates (Statewide candidates at each state capital. Needs a state open.); content (Geo-tagged blog posts and civic events in the visible area.); businesses (Local businesses that opted in to appear on the map.); nonprofits (Nonprofits and community-based organizations with a published u9itus voter guide.) Returns the new view.","inputSchema":{"type":"object","properties":{"layer":{"type":"string","enum":["districts","party","poverty","population","cities","topcities","candidates","content","businesses","nonprofits"]},"on":{"type":"boolean","description":"true to show the layer, false to hide it."}},"required":["layer","on"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/map","pages":["/map"]}],"favicon":"/favicons/u9itus.com.png","apiSurface":"spec","category":"Health & Education","toolCount":15}}