Skip to main content
Glama

pybme-mcp

Python 3.10+ License: MIT

Сервер Model Context Protocol (MCP), который является оберткой для pyBME, позволяя агентам LLM выполнять геостатистический анализ методом байесовской максимальной энтропии (BME) с помощью естественного языка, а не кода.

Что он делает

Сервер предоставляет 7 инструментов, 6 ресурсов и 4 подсказки (prompts), которые формируют конвейер рассуждений о неопределенности:

ingest_external_scenario_evidence → inspect_modeling_context
       → fit_uncertainty_model → run_uncertainty_update
       → explain_uncertainty_drivers
       → compare_operator_approaches
       → design_next_observation_or_scenario

Инструменты

Инструмент

Назначение

ingest_external_scenario_evidence

Импорт жестких/мягких наблюдений и топологии сети

inspect_modeling_context

Определение типа задачи и рекомендации семейств моделей

fit_uncertainty_model

Подбор моделей пространственной или сетевой ковариации с перекрестной проверкой

run_uncertainty_update

Запуск прогнозирования BME для целевых точек оценки

explain_uncertainty_drivers

Определение факторов, влияющих на неопределенность в конкретных местах

compare_operator_approaches

Сравнение евклидовых, графовых и физически обоснованных операторов

design_next_observation_or_scenario

Ранжирование вариантов размещения датчиков по снижению дисперсии

Поддерживаемые семейства моделей

  • spatial — Евклидова ковариация (экспоненциальная, гауссова, сферическая и т. д.)

  • space_time — Разделимая пространственно-временная ковариация

  • graph_laplacian — Ядро графовой диффузии на топологии сети

  • physics_informed_network — Физически согласованная сетевая ковариация

  • spectral_hodge — Спектральное разложение Ходжа для сетей потоков

Related MCP server: groundstation

Установка

Сначала установите pyBME (пока отсутствует в PyPI):

pip install git+https://github.com/wiesnerfriedman/pybme.git

Затем установите сервер MCP:

pip install git+https://github.com/wiesnerfriedman/pybme-mcp.git

Или из локального клона:

git clone https://github.com/wiesnerfriedman/pybme-mcp.git
cd pybme-mcp
pip install -e ".[dev]"

Конфигурация

Claude Desktop

Добавьте в claude_desktop_config.json:

{
  "mcpServers": {
    "pybme": {
      "command": "pybme-mcp"
    }
  }
}

VS Code (Copilot)

Добавьте в .vscode/mcp.json:

{
  "servers": {
    "pybme": {
      "type": "stdio",
      "command": "pybme-mcp"
    }
  }
}

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

После настройки задавайте своему агенту вопросы, например:

  • "Подбери модель неопределенности для моих наблюдений PM2.5"

  • "Запусти BME-обновление с учетом сети для этой ливневой канализации"

  • "Сравни евклидовы операторы с операторами графового лапласиана"

  • "Где мне разместить следующий датчик, чтобы максимально снизить неопределенность?"

См. examples/mcp_agent_demo.ipynb для пошагового руководства по всей цепочке инструментов.

Разработка

git clone https://github.com/wiesnerfriedman/pybme-mcp.git
cd pybme-mcp
pip install -e ".[dev]"
pytest

Структура

pybme-mcp/
├── docs/
│   ├── pybme-openswmm-integration.md
│   └── v1-mcp-spec.md
├── examples/
│   └── mcp_agent_demo.ipynb
├── pyproject.toml
├── src/pybme_mcp/
│   ├── __init__.py
│   ├── __main__.py
│   ├── registry.py
│   ├── schemas.py
│   ├── serialisation.py
│   ├── server.py
│   └── services/
│       ├── catalog.py
│       ├── comparison.py
│       ├── context.py
│       ├── explanation.py
│       ├── fitting.py
│       ├── hodge.py
│       ├── ingest.py
│       ├── scenario_design.py
│       └── update.py
└── tests/
    ├── conftest.py
    ├── test_ingest.py
    └── test_integration.py

Лицензия

MIT

Related MCP Connectors

Related MCP Servers