mcp
Resolve any government entity worldwide and submit service requests. Open civic data for AI agents.
我该使用它吗
质量与安全性
发现(2)
- HIGH
- MEDIUM在 search_cgj_reports 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"mcp": {
"url": "https://mcp.ungovr.org/mcp"
}
}
}远程端点
https://mcp.ungovr.org/mcpstreamable-http它能做什么
工具清单
工具(11)
🟢list_countries
List all countries with government entity data in UnGovr, including entity counts and coverage metadata.
输入模式
{
"type": "object",
"properties": {},
"required": []
}🟢search_entities(country, state, query, type, limit, ...)
Search government entities by country, optional state/province, name query, and entity type. Searches every tier of government in the jurisdiction, not just the top one: counties, cities, school districts, special districts, fire and police districts, joint powers authorities and regulated utilities are all reachable. Returns matching entities with slugs, types, and website URLs, plus a "scope" field — "full" means every tier was searched, "direct_children" means only the top tier was (narrow by state and search again). Unrecognised arguments are rejected, not ignored.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Two-letter country code (e.g., \"us\", \"ca\", \"ie\")"
},
"state": {
"type": "string",
"description": "State/province code to narrow search (e.g., \"ca\" for California, \"on\" for Ontario)"
},
"query": {
"type": "string",
"description": "Substring to match against entity name (case-insensitive)"
},
"type": {
"type": "string",
"description": "Filter by entity type, exact match (e.g., \"county\", \"city\", \"school_district\", \"special_district\", \"fire_district\", \"police_department\", \"jpa\", \"regulated_utility\"). The parameter is named \"type\", not \"entity_type\"."
},
"limit": {
"type": "number",
"description": "Maximum results to return (default 20, max 100)"
},
"offset": {
"type": "number",
"description": "Number of results to skip for pagination (default 0)"
}
},
"required": [
"country"
]
}🟢get_entity(slug)
Get full details for a specific government entity by its URL slug (e.g., "us/ca/ventura"). Works at any depth of the hierarchy, including cities, school districts and special districts (e.g., "us/ca/santa-barbara/spd/carpinteria-valley"). Returns name, type, website, parent, children, domain status, and metadata.
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Entity URL slug at any depth (e.g., \"us/ca/ventura\", \"us/ca/santa-barbara/city/carpinteria\", \"ie/cork\", \"kr/seoul\")"
}
},
"required": [
"slug"
]
}🟢get_product_coverage(product)
Get the full hierarchy of government entities where an UnGovr product is available. product="request" returns the worldwide UnGovr Request coverage footprint (where you can file a government service request); product="cgj" returns Civil Grand Jury coverage. Public, no API key required.
输入模式
{
"type": "object",
"properties": {
"product": {
"type": "string",
"description": "Product id: \"request\" or \"cgj\"",
"enum": [
"request",
"cgj"
]
}
},
"required": [
"product"
]
}🟢get_open_records_law(jurisdiction)
Get the open records law (FOIA/RTI equivalent) governing a jurisdiction: name, citation, response deadlines, fees, exemptions, appeal process, records retention rules and RTI rating. Accepts a jurisdiction slug ("us/ca", "ie", "in/mh") or any UnGovr entity slug at any depth ("us/ca/santa-barbara/city/carpinteria" resolves to the California law). US federal FOIA is jurisdiction "us". When the answer comes from a parent jurisdiction the response includes "resolved_from".
输入模式
{
"type": "object",
"properties": {
"jurisdiction": {
"type": "string",
"description": "Jurisdiction slug or entity slug at any depth (e.g., \"us/ca\", \"us\", \"uk\", \"us/ca/ventura\")"
}
},
"required": [
"jurisdiction"
]
}🟢search_transparency_laws(country, pillar, query, limit, offset)
Search government transparency laws across five domains: open records, open meetings, fiscal transparency, digital accessibility, and oversight bodies. Filter by country, pillar, and/or a substring of the law name, citation, or jurisdiction. Returns compact records with jurisdiction slugs; use get_open_records_law for full open-records detail.
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Two-letter country code (e.g., \"us\", \"de\", \"br\")"
},
"pillar": {
"type": "string",
"description": "Law domain to search",
"enum": [
"records",
"meetings",
"fiscal",
"accessibility",
"oversight"
]
},
"query": {
"type": "string",
"description": "Substring to match against law name, citation, or jurisdiction (case-insensitive)"
},
"limit": {
"type": "number",
"description": "Maximum results to return (default 20, max 100)"
},
"offset": {
"type": "number",
"description": "Number of results to skip for pagination (default 0)"
}
},
"required": []
}🟢search_cgj_reports(county, year, query, limit, offset)
Search California Grand Jury reports by county, year, and/or title keyword. Returns report metadata (title, year, county, themes). Requires X-API-Key header (50 req/day). Get a key at https://www.ungovr.org/open-data/api-keys. For the list of valid county names, query the UnGovr entity API: GET https://data.ungovr.org/v1/entities/us/ca.json
输入模式
{
"type": "object",
"properties": {
"county": {
"type": "string",
"description": "County name (e.g., \"Los Angeles\", \"San Francisco\")"
},
"year": {
"type": "number",
"description": "Filter by jury year (reports from that year)"
},
"query": {
"type": "string",
"description": "Substring to match against report title (case-insensitive)"
},
"limit": {
"type": "number",
"description": "Maximum results to return (default 20, max 100)"
},
"offset": {
"type": "number",
"description": "Number of results to skip for pagination (default 0)"
}
},
"required": []
}🟢get_cgj_report(id)
Get full details for a specific California Grand Jury report by ID. Includes findings, recommendations, and responses. Requires X-API-Key header (50 req/day shared with data.ungovr.org). Get a key at https://www.ungovr.org/open-data/api-keys.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Report ID (from search results)"
}
},
"required": [
"id"
]
}🟢list_service_types(country)
List available service request categories and types for a country. Returns service types grouped by category (e.g., Infrastructure, Utilities, Parks). Use this to discover valid service_type_id values for submit_service_request. Supported countries: US, IE (Ireland), GB (United Kingdom).
输入模式
{
"type": "object",
"properties": {
"country": {
"type": "string",
"description": "Two-letter country code: \"us\", \"ie\", or \"gb\" (default: \"us\")"
}
},
"required": []
}🔴submit_service_request(description, service_type_id, country_code, contact_email, address, ...)
Submit a government service request (e.g., report a pothole, broken streetlight, illegal dumping). The request is validated, geocoded, classified, routed to the correct government entity, and recorded. Delivery is enabled per-entity: where the target channel is live, the request is transmitted (response delivery.state = "sent", or "held" when queued for review); for entities not yet enabled it is recorded and routable but not transmitted (delivery.state = "dry_run", or "handoff" with a redirect_url the user finishes). Always check delivery.state. Requires X-API-Key header. Rate limit: 2 requests/hour. Supported countries: US, IE (Ireland), GB (United Kingdom).
输入模式
{
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "Description of the issue (10-5000 characters)"
},
"service_type_id": {
"type": "string",
"description": "Service type ID from list_service_types (optional — auto-classified from description if omitted)"
},
"country_code": {
"type": "string",
"description": "Country code: \"US\", \"IE\", or \"GB\" (default: \"US\")"
},
"contact_email": {
"type": "string",
"description": "Email of the person reporting the issue"
},
"address": {
"type": "string",
"description": "Address to geocode (e.g., \"123 Main St, Ventura, CA 93001\"). Provide this OR latitude+longitude."
},
"latitude": {
"type": "number",
"description": "Latitude (-90 to 90). Provide with longitude as alternative to address."
},
"longitude": {
"type": "number",
"description": "Longitude (-180 to 180). Provide with latitude as alternative to address."
},
"images": {
"type": "array",
"description": "Up to 3 base64-encoded images (optional). Each item: {data: \"base64...\", media_type: \"image/jpeg\"}",
"maxItems": 3,
"items": {
"type": "object",
"properties": {
"data": {
"type": "string",
"description": "Base64-encoded image data"
},
"media_type": {
"type": "string",
"description": "MIME type (image/jpeg, image/png)"
}
},
"required": [
"data"
]
}
}
},
"required": [
"description",
"contact_email"
]
}🟢resolve_domain_jurisdiction(domain)
Best-effort mapping from a domain to the jurisdiction whose law governs its OPERATOR. Authoritative for government domains in the UnGovr corpus (method "entity_domains"); otherwise an inference from suffix or country-code TLD, or "unknown". Never uses server or edge-node location: a CDN PoP's geography is not the legal signal, the operator's establishment is. IP addresses are refused for the same reason. Requires X-API-Key header (50 req/day, shared with data.ungovr.org). Get a key at https://www.ungovr.org/open-data/api-keys.
输入模式
{
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Hostname or URL (e.g. \"ventura.org\", \"https://www.stadt-koeln.de/x\"). IP addresses are rejected."
}
},
"required": [
"domain"
]
}社区
证据