mcpField
O
OpenGov MCP Server

OpenGov MCP Server

本地服务
github.com/srobbin法律与政务1481 周前更新

关于 OpenGov MCP Server

OpenGov MCP Server 将 MCP 客户端连接到 Socrata 公共数据门户,支持发现数据集、查看结构、查询记录及获取门户统计信息。

主要功能

  1. 01按关键词、类别或标签搜索数据集
  2. 02查看数据集元数据和列信息
  3. 03查询并获取数据集记录
  4. 04读取门户使用统计信息

适用场景

  1. 01在政府门户中查找公开数据集
  2. 02分析前检查数据集字段
  3. 03使用 SoQL 查询政府记录
  4. 04查看门户使用统计信息

MCP 相关

通过统一的 `get_data` 工具,向 MCP 客户端提供 Socrata 数据搜索、元数据、查询和统计操作。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"opengov": {
"command": "npx",
"args": [
"-y",
"opengov-mcp-server"
],
"env": {
"DATA_PORTAL_URL": "<DATA_PORTAL_URL>"
}
}
}
}
启动命令npx -y opengov-mcp-server
需要配置的环境变量
DATA_PORTAL_URL

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmopengov-mcp-server

工具

1

收录的工具列表 · 更新于 3 周前

参数类型必填说明
typeenum是要执行的操作类型: - catalog:列出数据集,可选搜索 - categories:列出所有数据集类别 - tags:列出所有数据集标签 - dataset-metadata:获取特定数据集的详细元数据 - column-info:获取特定数据集的列详细信息 - data-access:访问数据集中的记录(支持查询) - site-metrics:获取门户网站的整体统计信息catalog | categories | tags | dataset-metadata | column-info | data-access | site-metrics
domainstring否可选域名(仅主机名,不含协议)。适用于所有操作类型。
querystring否搜索或查询字符串,其用途因操作类型而异: - 对于 type=catalog:用于筛选数据集的搜索查询 - 对于 type=data-access:用于复杂数据筛选的 SoQL 查询字符串
datasetIdstring否以下操作需要数据集标识符: - 对于 type=dataset-metadata:获取数据集详情 - 对于 type=column-info:获取列信息 - 对于 type=data-access:指定要查询的数据集(例如 6zsd-86xi)
soqlQuerystring否仅适用于 type=data-access。可选的 SoQL 查询字符串,用于筛选数据。 这是 query 参数的别名;如果同时提供两者,则优先使用此参数。
selectstring否仅适用于 type=data-access。指定结果集中要返回的列。
wherestring否仅适用于 type=data-access。筛选要返回的行(例如,"magnitude > 3.0")。
orderstring否仅适用于 type=data-access。根据指定的列对结果排序(例如,"date DESC")。
groupstring否仅适用于 type=data-access。对结果分组,以便使用聚合函数。
havingstring否仅适用于 type=data-access。筛选分组后的结果,类似于 where,但用于分组数据。
qstring否仅适用于 type=data-access。用于在整个数据集中进行全文搜索的参数。
limitnumber否要返回的最大结果数: - 对于 type=catalog:限制数据集结果数量 - 对于 type=data-access:限制返回的数据记录数量
offsetnumber否分页时要跳过的结果数: - 对于 type=catalog:跳过数据集结果 - 对于 type=data-access:分页时跳过数据记录

详细介绍

OpenGov MCP 服务

一个 MCP(Model Context Protocol)服务,可让 Claude Desktop 等 MCP 客户端访问 Socrata Open Data API。此集成使 Claude Desktop 能够搜索、检索和分析政府数据门户中的公共数据集。

概述

此 MCP 服务可访问任何由 Socrata 提供支持的数据门户中的开放数据,包括来自城市、州和联邦机构的数据门户:

基本使用无需 API 密钥,因为此服务访问的是公共数据。

功能

