Skip to main content

nspd-mcp

Экспериментальный прототип MCP-сервера для ФГИС «Единая цифровая платформа «Национальная система пространственных данных» (НСПД).

Предоставляет AI-агентам (через Model Context Protocol) инструменты для поиска и получения сведений об объектах недвижимости: земельных участках, зданиях, сооружениях, кадастровых кварталах и других пространственных данных.

НЕ для промышленного использования. Данные могут быть неполными, устаревшими или временно недоступными.


Возможности

  • Поиск объектов по кадастровому номеру или текстовому запросу
  • Пространственный поиск — по координатам (lat/lng) и в полигоне (GeoJSON)
  • Детальная информация — части ЗУ, виды разрешённого использования, связанные объекты
  • Ресурсы — список слоёв, данные объекта по кадастровому номеру, health-check
  • Промпты — анализ земельного участка, сравнение объектов
  • Три транспорта — stdio, SSE, HTTP

Установка

Из исходного кода

pip install nspd-mcp

Через Docker

docker build -t nspd-mcp .
docker run -i --rm nspd-mcp                             # stdio
docker run --rm -p 8000:8000 nspd-mcp --transport http  # http

Использование

# stdio (по умолчанию, для десктопных агентов)
nspd-mcp

# SSE (для веб-интерфейсов)
nspd-mcp --transport sse --port 8000

# HTTP (для облачных развёртываний)
nspd-mcp --transport http --port 8000

Настройка

Все параметры задаются переменными окружения с префиксом PYNSPD_:

Переменная По умолчанию Описание
PYNSPD_CLIENT_TIMEOUT 30 Таймаут HTTP-запросов к API НСПД, сек
PYNSPD_CLIENT_RETRIES 5 Количество повторных попыток при ошибках
PYNSPD_CACHE_PATH ./.nspd_cache Путь к кэшу ответов
PYNSPD_PROXY — HTTP/HTTPS прокси
PYNSPD_TRANSPORT stdio Транспорт: stdio, sse, http
PYNSPD_LOG_LEVEL INFO Уровень логирования
PYNSPD_LOG_FORMAT json Формат логов: json или console

Инструменты MCP

Инструмент Назначение
search_objects Поиск объектов по кадастровому номеру или тексту
get_feature_by_cn Быстрый просмотр объекта по кадастровому номеру
get_feature_details Доп. вкладки: части ЗУ, ВРИ, связанные объекты
search_at_coordinates Поиск по координатам (lat/lng)
search_in_polygon Поиск в полигоне (GeoJSON) с авто-разбиением
get_server_metrics Метрики и конфигурация сервера

Ресурсы MCP

URI Описание
nspd://layers Список всех доступных слоёв (~60)
nspd://feature/{cn} Данные объекта по кадастровому номеру
nspd://health Health-check сервера

Промпты

Промпт Назначение
analyze_land_plot Комплексный анализ земельного участка
compare_properties Сравнение двух объектов недвижимости

Разработка

pip install -e ".[dev]"
ruff check src/          # линтинг
pytest tests/unit -v     # unit-тесты
pytest -v                # все тесты

Интеграционные тесты требуют доступа к API НСПД (включить NSPD_INTEGRATION_TESTS=1).

Архитектура

  • FastMCP — фреймворк MCP-сервера
  • pynspd — неофициальная библиотека для API НСПД
  • hishel — HTTP-кэш (TTL 24ч для объектов, 7д stale-запас)
  • src-layout на hatchling

Слои НСПД имеют русские названия (например, "Земельные участки из ЕГРН", "Здания", "Кадастровые кварталы"). Для получения полного списка используйте ресурс nspd://layers.

Лицензия

MIT

Metadata

Release files for nspd-mcp 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nspd-mcp 1.0.2
File Size Uploaded Provenance Actions
nspd_mcp-1.0.2.tar.gz 37.6 kB Without provenance Details for nspd_mcp-1.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for nspd-mcp 1.0.2
File Interpreter ABI Platform Actions
nspd_mcp-1.0.2-py3-none-any.whl Python 3 none any Details for nspd_mcp-1.0.2-py3-none-any.whl

Total release size: 76.7 kB

Release files / nspd_mcp-1.0.2.tar.gz

Download URL nspd_mcp-1.0.2.tar.gz
Size 37.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a8461eb919fdc253d9f434444d15c8a1c8e12865315d92a5d83b2f2388a6ab4b
BLAKE2b-256 checksum
How to use checksums
39b0147cbfa8fc4197b27c386d0c5d69c1d650bd801873a470df01a594f4801a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.7

Release files / nspd_mcp-1.0.2-py3-none-any.whl

Download URL nspd_mcp-1.0.2-py3-none-any.whl
Size 39.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9c700a4726fbc0eea10de2d07eaf23dca77b7841be69ac2f9c5732ad1aeaf10c
BLAKE2b-256 checksum
How to use checksums
2682464b473aee340decdd5b45e72c3ded05be1e7294df4ccb01618c558d2718
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.7

Security for nspd-mcp 1.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page