
一个集中式MCP服务器,用于从多个国家政府获取数据
概览
一个模型上下文协议(MCP)服务器,允许人工智能代理。美国、英国、加拿大和澳大利亚的统一工具接口——每个门户的怪异现象(API迁移、认证墙、双语元数据、陈旧的DataStore标志)被整合到通用的适配器层中。 为典型的代理工作流程打造:“X有政府数据集吗?”→找到候选人→检查文件→预览行,或者下载链接后继续。 - 美国(data.gov v4 / DCAT)、英国(data.gov.uk / CKAN)、加拿大(open.canada.ca / CKAN)、澳大利亚(data.gov.au / CKAN + DataStore)。- 描述为HTML简化和截断,搜索结果为精简摘要,大型文件从不意外内嵌。- 在有CKAN DataStore(如澳大利亚)可用时使用,其他地方则透明地回退到读取CSV/TSV文件的头部。- 错误以可操作文本形式返回(“改用get_download_link”、“用dataset_id重试”、“可用门户:......”)——绝不提供原始追踪。
概述(AI 翻译)
一个模型上下文协议(MCP)服务器,允许AI代理搜索、探索并获取官方政府数据门户的开放数据集。美国、英国、加拿大和澳大利亚的统一工具界面——每个门户的怪异问题(API迁移、认证墙、双语元数据、陈旧的DataStore标志)被整合在通用的适配器层中。
为典型的客服工作流程打造:“X有政府数据集吗?” →找到候选人→检查文件→预览行,或下载链接后继续。
主要特色
- 四个国家门户,一个接口。 美国(data.gov v4 / DCAT)、英国(data.gov.uk / CKAN)、加拿大(open.canada.ca / CKAN)、澳大利亚(data.gov.au / CKAN + DataStore)。
- 设计上极为节俭。 描述被简化成HTML和截断,搜索结果为简洁的摘要,大型文件绝不会被误嵌内嵌。
- 行级预览。 在有 CKAN DataStore 的情况下(澳大利亚)使用 CKAN DataStore,其他地方则透明地回归读取 CSV/TSV 文件的头部。
- **代理友好型故障模式。
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
GovData MCP
A Model Context Protocol (MCP) server that lets AI agents search, explore, and fetch open datasets from official government data portals. One unified tool interface across the United States, United Kingdom, Canada, and Australia — with per-portal quirks (API migrations, auth walls, bilingual metadata, stale DataStore flags) absorbed behind a common adapter layer.
Built for the typical agent workflow: “Is there a government dataset for X?” → find candidates → inspect the files → preview rows or grab a download link and move on.
Key Features
- Four national portals, one interface. US (data.gov v4 / DCAT), UK (data.gov.uk / CKAN), Canada (open.canada.ca / CKAN), Australia (data.gov.au / CKAN + DataStore).
- Token-frugal by design. Descriptions are HTML-stripped and truncated, search results are compact summaries, and large files are never inlined by accident.
- Row-level preview. Uses CKAN DataStore where available (Australia), and transparently falls back to reading the head of CSV/TSV files everywhere else.
- Agent-friendly failure modes. Errors are returned as actionable text (“use
get_download_linkinstead”, “retry withdataset_id”, “available portals: …”) — never raw tracebacks. - Extensible registry. Adding another CKAN-based portal is a single config entry; non-CKAN portals plug in via a small adapter class.
- Dual transport.
stdiofor local clients (Claude Desktop etc.), statelessstreamable-httpfor serverless deployment (Google Cloud Run).
Supported Portals
| Code | Portal | API | Search | Explore | Row Preview | Notes |
|---|---|---|---|---|---|---|
us |
data.gov | data.gov v4 (DCAT) | ✅ | ✅ | CSV fallback | Requires free api.data.gov key |
uk |
data.gov.uk | CKAN | ✅ | ✅ | CSV fallback | Resource lookups need the parent dataset_id |
ca |
open.canada.ca | CKAN | ✅ | ✅ | CSV fallback | Bilingual titles normalized to English |
au |
data.gov.au | CKAN + DataStore | ✅ | ✅ | ✅ DataStore | Full row queries with text filtering |
Requirements
- Python 3.11+
- An api.data.gov API key for the US portal (free; other portals need no credentials)
Installation
git clone https://github.com/YOUR_ORG/Gov-Stat-MCP-Server.git
cd Gov-Stat-MCP-Server
# pip
pip install -e ".[dev]"
# or conda
conda env create -f environment.yml
conda activate opendata-mcp
Copy .env.example to .env and set your key:
DATAGOV_API_KEY=your-api-data-gov-key
Getting Started
Standard config for most MCP clients (stdio transport):
{
"mcpServers": {
"govdata": {
"command": "govdata-mcp",
"env": {
"DATAGOV_API_KEY": "your-api-data-gov-key"
}
}
}
}
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"govdata": {
"command": "govdata-mcp",
"env": {
"DATAGOV_API_KEY": "your-api-data-gov-key"
}
}
}
}