开放数据协议服务器

一个MCP服务器,使MCP客户端如Claude Desktop能够访问Socrata开放数据API,搜索、检索和分析政府数据门户的公共数据集。

  • by srobbin
  • TypeScript
  • 本地部署
  • 11 星标
  • 更新于
在 GitHub 查看 srobbin/opengov-mcp-server

使用说明

OpenGov MCP服务器

MCP(模型上下文协议)服务器,使Claude Desktop等MCP客户端能够访问Socrata开放数据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"
          }
        }
      }
    }
    

    您可以用任何由Socrata驱动的数据门户替换DATA_PORTAL_URL。

  2. 重新启动克劳德桌面 (如果它已经在运行)

  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桌面配置:

    创建或编辑 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. 重新启动克劳德桌面 (如果它已经在运行)

可用工具:get_data

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

参数

  • type (字符串,必填):操作类型

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

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

  • datasetId (string):特定操作的数据集标识符

  • 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