Construction Maps MCP Server
An MCP server for pre-project land analysis: Rosreestr boundaries, Yandex geocoding and maps, infrastructure and geometry
Medium risk
We rate an entry medium when the tool runs code, makes network calls or reads project files. Check what exactly it does before installing.
Why this level
- Consumes a metered Yandex Maps API quota under heavy use
- Uses an unofficial Rosreestr API, so accuracy and availability are not guaranteed
Install
Manual install
python3.10 -m pip install -e .
pip install -r requirements.txtInstallation requires Python 3.10 or newer.
This is third-party code. Review the repository files before installing.
What it does
The server provides 16 tools for land-plot analysis in construction, combining Rosreestr data through the unofficial NSPD API with Yandex Maps. The cadastre block returns a plot's boundaries in GeoJSON, its area, address and category, and address search. Geocoding converts an address to coordinates and back, with validation. The infrastructure block finds nearby objects such as schools and hospitals within a radius, calculates distances to suppliers, and fetches a satellite image of the plot. Geometry tools compute a polygon's area, check plot intersections, measure distances and build a buffer. Visualization tools render a static map with markers and export data to GeoJSON and JSON. Data is cached in two layers, in-memory and SQLite, with a different lifetime per data type, and both upstream sources are rate-limited.
Who it is for. For developers, architects and land specialists who need a quick pre-project analysis of a plot.
Good fit when
- You need to quickly get a plot's boundaries, area and category by cadastral number
- You need to find nearby infrastructure and estimate logistics to suppliers
- You need to check whether neighboring plot boundaries overlap
Not a fit when
- You need official, legally binding Rosreestr data: access goes through the unofficial rosreestr2coord library, not the agency's own API
- You have no Yandex Maps API key: geocoding and maps do not work without one
Example request
Analyze plot 77:07:0001002:1002: show its boundaries and area, find schools and hospitals within two kilometers, and get a satellite imageLimitations
Rosreestr data access goes through the unofficial rosreestr2coord library rather than the agency's own API, which the README states plainly. A personal Yandex Maps API key is required; the free tier is limited to roughly 25,000 requests per day. Python 3.10 or newer is required, since the MCP SDK does not work on 3.9. The repository metadata does not declare a license explicitly, though the README states MIT.
How to disable. Remove the server from ~/.claude/mcp-servers.json and clear the cache at ~/.construction_maps_mcp if needed.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| YANDEX_MAPS_API_KEY required, secret | Yandex Maps API key for geocoding and maps |
| CACHE_DIR | Cache directory, defaults to ~/.construction_maps_mcp |
| YANDEX_RATE_LIMIT_RPM | Yandex Maps requests-per-minute limit, defaults to 15 |
| ROSREESTR_RATE_LIMIT_RPM | Rosreestr requests-per-minute limit, defaults to 30 |
Security check
- Consumes a metered Yandex Maps API quota under heavy use
- Uses an unofficial Rosreestr API, so accuracy and availability are not guaranteed
README in short
The Russian README describes the server as an integration of Rosreestr (NSPD) data and Yandex Maps for pre-project plot analysis. It gives a table of 16 tools across five blocks: cadastre, geocoding, infrastructure, geometry, visualization. It covers the Python 3.10 requirement, install steps and .env configuration, Claude Code integration, example requests for pre-project analysis, logistics and intersection checks. It describes a two-layer cache architecture with different TTLs per data type and rate limiting for both upstream sources. MIT license, status listed as production ready MVP.
FAQ
Is the Rosreestr data official?
No, the README states plainly that access goes through the unofficial rosreestr2coord library, not the agency's own API.
How many free Yandex Maps API requests are there?
Per the README the free tier gives roughly 25,000 requests a day, and the server itself rate-limits to 15 requests per minute.
Related
166 skills for scientific work: bioinformatics, cheminformatics, clinical data, geospatial analysis and 100+ databases
Google's open-source MCP server for databases: ready tools for Postgres, MySQL, BigQuery, Spanner and more, plus custom tools in tools.yaml
Official Hugging Face skills: Hub operations via the hf CLI, datasets, model training, Spaces, evals and deployment
A visualization language for agents and an MCP server: neat charts from a simple semantic spec