使用此 MCP 服务,客户端可以:

  • 按关键词、类别或标签搜索和发现数据集
  • 查看数据集元数据和列信息
  • 运行类似 SQL 的查询,以检索和分析数据
  • 获取门户使用统计信息

为 Claude Desktop 安装

使用 npx 快速设置(推荐)

使用此 MCP 服务最简单的方式是通过 npx,无需安装:

  1. 创建或编辑 Claude Desktop 配置:

    在主目录中创建或编辑 claude_desktop_config.json:

    {
      "mcpServers": { 
        "opengov": {
          "command": "npx",
          "args": ["-y", "opengov-mcp-server@latest"],
          "env": {
            "DATA_PORTAL_URL": "https://data.cityofchicago.org"
          }
        }
      }
    }
    

    你可以将 DATA_PORTAL_URL 替换为任何由 Socrata 提供支持的数据门户。

  2. 重启 Claude Desktop(如果它已在运行)

  3. 开始使用 MCP 服务:

    现在,你可以在 Claude Desktop 中提出如下问题:

    How many cars were towed in Chicago this month?
    

    还可以继续提问,深入了解更多细节:

    Which make and color were towed the most?
    Also, were there any interesting vanity plates?
    

    首次运行查询时,npx 会自动下载并运行此服务的最新版本。

从源代码手动安装

如果你更愿意从源代码运行(用于开发或自定义):

  1. 克隆此代码库:

    git clone https://github.com/srobbin/opengov-mcp-server.git
    cd opengov-mcp-server
    
  2. 安装依赖项并构建:

    npm install
    npm run build
    
  3. 创建 Claude Desktop 配置:

    在主目录中创建或编辑 claude_desktop_config.json:

    {
      "mcpServers": { 
        "opengov": {
          "command": "node",
          "args": [
            "/path/to/your/opengov-mcp-server/dist/index.js"
          ],
          "env": {
            "DATA_PORTAL_URL": "https://data.cityofchicago.org"
          }
        }
      }
    }
    

    将 /path/to/your/opengov-mcp-server 替换为你克隆此代码库的实际路径。

  4. 重启 Claude Desktop(如果它已在运行)

可用工具:get_data

此 MCP 服务提供统一的 get_data 工具,供 Claude Desktop 用于访问 Socrata 数据。

参数
  • type(字符串,必需):操作类型

    • catalog:搜索并列出数据集
    • categories:列出数据集类别
    • tags:列出数据集标签
    • dataset-metadata:获取数据集详情
    • column-info:获取数据集列信息
    • data-access:查询并检索记录
    • site-metrics:获取门户统计信息
  • domain(字符串,可选):数据门户主机名(不含协议)

  • query(字符串,可选):用于搜索数据集的查询

  • datasetId(字符串):特定操作所需的数据集标识符

  • soqlQuery(字符串,可选):用于筛选数据的 SoQL 查询

  • limit(数字,可选):要返回的最大结果数(默认值:10)

  • offset(数字,可选):分页时要跳过的结果数(默认值:0)

查询示例

以下是 Claude Desktop 向 MCP 服务发送查询时使用的格式示例:

// Find datasets about budgets
{
  "type": "catalog",
  "query": "budget",
  "limit": 5
}

// Get information about a dataset
{
  "type": "dataset-metadata",
  "datasetId": "6zsd-86xi"
}

// Query dataset records with SQL-like syntax
{
  "type": "data-access",
  "datasetId": "6zsd-86xi",
  "soqlQuery": "SELECT * WHERE amount > 1000 ORDER BY date DESC",
  "limit": 10
}

配置选项

此服务需要一个环境变量:

  • DATA_PORTAL_URL:Socrata 数据门户 URL(例如,https://data.cityofchicago.org)

可以通过以下方式设置:

  • 在 Claude Desktop 配置中(推荐)
  • 在环境变量中
  • 通过命令行:DATA_PORTAL_URL=https://data.cityofchicago.org opengov-mcp-server

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。