socrata-mcp

socrata-mcp

An MCP server that provides tools to search, query, and aggregate data from any Socrata open data portal.

Category
Visit Server

README

Socrata MCP Server

License: MIT Generated with Claude

An MCP server that gives Claude tools to explore and query any Socrata open data portal.

Tools

Tool Description
search_datasets Search for datasets by keyword, optionally scoped to a specific portal domain
get_dataset_metadata Get column definitions and metadata for a dataset
query_dataset Query rows using SoQL WHERE / SELECT / ORDER
aggregate_dataset GROUP BY aggregation with count/sum/avg etc.
list_portal_categories List dataset categories on a specific portal

Installation

Prerequisites

You need Python 3.10 or newer. Check your version:

python3 --version

If you need to install or upgrade Python:

  • macOS: brew install python (requires Homebrew)
  • Ubuntu/Debian / WSL: sudo apt update && sudo apt install -y python3 python3-venv python3-pip
  • Fedora/RHEL: sudo dnf install python3
  • Windows 11 native: Download from python.org and check Add to PATH during install

1. Clone or copy this folder

git clone https://github.com/your-username/socrata-mcp.git
cd socrata-mcp

Or just copy the server.py and requirements.txt files into a folder of your choice.


2. Create a virtual environment

python3 -m venv .venv

3. Activate the virtual environment

Platform Command
macOS / Linux / WSL source .venv/bin/activate
Windows (cmd.exe) .venv\Scripts\activate.bat
Windows (PowerShell) .venv\Scripts\Activate.ps1

Your prompt will change to show (.venv) when it is active.


4. Install dependencies

pip install -r requirements.txt

5. Verify the install

python3 server.py --help

You should see an error like:

RuntimeError: SOCRATA_DOMAIN environment variable is required

That means the server loaded correctly — it just needs your credentials configured (see below).


Configuration

Both environment variables are required. The server will not start without them.

Variable Description Example
SOCRATA_DOMAIN Hostname of the Socrata portal data.delaware.gov
SOCRATA_APP_TOKEN API token from your Socrata account abc123xyz...

To get an API token: log in to your Socrata portal → Developer Settings → Create New App Token.


Add to Claude Desktop

Claude Desktop reads its MCP server list from a JSON config file. Edit the file for your platform:

Platform Config file location
macOS ~/Library/Application Support/Claude/claude_desktop_config.json
Windows 11 %APPDATA%\Claude\claude_desktop_config.json
WSL Use the Windows path above — Claude Desktop runs on Windows, not inside WSL

macOS / Linux (native)

{
  "mcpServers": {
    "socrata": {
      "command": "/absolute/path/to/socrata-mcp/.venv/bin/python3",
      "args": ["/absolute/path/to/socrata-mcp/server.py"],
      "env": {
        "SOCRATA_DOMAIN": "data.delaware.gov",
        "SOCRATA_APP_TOKEN": "your-api-key-here"
      }
    }
  }
}

Replace /absolute/path/to/socrata-mcp with the real path. Find it by running pwd inside the project folder.

Windows 11 (native Python)

{
  "mcpServers": {
    "socrata": {
      "command": "C:\\Users\\YourName\\socrata-mcp\\.venv\\Scripts\\python.exe",
      "args": ["C:\\Users\\YourName\\socrata-mcp\\server.py"],
      "env": {
        "SOCRATA_DOMAIN": "data.delaware.gov",
        "SOCRATA_APP_TOKEN": "your-api-key-here"
      }
    }
  }
}

Windows 11 with WSL

Claude Desktop runs on Windows but can launch a WSL process via wsl.exe:

{
  "mcpServers": {
    "socrata": {
      "command": "wsl.exe",
      "args": [
        "--exec",
        "/home/your-wsl-username/socrata-mcp/.venv/bin/python3",
        "/home/your-wsl-username/socrata-mcp/server.py"
      ],
      "env": {
        "SOCRATA_DOMAIN": "data.delaware.gov",
        "SOCRATA_APP_TOKEN": "your-api-key-here"
      }
    }
  }
}

Replace your-wsl-username with your WSL username (run whoami inside WSL to check).


After editing the config, restart Claude Desktop and you should see the Socrata tools available.


License

This project is licensed under the MIT License.

This code was generated using Claude by Anthropic.


Example queries

  • "What datasets are available on the Delaware open data portal?"
  • "Show me the top vendors by contract spend in FY2025"
  • "What columns are in dataset sifm-293u?"
  • "Which agencies spent the most on cloud solutions last year?"
  • "Search for education datasets on data.delaware.gov"

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured