MCP Hub
Back to servers

pybme-mcp

Enables LLM agents to perform Bayesian Maximum Entropy geostatistical analysis through natural language rather than code, supporting spatial, network, and physics-informed uncertainty modeling.

glama
Stars
1
Updated
Apr 14, 2026
Validated
May 12, 2026

pybme-mcp

Python 3.10+ License: MIT

A Model Context Protocol (MCP) server that wraps pyBME — enabling LLM agents to perform Bayesian Maximum Entropy geostatistical analysis through natural-language intent rather than code.

What it does

The server exposes 7 tools, 6 resources, and 4 prompts that form an uncertainty-reasoning pipeline:

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

Tools

ToolPurpose
ingest_external_scenario_evidenceImport hard/soft observations and network topology
inspect_modeling_contextDetect problem type and recommend model families
fit_uncertainty_modelFit spatial or network covariance models with cross-validation
run_uncertainty_updateRun BME prediction at estimation targets
explain_uncertainty_driversIdentify what drives uncertainty at specific locations
compare_operator_approachesCompare Euclidean vs graph vs physics-informed operators
design_next_observation_or_scenarioRank candidate sensor placements by variance reduction

Supported model families

  • spatial — Euclidean covariance (exponential, gaussian, spherical, …)
  • space_time — Separable space-time covariance
  • graph_laplacian — Graph-diffusion kernel on network topology
  • physics_informed_network — Physically consistent network covariance
  • spectral_hodge — Spectral Hodge decomposition for flow networks

Install

Install pyBME first (not yet on PyPI):

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

Then install the MCP server:

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

Or from a local clone:

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

Configuration

Claude Desktop

Add to claude_desktop_config.json:

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

VS Code (Copilot)

Add to .vscode/mcp.json:

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

Usage

Once configured, ask your agent things like:

  • "Fit an uncertainty model to my PM2.5 observations"
  • "Run a network-aware BME update on this stormwater network"
  • "Compare Euclidean vs graph Laplacian operators"
  • "Where should I place the next sensor to reduce uncertainty the most?"

See examples/mcp_agent_demo.ipynb for a step-by-step walkthrough of the full tool chain.

Development

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

Layout

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

License

MIT

Reviews

No reviews yet

Sign in to write a review