arc-opendata-mcp
v0.1.0
Published
MCP server to discover, inspect, query, and download Atlanta Regional Commission (ARC) open data (ArcGIS Hub / REST). Retargetable to any ArcGIS organization's open-data hub.
Maintainers
Readme
ARC Open Data for VS Code
This MCP server lets GitHub Copilot find and work with public open-data datasets from ArcGIS Online and ArcGIS Hub, including datasets published by organizations other than the Atlanta Regional Commission (ARC).
You can ask Copilot to:
- Find datasets about a topic, such as parks, transportation, or housing
- Explain what a dataset contains
- Show a sample of the records
- Filter records to answer a specific question
- Download a dataset and its data dictionary
This guide explains how to add the server manually to a VS Code workspace.
Before you start
You need:
- VS Code with GitHub Copilot Agent mode and MCP support
- Node.js 18 or newer
- A local copy of this project
- An internet connection
You do not need an ARC account, an ArcGIS account, or an API key. ARC's data is publicly available.
Add the server to your workspace
Complete these steps once for each computer where you want to use the server.
1. Build the server
Open a terminal in the folder containing this project. Then run these commands:
npm install
npm run buildThe second command creates the server file at dist/index.js.
2. Open your workspace
Open the VS Code workspace where you want to use ARC Open Data.
The workspace is the folder you opened in VS Code for your project. The MCP settings belong to this workspace, not to the ARC Open Data project folder.
3. Create the MCP settings file
In your workspace, create a folder named .vscode if it does not already exist. Inside that folder, create a file named mcp.json.
Add this configuration:
{
"servers": {
"arc-opendata": {
"command": "node",
"args": [
"C:\\Users\\YourName\\Projects\\atlantaregionalcommission-opendata-mcp\\dist\\index.js"
]
}
}
}Replace the example path with the full path to dist/index.js in your copy of this project.
On Windows, each backslash in the path must be written twice, as shown above. For example, the real path:
C:\Users\Maria\Projects\arc-opendata-mcp\dist\index.jsmust appear in mcp.json as:
C:\\Users\\Maria\\Projects\\arc-opendata-mcp\\dist\\index.jsSave the file. Your workspace should now contain:
your-workspace/
.vscode/
mcp.jsonStart using ARC Open Data
- Reload the VS Code window if Copilot does not see the new server immediately.
- Open GitHub Copilot Chat and switch to Agent mode.
- Ask a question such as:
Find public ArcGIS datasets about parks and summarize the three most relevant ones.
Copilot searches public ArcGIS organizations by default and shows the owning organization and item owner with each result. To restrict discovery to ARC, ask for an ARC-only search or use scope: "arc" with search_datasets. You can then ask Copilot to inspect or download the dataset you choose.
For a dataset that is not returned by text search, use its ArcGIS item ID or server dataset ID directly with get_dataset_details. For example, the dataset URL ending in c6c349f6c7f64cd8a18825b843ea8af6_0 can be used as c6c349f6c7f64cd8a18825b843ea8af6_0.
For example:
Download the dataset about the selected park locations as a CSV file and include its data dictionary.
Downloaded files are normally saved in the folder where the MCP server is started. You can also ask Copilot to save a download to a specific folder when the tool supports an output-folder option.
Troubleshooting
The server does not appear
- Confirm that
npm run buildcompleted successfully. - Check that the path in
.vscode/mcp.jsonpoints to the actualdist/index.jsfile. - On Windows, check that every backslash in the JSON path is doubled.
- Reload the VS Code window.
Copilot cannot find any datasets
Check that you have an internet connection. The server connects to public ArcGIS Hub and ArcGIS Online search services when Copilot uses it. Global search can be broader and noisier than an ARC-only search, so use specific title, location, or subject keywords and review the owner and organization fields.
I get a Node.js error
Check your Node.js version by running:
node --versionInstall Node.js 18 or newer if the version is lower than 18 or Node.js is not installed.
For technical readers
The server uses ARC's public ArcGIS Hub and ArcGIS REST services. It runs locally through the MCP standard input/output connection and does not open a web server or network port.
Technical API details are available in docs/ENDPOINTS.md.
License
MIT
