occ-gis-mcp
occ-gis-mcp
一个 MCP(模型上下文协议)服务器,让 AI 助手(如 Claude、GitHub Copilot 或任何兼容 MCP 的客户端)能够访问俄克拉荷马州企业委员会开放数据中心的公共 GIS 数据集: https://gisdata-occokc.opendata.arcgis.com/
无需编程经验即可完成设置。 请按顺序执行以下步骤。
这是什么?用大白话说
MCP("模型上下文协议")是 AI 聊天工具调用小型程序("服务器")来获取实时数据的标准方式。本仓库就是这样一个服务器。设置完成后,你可以向 AI 助手提问,例如:
"列出 OCC GIS 数据中心可用的数据集"
"查找俄克拉荷马县所有活跃的油井"
"显示 PST 储罐图层上有哪些字段"
助手会通过这个服务器获取真实、实时的答案,而不是凭空猜测。
Related MCP server: mcp-arcgis-houston
第 1 步 — 安装 Node.js
本服务器运行在 Node.js 上。如果你还没有安装:
下载适用于你操作系统的 LTS(长期支持)版本。
运行安装程序,接受默认设置。
打开终端(Windows 上用 PowerShell,Mac/Linux 上用 Terminal)运行以下命令确认安装成功:
node -v npm -v两者都应打印出版本号(例如
v20.11.0)。如果看到错误,请重启终端/电脑后重试。
第 2 步 — 下载本项目
选项 A:使用 Git(如果你有 Git,推荐此方式)
git clone https://github.com/MSPFE2019/occ-gis-mcp.git
cd occ-gis-mcp选项 B:不使用 Git
点击绿色 Code 按钮 → Download ZIP
解压到你记得住的位置(例如你的"文档"文件夹)
打开终端,
cd进入解压后的文件夹,例如:cd "C:\Users\YourName\Documents\occ-gis-mcp"
第 3 步 — 安装依赖
在项目文件夹内运行:
npm install这会下载服务器所需的小型库。只需执行一次(之后每当代码更新时再执行一次)。
第 4 步 — 测试运行
有两种方式运行此服务器——根据你的使用场景选择:
index.js— 用于本地桌面工具(Claude Desktop、VS Code/Copilot Chat)。http.js— 用于远程/云端工具,如 Copilot Studio(参见下面的专门章节)。
先试试本地版本:
node index.js不会打印任何内容——这是正常的!MCP 服务器通过静默的输入/输出通道通信,只是等待客户端连接。按 Ctrl+C 停止。
如需更直观的测试,请使用官方 MCP Inspector,它会在浏览器中打开一个页面,你可以在其中点击按钮并查看实时结果:
npx @modelcontextprotocol/inspector node index.js这会打开一个本地网页。点击 Connect,然后点击 List Tools,再尝试不带参数运行 list_datasets——你应该会看到以 JSON 形式返回的真实数据集列表。如果成功,说明服务器工作正常。
第 5 步 — 连接到你的 AI 助手
MCP 服务器需要在你的 AI 客户端设置中配置一次。选择与你使用的工具匹配的指南:
Claude Desktop
打开 Claude Desktop → 设置 → 开发者 → 编辑配置(这会在文本编辑器中打开
claude_desktop_config.json)。添加如下条目(将路径替换为你的实际项目文件夹,Windows 上使用双反斜杠
\\):{ "mcpServers": { "occ-gis": { "command": "node", "args": ["C:\\Users\\YourName\\Documents\\occ-gis-mcp\\index.js"] } } }保存文件并完全重启 Claude Desktop。
询问:"OCC GIS 有哪些可用数据集?"
VS Code(GitHub Copilot Chat)或其他支持 MCP 的编辑器
在 MCP 设置中打开(或创建)
mcp.json文件(在 VS Code 中:命令面板 → "MCP: Open User Configuration",或将其添加到工作区的.vscode/mcp.json)。添加上面所示的相同
mcpServers配置块。重新加载窗口,与 Copilot 聊天时新工具就会出现。
任何其他 MCP 客户端
任何支持 MCP 标准的客户端都接受相同格式的配置:一个 command(node)和 args(index.js 的完整路径)。请查阅你的客户端文档,了解配置文件的位置。
可用工具
连接后,你的助手可以调用以下工具:
工具 | 功能 |
| 搜索/列出数据中心的数据集(油井、储罐等)。可选自由文本 |
| 按标题获取单个数据集的完整详情,包括下载链接(CSV、GeoJSON、Shapefile、KML、文件地理数据库)及其实时 ArcGIS 服务 URL。 |
| 获取指定 ArcGIS 图层的字段名、几何类型和范围。 |
| 对图层执行属性( |
自定义为其他 ArcGIS Hub 站点
本服务器不限于 OCC 的数据——它适用于任何提供 DCAT-US 目录源的 ArcGIS Hub 站点(大多数公共 ArcGIS Hub 站点都提供)。要指向其他站点,请打开 server.js,修改靠近顶部的那一行:
const HUB_BASE = "https://gisdata-occokc.opendata.arcgis.com";改为目标站点的基本 URL,然后重新运行服务器。其他一切(工具名称、查询逻辑)都照常工作。
连接到 Microsoft Copilot Studio
Copilot Studio 不会为你运行此服务器——它需要通过互联网以 HTTPS URL 的方式访问。这就是 http.js 的用途(与 index.js 不同,后者仅用于 Claude Desktop 等本地工具)。分为两部分:(A) 将服务器部署到互联网上可访问的位置,然后 (B) 在 Copilot Studio 中注册。
A. 将 HTTP 服务器部署到公共位置
选择对你来说最方便的方式——它们都运行相同的命令:npm install,然后 npm run start:http。
初学者最易上手——Azure App Service(或 Azure Container Apps)
将此仓库推送到你自己的 GitHub 账户(如果你正在从自己的 fork/副本阅读本文,则已完成)。
在 Azure 门户中,创建 Web App → 运行时堆栈:Node 20 LTS → 从你的 GitHub 仓库部署(Azure 会为你设置 CI/CD)。
在 配置 → 启动命令 中,设置:
node http.js部署完成后,Azure 会给你一个类似
https://occ-gis-mcp.azurewebsites.net的 URL。你的 MCP 端点就是该 URL 加上/mcp,例如https://occ-gis-mcp.azurewebsites.net/mcp。
同样简单——Render、Railway 或 Fly.io 这些平台都可以在几次点击内从 GitHub 部署 Node.js 仓库:
构建命令:
npm install启动命令:
npm run start:http它们会给你一个公共的
https://...URL——同样,在后面加上/mcp。
仅限本地测试(不用于生产环境)
npm install
npm run start:http这会在 http://localhost:3000/mcp 启动服务器。要测试 Copilot Studio(云服务)能否访问你自己机器上的服务器,你需要 ngrok 之类的隧道工具(ngrok http 3000),它会给你一个临时的公共 HTTPS URL。这适合快速演示,不适合真实/长期使用。
B. 在 Copilot Studio 中注册
在 Copilot Studio 中打开你的代理 → 转到 工具(或 操作)→ 添加工具 → 新建工具 → 模型上下文协议。
给它起个名字(例如 "OCC GIS Data"),然后粘贴你的服务器 HTTPS URL,包括
/mcp,例如https://occ-gis-mcp.azurewebsites.net/mcp。选择 无身份验证(此服务器是只读的,不需要凭据),除非你已在前面添加了自己的认证层。
保存。Copilot Studio 会调用服务器并自动发现这四个工具(
list_datasets、get_dataset、get_layer_metadata、query_layer)及其描述——无需手动输入模式。在 Copilot Studio 的测试聊天面板中测试:询问"OCC GIS 有哪些可用数据集?"或"查找俄克拉荷马县的活跃油井。"
可用工具
连接后,你的助手可以调用以下工具:
工具 | 功能 |
| 搜索/列出数据中心的数据集(油井、储罐等)。可选自由文本 |
| 按标题获取单个数据集的完整详情,包括下载链接(CSV、GeoJSON、Shapefile、KML、文件地理数据库)及其实时 ArcGIS 服务 URL。 |
| 获取指定 ArcGIS 图层的字段名、几何类型和范围。 |
| 对图层执行属性( |
故障排除
node: command not found— Node.js 未安装,或安装后终端需要重启。重新执行第 1 步。Inspector/工具调用报错提到网络/fetch — 检查你的网络连接;服务器每次请求都会调用实时 ArcGIS Hub API。
助手看不到新工具 — 仔细检查文件路径(本地)或 URL(Copilot Studio)是否正确,以及你是否完全重启/重新连接了客户端。
Copilot Studio 提示无法连接 — 确保你注册的 URL 以
/mcp结尾(而不仅仅是裸域名),部署确实在运行中,并且可以通过普通 HTTPS 访问(没有被 VPN/防火墙拦截)。
备注
数据集列表是从数据中心的 DCAT-US 目录源实时拉取的,并缓存 15 分钟以保持速度。
数据是公开的,但受来源机构使用条款的约束(显示在
get_dataset输出的许可证字段中)。http.js以无状态模式运行(每个请求一个全新服务器),这简化了托管,并且与 Copilot Studio 调用 MCP 工具的方式完全兼容。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP server for interacting with Google Earth Engine, enabling geospatial analysis such as dataset visualization, statistics computation, and search via AI assistants.13MIT
- AlicenseNot gradedqualityCmaintenanceThis MCP server provides access to City of Houston GIS open geospatial data, enabling search, query, and schema retrieval of datasets like parcels and zoning through ArcGIS feature services.7MIT
- AlicenseNot gradedqualityCmaintenanceEnables searching and querying City of Tulsa GIS open geospatial datasets (parcels, zoning, public works) via ArcGIS Feature Services through natural language or direct MCP tool calls.9MIT
- AlicenseAqualityBmaintenanceAn MCP server that gives LLM agents typed, cached access to civic open-data portals via Socrata (SODA 2.1 + Discovery API), enabling search, query, profiling, sampling, and CSV export of datasets.6MIT
Related MCP Connectors
MCP server for Mireye Earth — federal-source-cited geospatial data for any MCP-aware agent.
This MCP server provides seamless access to Malaysia's government open data, including datasets, w…
Official Microsoft MCP Server to query Microsoft Entra data using natural language
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MSPFE2019/occ-gis-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server