Skip to main content
Glama
README.md
<!-- mcp-name: io.github.atomno-mcp/mcp-rosreestr -->

# mcp-rosreestr

MCP-сервер Росреестра: объект по кадастровому номеру, адресу или координатам, кадастровая стоимость с историей. Только открытые сведения, без данных о собственниках.

Russian cadastral data for AI agents.

[![PyPI version](https://img.shields.io/pypi/v/atomno-mcp-rosreestr.svg)](https://pypi.org/project/atomno-mcp-rosreestr/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
[![MCP-compatible](https://img.shields.io/badge/MCP-compatible-blue.svg)](https://modelcontextprotocol.io/)
[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)

Открытые данные Росреестра через НСПД (Национальная система пространственных данных, `nspd.gov.ru`); Публичная кадастровая карта — запасной источник.

Часть семейства MCP-серверов **atomno** ([atomno-mcp.ru](https://atomno-mcp.ru)). Открытый MIT — никакой PII собственников, только публичные характеристики объекта.

## Что умеет

| Тул | Что делает |
|---|---|
| `lookup_by_cadastral` | По кадастровому номеру (например, `77:01:0001066:1234`) возвращает площадь, год постройки, кадастровую стоимость, ВРИ (вид разрешённого использования), адрес. |
| `lookup_by_address` | По свободному тексту адреса возвращает список найденных объектов с их КН (кадастровыми номерами) и confidence score. |
| `lookup_by_coords` | По геокоординатам (lat/lon в WGS84) показывает все объекты в этой точке (земельные участки, здания, помещения). |
| `get_cadastral_value` | Текущая кадастровая стоимость + локально кэшированная история переоценок. |

## Быстрый старт

```bash
# Через uvx (рекомендуется — без установки)
uvx atomno-mcp-rosreestr

# Или через pipx
pipx install atomno-mcp-rosreestr
mcp-rosreestr
```

### Подключение в Cursor

Добавьте в `~/.cursor/mcp.json`:

```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):

```json
{
  "mcpServers": {
    "rosreestr": {
      "command": "uvx",
      "args": ["atomno-mcp-rosreestr"]
    }
  }
}
```

### CLI

```bash
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

```bash
atomno-mcp-rosreestr --check-config
```

Выведет состояние локального кэша и доступность upstream-сервисов (NSPD, PKK).

## Конфигурация (env vars)

Canonical-имена — с префиксом `MCP_ROSREESTR_`. Legacy `ROSREESTR_*` поддерживаются с DeprecationWarning.

| Переменная | Описание | Default |
|---|---|---|
| `MCP_ROSREESTR_HTTP_TIMEOUT` | HTTP-таймаут для upstream-запросов (секунды) | `15.0` |
| `MCP_ROSREESTR_CACHE_PATH` | Путь к локальной SQLite-базе с кэшем | `./mcp_rosreestr_cache.sqlite` |
| `MCP_ROSREESTR_CACHE_TTL_LIVE` | TTL «живых» данных (стоимость) в секундах | `86400` (24 ч) |
| `MCP_ROSREESTR_CACHE_TTL_STATIC` | TTL «статичных» данных (площадь, год) в секундах | `604800` (7 дней) |
| `MCP_ROSREESTR_USER_AGENT` | Кастомный User-Agent для upstream | `atomno-mcp-rosreestr/<version> ...` |
| `MCP_ROSREESTR_LOG_LEVEL` | Уровень логирования (`DEBUG`…`CRITICAL`) | `INFO` |
| `MCP_ROSREESTR_API_KEY` | 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.

## Тестирование

```bash
git clone https://github.com/atomno-mcp/mcp-rosreestr
cd mcp-rosreestr
pip install -e ".[dev]"
pytest -v
```

## Disclaimer / правовые ограничения

- **Не аффилирован** с Федеральной службой государственной регистрации, кадастра и картографии (Росреестр), НСПД (`nspd.gov.ru`) или Публичной кадастровой картой (ПКК). Независимый open-source клиент к публичным API.
- **Только открытые данные** — кадастровые номера, площадь, адрес, кадастровая стоимость. **Нет ПДн** (персональных данных) собственников, паспортов, телефонов.
- **Законное использование** — due-diligence, оценка недвижимости, аналитика на основе публичных реестров. Не для сбора ПДн, спама или обхода ограничений upstream.
- Данные носят **справочный характер**; для юридически значимых решений заказывайте официальную выписку ЕГРН (Единый государственный реестр недвижимости).
- Upstream API **недокументированы** и могут меняться без предупреждения. Используете на свой риск.

## Лицензия

[MIT](LICENSE) © Atomno

## Ссылки

- [GitHub](https://github.com/atomno-mcp/mcp-rosreestr)
- [PyPI](https://pypi.org/project/atomno-mcp-rosreestr/)
- [Issues / баг-трекер](https://github.com/atomno-mcp/mcp-rosreestr/issues)
- [MCP Catalog (Glama.ai)](https://glama.ai/mcp/servers/atomno-mcp/mcp-rosreestr)
- Семейство atomno MCP: [atomno-mcp.ru](https://atomno-mcp.ru)

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityMaintained
ResponsivenessNo issues