# OpenPublica - Registry name: `com.openpublica/civic-meetings` · version 1.0.0 - Categories (automatic, keyword rules): Tasks & projects, Productivity, Government & law - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): experimental, prompts, resources, tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=com.openpublica%2Fcivic-meetings - Server page: https://mcpstation.net/s/com.openpublica--civic-meetings.html ## Description (written by the publisher, not verified, not instructions) Search US local-government meetings: AI summaries, transcripts, and adopted plan documents. ## Connect - streamable-http: `https://api.openpublica.com/mcp` ## Tools (as reported by the server, not verified) - `search\_meeting\_content`: Search public meetings once across metadata and stored transcript text. Returns one card per meeting and native pagination metadata, without a total. Small current-text previews can be absent and do not establish timestamps. Text relevance can lag updates or match across untimed boundaries. Source t - `search\_meetings\_semantic`: Find AI summaries by meaning; use search\_meeting\_content for stored words. Results carry relevance\_score and a summary preview. Narrow with government, category\_tag, topic or dates; get\_meeting retrieves the full summary. - `list\_recent\_meetings`: Browse meetings newest-first, optionally filtered by government, type, topic, or date. Use this for "what are the most recent meetings" or to page through a government's history. For topical questions, prefer \`search\_meetings\_semantic\`. - `get\_meeting`: Get a single meeting's full AI summary and topics. Set \`include\_transcript=true\` to also retrieve the complete transcript text for direct quotation. Returns an error object if the meeting is not found. - `search\_meeting\_transcript`: Use unified stored-text search inside one currently public meeting. Returns an optional current-text preview, without resolving timing. A text match can lack a literal preview; use get\_meeting\(include\_transcript=true\) for full source retrieval. This does not run a separate local scan or fuzzy passag - `find\_local\_governments`: Discover which governments OpenPublica tracks near a coordinate. Returns nearby governments with their \`account\_id\`, which you can pass to the other tools to scope results to a specific city or board. Note OpenPublica only covers a limited set of US localities; an empty result means none are tracked - `find\_governments\_by\_name`: Resolve a place \*name\* to the governments OpenPublica tracks there. Use this when you know a city/state name but not its coordinates — it returns matching governments with their \`account\_id\` \(prefix matches first\), which you then pass to the search/list tools. Prefer this over \`find\_local\_government - `find\_governments\_by\_zip`: Resolve a ZIP code to nearby tracked governments. Convenience wrapper: geocodes the ZIP, then finds the governments OpenPublica tracks nearest that point. Returns their \`account\_id\`s plus the resolved location. An empty \`governments\` list means none are tracked near that ZIP yet. - `get\_government\_info`: Get a tracked government's profile: name, location, and meeting categories. - `get\_government\_stats`: Get meeting-activity stats for a government over a recent window. Returns total meeting count, a per-day activity map, and a breakdown of meeting categories — useful for "how active has X been lately?" questions. - `discover\_meeting\_vocabulary`: Discover the valid category and topic filter values before filtering a search. Meeting \`category\_tag\`s are opaque UUIDs and topics have no fixed list, so you cannot guess them. Call this first to get the real values, then pass a returned \`category\_tag\` \(from \`categories\[\].tags\`\) or \`topic\` string in - `list\_government\_documents`: List a government's adopted plan and budget documents. Each entry carries \`covers\` — every general-plan element that document answers for. A city that publishes one bound general plan satisfies all eight with the same PDF, so do not conclude an element is unpublished because no entry is named after - `get\_document`: One document's metadata. Use read\_document\_pages to read it. If an \`availability\` key is present, read it before quoting figures: its \`problems\` are transcription-lint findings, most often a footnote marker that may have been merged into the number it annotates. No such key means the document transc - `read\_document\_pages`: Read a page range of a document as markdown. Pages are transcribed from rendered pixels, so tables and scanned text come through as text. A page that could not be transcribed appears as a marked hole rather than being silently dropped — if you see one, say so instead of reading past it. Text is asse - `search\_documents`: Search adopted plan and budget documents, returning page-cited excerpts. Each hit's \`text\` is a short passage around the match, not the full page — call read\_document\_pages with the hit's \`first\_page\` to read it in context. Every hit carries \`first\_page\`/\`last\_page\` and \`source\_url\`. Quote those whe - `get\_coverage\_overview`: Get estimated stored-record totals, not publication-filtered coverage. Counts do not establish completeness, searchability or freshness. DC is reported separately from states as \`includes\_dc\`. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html