About DistrictAPI
DistrictAPI is an MCP server for querying US school districts and schools using addresses, names, states, or NCES identifiers. It provides district profiles, enrollment-related data, and nearby or district-listed schools for AI assistants.
Key features
- 01District lookup by street address
- 02District search by name or state
- 03District profiles by NCES ID
- 04List schools in a district
- 05School lookup and nearby search
Use cases
- 01Identify the district serving an address
- 02Review a district profile
- 03Find schools in a district
- 04Locate schools near an address
MCP support
Exposes six school-district and school lookup tools to MCP-compatible AI assistants. The server uses a DistrictAPI key to access the service.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
uvx districtapi-mcpDISTRICTAPI_KEYSecretAPI key from https://districtapi.dev (free tier: 500 requests/month)Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.
Tools
6Saved tool list · updated 2w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| address | string | Yes |
Details
From the project READMEdistrictapi-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
| Tool | Description |
|---|---|
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 |
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.
Links
- Website: districtapi.dev
- PyPI: pypi.org/project/districtapi-mcp
- REST API docs: districtapi.dev/docs
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.