# DistrictAPI [Health: Active]

**Category:** 🎓 Education  
**Repository:** https://github.com/DistrictAPI/districtapi-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/districtapi

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

## Tools
Capabilities this server exposes over MCP:

- **lookup_district_by_address** — Find the district serving a US street address
- **get_district** — Get full district profile by NCES LEA ID
- **search_districts** — Search districts by name and/or state
- **get_district_schools** — List all schools in a district
- **get_school** — Get full school profile by NCES school ID
- **find_schools_near_address** — Find schools within a radius of an address

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `uvx` (confidence: high):

```json
"mcpServers": {
  "districtapi": {
    "command": "uvx",
    "args": ["districtapi-mcp"],
    "env": {
      "DISTRICTAPI_KEY": ""
    }
  }
}
```

**Requires environment variables:** `DISTRICTAPI_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What DistrictAPI MCP server does

The DistrictAPI MCP server exposes US public school district and school data from districtapi.dev to MCP-compatible AI assistants. It supports lookups based on addresses, district names, states, NCES LEA IDs, NCES school IDs, and geographic proximity.

Address-based workflows can identify the district serving a US street address or return schools within a specified radius. Identifier-based workflows can retrieve a full district profile or a full school profile. Search and relationship tools support broader exploration: search for districts by name or state, then list all schools associated with a selected district.

These capabilities suit agents answering questions about school service areas, district enrollment and demographics, school locations, or the schools belonging to a district. The available material does not specify the individual fields returned in each profile beyond the listed district and school data categories.

## How it works

The package runs as an MCP server and makes DistrictAPI functionality available as callable tools. An MCP-compatible assistant can select the appropriate operation from the tool set based on a user’s request. For example, an address question can use `lookup_district_by_address`, while a request for schools close to an address can use `find_schools_near_address`.

The six exposed tools are:

- `lookup_district_by_address`: identifies the district serving a US street address.
- `get_district`: retrieves a district profile using an NCES LEA ID.
- `search_districts`: searches districts by name, state, or both.
- `get_district_schools`: lists the schools in a district.
- `get_school`: retrieves a school profile using an NCES school ID.
- `find_schools_near_address`: finds schools within a radius of an address.

## Setup and configuration

Install the Python package with `pip install districtapi-mcp`, or launch it without a separate installation by running `uvx districtapi-mcp`. Configure the MCP client to use `uvx` as the command and `districtapi-mcp` as its argument.

Set `DISTRICTAPI_KEY` in the server environment. The README directs users to districtapi.dev to obtain a free API key. A Claude Desktop or Cursor configuration uses the same command, argument, and environment-variable pattern shown for other MCP clients.

A typical server entry has this structure:

```json
{
  "command": "uvx",
  "args": ["districtapi-mcp"],
  "env": {
    "DISTRICTAPI_KEY": "your_api_key_here"
  }
}
```

## Limitations and notes

The DistrictAPI MCP server is scoped to US school district and school data. Address operations require a US street address, and profile retrieval by identifier requires the relevant NCES LEA ID or NCES school ID. The provided documentation does not state a historical-data range, update schedule, rate limits, supported address formats, or the exact response schema.

The README names Claude and Cursor among compatible MCP clients and also describes support for MCP-compatible AI assistants generally. The server’s license is MIT. REST API documentation and package details are linked from the project README at districtapi.dev/docs and PyPI.

_Full upstream README: https://allmcps.com/mcp/districtapi/readme_

