pybme-mcp
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., "@pybme-mcpFit an uncertainty model to my PM2.5 observations"
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.
pybme-mcp
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_scenarioTools
Tool | Purpose |
| Import hard/soft observations and network topology |
| Detect problem type and recommend model families |
| Fit spatial or network covariance models with cross-validation |
| Run BME prediction at estimation targets |
| Identify what drives uncertainty at specific locations |
| Compare Euclidean vs graph vs physics-informed operators |
| Rank 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.gitThen install the MCP server:
pip install git+https://github.com/wiesnerfriedman/pybme-mcp.gitOr 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]"
pytestLayout
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.pyLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/wiesnerfriedman/pybme-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server