返回市场
开放政府-mcp服务器

开放政府-mcp服务器

作者:srobbin9 星标更新:2025-04-09

项目介绍

OpenGov MCP Server

一个启用MCP(模型上下文协议)客户端如Claude Desktop访问Socrata开放数据API的MCP服务器。此集成允许Claude Desktop搜索、检索并分析来自政府数据门户的公共数据集。

概述

此MCP服务器提供了对任何由Socrata驱动的数据门户中的公开数据的访问,包括城市、州和联邦机构的数据门户,例如:

基本使用不需要API密钥,因为服务器访问的是公开数据。

功能

通过这个MCP服务器,客户端可以:

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

Claude Desktop安装

使用npx快速设置(推荐)

使用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中,您可以提问如下问题:

    本月在芝加哥有多少辆汽车被拖走?
    

    并可以进一步深入提问:

    哪些品牌和颜色的车辆被拖走最多?
    同时是否有有趣的车牌号码?
    

    第一次运行查询时,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/你/的/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服务器的例子:

// 查找关于预算的数据集
{
  "type": "catalog",
  "query": "预算",
  "limit": 5
}

// 获取数据集的信息
{
  "type": "dataset-metadata",
  "datasetId": "6zsd-86xi"
}

// 使用类似SQL的语法查询数据集记录
{
  "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