C2

chester-2026/gov-stat-mcp-server

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

21 stars 3 forks 质量 77 趋势 14MIT

一个集中式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_link instead”, “retry with dataset_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. stdio for local clients (Claude Desktop etc.), stateless streamable-http for 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"
      }
    }
  }
}
在 GitHub 查看完整 README

安装

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" } } } }