mcp-rosreestr
This server provides access to Russian Rosreestr public cadastral data (via NSPD with PKK as fallback), allowing lookup of property information by cadastral number, address, or coordinates, and retrieving cadastral value history. All data is open/public (no PII) and responses are locally cached in SQLite.
lookup_by_cadastral— Retrieve public characteristics of a property by cadastral number (e.g.,77:01:0001066:1234), including area, year built, cadastral cost, permitted use (ВРИ), address, object type, floor info, wall material, registration dates, encumbrance hints, and optional GeoJSON geometry.lookup_by_address— Search for cadastral objects using a free-text address string, returning a ranked list of matches with cadastral numbers and confidence scores.lookup_by_coords— Identify all cadastral objects (land plots, buildings, premises) at a given WGS84 lat/lon point, with an optional buffer radius.get_cadastral_value— Retrieve the current cadastral value of a property plus any locally cached history of revaluations (useful for property tax assessment and due diligence).
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-rosreestrlook up cadastral info for 77:01:0001066:1234"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-rosreestr
MCP server for Russian Rosreestr open cadastral data — lookup by cadastral number, address or coordinates; cadastral value with history.
MCP-сервер (Model Context Protocol — открытый протокол интеграции AI-агентов с внешними источниками данных), дающий ИИ-агенту прямой доступ к публичным открытым данным Росреестра РФ через НСПД (Национальная система пространственных данных, nspd.gov.ru) и Публичную кадастровую карту (ПКК) как fallback.
Часть семейства MCP-серверов atomno (atomno-mcp.ru). Открытый MIT — никакой PII собственников, только публичные характеристики объекта.
Что умеет
Тул | Что делает |
| По кадастровому номеру (например, |
| По свободному тексту адреса возвращает список найденных объектов с их КН (кадастровыми номерами) и confidence score. |
| По геокоординатам (lat/lon в WGS84) показывает все объекты в этой точке (земельные участки, здания, помещения). |
| Текущая кадастровая стоимость + локально кэшированная история переоценок. |
Related MCP server: mcp-fns-check
Быстрый старт
# Через uvx (рекомендуется — без установки)
uvx atomno-mcp-rosreestr
# Или через pipx
pipx install atomno-mcp-rosreestr
mcp-rosreestrПодключение в Cursor
Добавьте в ~/.cursor/mcp.json:
{
"mcpServers": {
"rosreestr": {
"command": "uvx",
"args": ["atomno-mcp-rosreestr"]
}
}
}Подключение в Claude Desktop
%APPDATA%/Claude/claude_desktop_config.json (Windows) или ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"rosreestr": {
"command": "uvx",
"args": ["atomno-mcp-rosreestr"]
}
}
}CLI
atomno-mcp-rosreestr --help # usage
atomno-mcp-rosreestr --version # 0.1.0
atomno-mcp-rosreestr --check-config # кэш + upstream NSPD/PKK
atomno-mcp-rosreestr --transport http --port 8000 # сетевой транспортHealth-check
atomno-mcp-rosreestr --check-configВыведет состояние локального кэша и доступность upstream-сервисов (NSPD, PKK).
Конфигурация (env vars)
Canonical-имена — с префиксом MCP_ROSREESTR_. Legacy ROSREESTR_* поддерживаются с DeprecationWarning.
Переменная | Описание | Default |
| HTTP-таймаут для upstream-запросов (секунды) |
|
| Путь к локальной SQLite-базе с кэшем |
|
| TTL «живых» данных (стоимость) в секундах |
|
| TTL «статичных» данных (площадь, год) в секундах |
|
| Кастомный User-Agent для upstream |
|
| Уровень логирования ( |
|
| Pro-фичи (не требуется для open client) | — |
Источники данных
НСПД (
nspd.gov.ru) — основной источник, актуальный геопортал Росреестра.ПКК (
pkk5.rosreestr.ru) — fallback (legacy), используется только если НСПД не отвечает или объект не найден.
API оба недокументированные и могут меняться. Клиент написан defensively: при изменении формы ответа поля деградируют до None, а не падают.
Кэширование и ratelimit
Все ответы кэшируются локально в SQLite с раздельными TTL: 24 часа для волатильных (стоимость), 7 дней для статичных (адрес, площадь, год постройки).
История кадастровых стоимостей накапливается локально из периодических обращений (open-данные не выдают полный аудит-trail).
Запросы к upstream — politely-paced, без агрессивного fan-out.
Тестирование
git clone https://github.com/atomno-mcp/mcp-rosreestr
cd mcp-rosreestr
pip install -e ".[dev]"
pytest -vDisclaimer / правовые ограничения
Не аффилирован с Федеральной службой государственной регистрации, кадастра и картографии (Росреестр), НСПД (
nspd.gov.ru) или Публичной кадастровой картой (ПКК). Независимый open-source клиент к публичным API.Только открытые данные — кадастровые номера, площадь, адрес, кадастровая стоимость. Нет ПДн (персональных данных) собственников, паспортов, телефонов.
Законное использование — due-diligence, оценка недвижимости, аналитика на основе публичных реестров. Не для сбора ПДн, спама или обхода ограничений upstream.
Данные носят справочный характер; для юридически значимых решений заказывайте официальную выписку ЕГРН (Единый государственный реестр недвижимости).
Upstream API недокументированы и могут меняться без предупреждения. Используете на свой риск.
Лицензия
MIT © Atomno
Ссылки
Семейство atomno MCP: atomno-mcp.ru
Available Tools
4 toolsget_cadastral_valueA
Return the current cadastral value of a Russian property by cadastral number, plus any locally cached revaluation history. Tax base for property tax. Note: full audit trail of historical revaluations is only available via Pro tools or an EGRN extract.
| Name | Required | Description | Default |
|---|---|---|---|
| cadastral_number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| note | No | |
| source | No | |
| history | No | |
| cadastral_number | Yes | |
| current_value_rub | No | |
| current_value_date | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It states it returns current value and cached history, and notes limitations on historical data. However, it does not mention whether the operation is read-only, authentication requirements, or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first concisely states the primary function, and the second adds a crucial limitation. No redundant words, and the structure is front-loaded with essential information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter and presence of an output schema, the description covers the core functionality and its limitation. It provides sufficient context for a simple retrieval tool, though it could mention error cases or value format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter, cadastral_number, has 0% schema description coverage. The tool description does not elaborate on the format, pattern, or example of a valid cadastral number, leaving the agent without necessary guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool returns the current cadastral value and revaluation history for a Russian property by cadastral number. It specifies the resource (cadastral number), the action (return), and the context (tax base). This distinguishes it from sibling tools which are lookup-focused.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the tool is used for property tax base, providing a clear use case. It also notes that a full audit trail requires Pro tools or EGRN extract, guiding agents on when to consider alternatives. However, it does not explicitly contrast with sibling tools like lookup_by_address.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_by_addressA
Find Russian cadastral objects matching a free-text address. Searches the public NSPD geoportal index. Returns up to limit hits with cadastral numbers and a confidence score.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| address | Yes | ||
| object_types | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| query | Yes | |
| source | No | |
| results | No | |
| took_ms | No | |
| warnings | No | |
| query_normalized | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. Indicates it is a read operation (Searches, Returns). Does not disclose rate limits, caching, or potential side effects, but given the nature it seems safe.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with no waste. First sentence states purpose, second specifies source, third describes output. Front-loaded with key information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple and description covers primary behavior. Output schema exists, so return value details are optional. Missing explanation for object_types parameter reduces completeness slightly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but description only explains 'limit' (up to `limit` hits). Does not explain 'address' or 'object_types' parameters, leaving ambiguity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb (Find), resource (Russian cadastral objects), and input (free-text address). Distinguishes from sibling tools (lookup_by_cadastral, lookup_by_coords) by specifying the search method and source.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage when address is available, but does not explicitly mention when not to use or compare with alternatives. Sibling names provide context but no direct guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_by_cadastralB
Get the public characteristics of a Russian cadastral object by cadastral number (formatted XX:XX:XXXXXXX:XXXX, for example 77:01:0001066:1234). Returns area, year built, cadastral cost, permitted use and address. Open data only — no owner PII.
| Name | Required | Description | Default |
|---|---|---|---|
| cadastral_number | Yes | ||
| include_geometry | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | 'nspd' (primary) | 'pkk_fallback' | 'cache'. |
| address | No | |
| in_egrn | No | Whether the object is present in ЕГРН at all. |
| area_sqm | No | |
| fetched_at | No | |
| year_built | No | |
| object_type | No | |
| floor_number | No | |
| floors_total | No | |
| permitted_use | No | Free-text ВРИ (вид разрешённого использования). |
| wall_material | No | |
| cadastral_number | Yes | Канонический КН XX:XX:XXXXXXX:XXXX. |
| geometry_geojson | No | GeoJSON polygon if include_geometry=true was requested. |
| last_update_date | No | |
| object_type_code | No | Raw type code from the upstream (e.g. 'ROOM', 'BUILDING'). |
| registration_date | No | |
| address_normalized | No | |
| cadastral_cost_rub | No | |
| permitted_use_code | No | |
| cadastral_cost_date | No | |
| construction_series | No | |
| encumbrances_present | No | Whether public sources hint at encumbrances (зарегистрированные ограничения). Open data rarely exposes this — treated as a soft signal. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It discloses that only open data is returned (no owner PII), which is a behavioral trait. However, it does not mention rate limits, authorization requirements, or what happens with invalid numbers, leaving gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, no redundant or extraneous content. Every sentence adds value: what it does, input format, output fields, data limitations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple data lookup with 2 parameters and an output schema (not shown), the description covers the main purpose, input format, output types, and data scope. Missing details on the include_geometry parameter and potential error states, but overall adequate for basic understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It provides format guidance for the required cadastral_number parameter (example and pattern) but does not explain the optional boolean parameter include_geometry. The listed return fields are helpful but not directly linked to the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves public characteristics by cadastral number, including a format example. However, it does not explicitly differentiate from sibling tools like get_cadastral_value, lookup_by_address, or lookup_by_coords which use different input methods.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The description implies usage when you have a cadastral number but does not mention that other input methods are covered by sibling tools, nor does it provide exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lookup_by_coordsA
Show Russian cadastral objects (parcels and buildings) at a given geographic point. Coordinates are WGS84 (EPSG:4326). Useful for 'what's at this dot on the map' lookups.
| Name | Required | Description | Default |
|---|---|---|---|
| lat | Yes | ||
| lon | Yes | ||
| object_types | No | ||
| buffer_meters | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| lat | Yes | |
| lon | Yes | |
| source | No | |
| results | No | |
| took_ms | No | |
| buffer_meters | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It mentions coordinate system but lacks details on read-only nature, permissions, response format, or pagination. Output schema exists, partially compensating.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the main action, no wasted words. Very concise and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 4 parameters with no schema descriptions and an output schema, the description covers the core operation but omits parameter details. It is adequate but not fully complete for all parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description adds only coordinate system context for lat/lon; it does not explain object_types, buffer_meters, or their defaults. The agent would need to infer parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool shows Russian cadastral objects at a geographic point using a specific coordinate system. It differentiates itself from siblings by focusing on coordinate-based lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear use-case ('what's at this dot on the map') and specifies coordinate system, but does not explicitly compare to sibling tools or state when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: get_cadastral_value retrieves valuation data, lookup_by_address searches by address, lookup_by_cadastral gets characteristics by cadastral number, and lookup_by_coords finds objects at a point. No overlap in functionality.
All tool names use snake_case and follow a verb_by_noun or verb_noun pattern (e.g., lookup_by_address, get_cadastral_value). The slight inconsistency between 'get' and 'lookup' is minor but does not cause confusion.
With 4 tools, the server is well-scoped for its purpose—covering key lookup operations for Russian cadastral data. This is within the ideal range of 3-15 tools.
The tool set covers essential lookups (by address, cadastral number, coordinates, and value). Minor gaps include lack of spatial search by polygon or full property report, but these are reasonable omissions for a focused public data API.
Maintenance
Related MCP Connectors
MCP server for Japan geodata: cadastral lot numbers (chiban) and reverse geocoding, for AI agents.
Unofficial MCP server for the public PortlandMaps property/permit/zoning API. Not city-affiliated.
MCP server for Russian books search, details, and recommendation candidates.
MCP server for Mireye Earth — federal-source-cited geospatial data for any MCP-aware agent.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables retrieval of Russian real estate cadastral data including coordinates, property information, area, cadastral value, and GeoJSON geometry by cadastral number using Rosreestr API.5MIT
- AlicenseAqualityBmaintenanceMCP server for verifying Russian counterparties (legal entities and individual entrepreneurs) via public Federal Tax Service data: EGRUL/EGRIP, bankruptcy registry (EFRSB), Transparent Business, bailiff service (FSSP), and arbitration courts (KAD).815MIT
- AlicenseAqualityAmaintenanceMCP server for the Russian state registries EGRUL (legal entities) and EGRIP (individual entrepreneurs), built on official Federal Tax Service open-data dumps. Self-hosted via local SQLite.82MIT
- FlicenseBqualityDmaintenanceA Python MCP server that queries Spanish Cadastre services for non-protected cadastral data and exports parcel geometry in GML, GeoJSON, and IFC formats.195-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/atomno-mcp/mcp-rosreestr'
If you have feedback or need assistance with the MCP directory API, please join our Discord server