DistrictAPI

Official registry Other

US public school districts and schools by address — enrollment, demographics, boundaries

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package districtapi-mcp
Claude Code
claude mcp add districtapi -e 'DISTRICTAPI_KEY=<your districtapi_key>' -- uvx districtapi-mcp==0.1.3
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "districtapi": {
            "command": "uvx",
            "args": [
                "districtapi-mcp==0.1.3"
            ],
            "env": {
                "DISTRICTAPI_KEY": "<your districtapi_key>"
            }
        }
    }
}

Environment variables

  • DISTRICTAPI_KEY required secret API key from https://districtapi.dev (free tier: 500 requests/month)

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. districtapi-mcp
  2. Installation
  3. Configuration
  4. Available Tools
  5. Example
  6. Links
  7. License

districtapi-mcp

mcp-name: dev.districtapi/districtapi-mcp

MCP server for districtapi.dev — US school district and school data for AI agents.

Expose school district lookups as tools to any MCP-compatible AI assistant (Claude, Cursor, Copilot, etc.).

Installation

pip install districtapi-mcp

Or run directly with uvx (no install needed):

uvx districtapi-mcp

Configuration

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "districtapi": {
      "command": "uvx",
      "args": ["districtapi-mcp"],
      "env": {
        "DISTRICTAPI_KEY": "your_api_key_here"
      }
    }
  }
}
Cursor / other MCP clients
{
  "mcpServers": {
    "districtapi": {
      "command": "uvx",
      "args": ["districtapi-mcp"],
      "env": {
        "DISTRICTAPI_KEY": "your_api_key_here"
      }
    }
  }
}

Get a free API key at districtapi.dev.

Available Tools

ToolDescription
lookup_district_by_addressFind the district serving a US street address
get_districtGet full district profile by NCES LEA ID
search_districtsSearch districts by name and/or state
get_district_schoolsList all schools in a district
get_schoolGet full school profile by NCES school ID
find_schools_near_addressFind schools within a radius of an address

Example

Once configured, you can ask your AI assistant:

"What school district serves 1600 Pennsylvania Ave, Austin TX, and how many students are enrolled?"

The assistant will call lookup_district_by_address and return the full district profile.

License

MIT

Frequently asked questions

What is DistrictAPI?

US public school districts and schools by address — enrollment, demographics, boundaries

How do I install DistrictAPI?

It runs on your machine. In Claude Code: claude mcp add districtapi -e 'DISTRICTAPI_KEY=<your districtapi_key>' -- uvx districtapi-mcp==0.1.3. For other clients, paste the JSON configuration from this page into their MCP settings.

Does DistrictAPI need an API key?

Yes. It expects DISTRICTAPI_KEY, which you set in its configuration.

Is DistrictAPI open source?

Its code is public on GitHub, but the repository does not declare a standard license.

Who maintains DistrictAPI?

It is published by DistrictAPI. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.