一个启用MCP(模型上下文协议)客户端如Claude Desktop访问Socrata开放数据API的MCP服务器。此集成允许Claude Desktop搜索、检索并分析来自政府数据门户的公共数据集。
此MCP服务器提供了对任何由Socrata驱动的数据门户中的公开数据的访问,包括城市、州和联邦机构的数据门户,例如:
基本使用不需要API密钥,因为服务器访问的是公开数据。
通过这个MCP服务器,客户端可以:
使用npx是最简单的方式,无需任何安装:
创建或编辑你的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驱动的数据门户。
重启Claude Desktop(如果已经运行)
开始使用MCP服务器:
在Claude Desktop中,您可以提问如下问题:
本月在芝加哥有多少辆汽车被拖走?
并可以进一步深入提问:
哪些品牌和颜色的车辆被拖走最多?
同时是否有有趣的车牌号码?
第一次运行查询时,npx会自动下载并运行最新版本的服务器。
如果您希望从源码运行(用于开发或定制):
克隆此仓库:
git clone https://github.com/srobbin/opengov-mcp-server.git
cd opengov-mcp-server
安装依赖并构建:
npm install
npm run build
创建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为您实际克隆仓库的路径。
重启Claude Desktop(如果已经运行)
此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)这可以通过以下方式设置:
DATA_PORTAL_URL=https://data.cityofchicago.org opengov-mcp-server