PyResToolboxSAFE
Model Context Protocol (MCP) server for AI-powered reservoir engineering calculations. Integrates pyResToolbox with Claude AI for PVT analysis, well performance, simulation support, and more. 47 production-ready tools using industry-standard correlations.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Bring Reservoir Engineering Calculations to AI
Power your AI assistants with industry-standard petroleum engineering calculations
[](https://www.gnu.org/licenses/gpl-3.0) [](https://www.python.org/downloads/) [](TESTRESULTS.md) [](https://github.com/jlowin/fastmcp) [](PRODUCTIONREADY.md)
[](https://modelcontextprotocol.io/) [](https://github.com/mwburgoyne/pyResToolbox) [](https://buymeacoffee.com/gabrielsero)
Quick Start • Features • Examples • Documentation • Contributing
108 Production-Ready Tools | Field & Metric Units | Zero Configuration
PVT Analysis • Well Performance • Nodal Analysis • DCA • Material Balance • Simulation Support • Brine Properties • Geomechanics • Heterogeneity Analysis
A production-ready Model Context Protocol (MCP) server that gives AI agents like Claude access to the comprehensive reservoir engineering library pyResToolbox. Now Claude can perform sophisticated PVT calculations, well performance analysis, and reservoir simulation tasks through natural conversation.
![pyResToolbox MCP D
0715a5ad9b7fOBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add pyrestoolbox-mcp -- uvx pyrestoolbox-mcp
{
"mcpServers": {
"pyrestoolbox-mcp": {
"command": "uvx",
"args": [
"pyrestoolbox-mcp"
]
}
}
}Exposed tools (108)
106 read · 2 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
arps_cumulative | read | Calculate Arps cumulative production at specified time(s). |
arps_rate | read | Calculate Arps decline rate at specified time(s). |
beta_to_lorenz | read | Convert Dykstra-Parsons beta to Lorenz coefficient. |
calculate_brine_properties | read | Calculate properties of CH4 or CO2 saturated brine. |
check_let_physical | read | Check if LET parameters produce physically valid relative permeability. |
co2_brine_mutual_solubility | read | Calculate CO2-brine mutual solubilities and properties. |
create_gas_pvt | write | Create a gas PVT object and compute properties at specified conditions. |
create_oil_pvt | write | Create an oil PVT object and compute properties at specified pressures. |
decline_forecast | read | Generate a production rate and cumulative forecast from decline parameters. |
duong_rate | read | Calculate Duong decline rate for unconventional reservoirs. |
estimated_ultimate_recovery | read | Calculate Estimated Ultimate Recovery (EUR) for Arps decline. |
evaluate_jerauld | read | Evaluate Jerauld relative permeability model. |
evolved_gas_sg | read | Calculate evolved gas specific gravity. |
extract_eclipse_problem_cells | read | Extract convergence problem cells from ECLIPSE/Intersect PRT file. |
fit_decline | read | Fit a decline curve model to production rate vs time data. |
fit_decline_cumulative | read | Fit a decline curve model to rate vs cumulative production data. |
fit_ratio | read | Fit a ratio model (GOR, WOR, CGR) to production data. |
fit_relative_permeability | read | Fit relative permeability curve to measured data. |
fit_relative_permeability_best | read | Find best-fit relative permeability model from all available families. |
flow_fractions_from_lorenz | read | Generate flow fractions from Lorenz coefficient. |
flowing_bhp | read | Calculate flowing bottom hole pressure using VLP correlations. |
gas_compressibility | read | Calculate gas compressibility (Cg). |
gas_critical_properties | read | Calculate gas pseudo-critical properties (Tc and Pc). |
gas_delta_pseudopressure | read | Calculate delta-pseudopressure between two pressures. |
gas_density | read | Calculate gas density (ρg) at reservoir conditions. |
gas_formation_volume_factor | read | Calculate gas formation volume factor (Bg). |
gas_fws_sg | read | Estimate free-water-saturated gas specific gravity from separator data. |
gas_hydrate_prediction | read | Predict gas hydrate formation conditions, water balance, and inhibitor requirements. |
gas_material_balance | read | Perform P/Z gas material balance for OGIP estimation. |
gas_pressure_from_pz | read | Calculate pressure from P/Z value. |
gas_pseudopressure | read | Calculate gas pseudopressure difference (m(p)). |
gas_rate_linear | read | Calculate gas production rate for linear flow. |
gas_rate_radial | read | Calculate gas production rate for radial flow (vertical well). |
gas_sg_from_composition | read | Calculate gas specific gravity from composition. |
gas_sg_from_gradient | read | Calculate gas specific gravity from pressure gradient. |
gas_viscosity | read | Calculate gas viscosity (μg). |
gas_water_content | read | Calculate water content of natural gas. |
gas_z_factor | read | Calculate gas compressibility factor (Z-factor). |
generate_aquifer_influence | read | Generate Van Everdingen & Hurst aquifer influence functions. |
generate_black_oil_table | read | Generate comprehensive black oil PVT table. |
generate_black_oil_table_og | read | Generate oil-gas black oil PVT tables (PVTO/PVDO + PVDG). |
generate_layer_distribution | read | Generate layered permeability distribution from Lorenz coefficient. |
generate_pvtw_table | read | Generate PVTW water PVT table for reservoir simulation. |
generate_rel_perm_table | read | Generate relative permeability table for reservoir simulation. |
generate_vfp_inj_table | read | Generate VFPINJ table for ECLIPSE/Intersect simulation. |
generate_vfp_prod_table | read | Generate VFPPROD table for ECLIPSE/Intersect simulation. |
geomech_breakdown_pressure | read | Calculate formation breakdown pressure for hydraulic fracturing. |
geomech_breakout_stress_inversion | read | Estimate horizontal stress magnitude from observed breakout width. |
geomech_breakout_width | read | Calculate borehole breakout width using Kirsch elastic solution. |
geomech_critical_drawdown | read | Calculate critical drawdown pressure before sand/shear failure at wellbore. |
geomech_critical_mud_weight_collapse | read | Calculate critical mud weight to prevent borehole collapse. |
geomech_deviated_well_stress | read | Transform principal stresses to deviated wellbore coordinate system. |
geomech_dynamic_to_static_moduli | read | Convert dynamic elastic moduli (from logs) to static moduli (from core tests). |
geomech_effective_stress | read | Calculate effective stress from total stress and pore pressure. |
geomech_elastic_moduli_conversion | read | Convert between elastic moduli (Young |
geomech_fault_stability | read | Analyze fault stability using Coulomb failure stress (CFS) criterion. |
geomech_fracture_gradient | read | Calculate fracture gradient and maximum allowable mud weight. |
geomech_horizontal_stress | read | Calculate horizontal stresses from vertical stress using elastic theory. |
geomech_hydraulic_fracture_width | read | Estimate hydraulic fracture width from treating pressure and geometry. |
geomech_leak_off_pressure | read | Analyze leak-off test (LOT) or formation integrity test (FIT) data. |
geomech_pore_compressibility | read | Calculate effective pore compressibility from rock and fluid properties. |
geomech_pore_pressure_eaton | read | Calculate pore pressure using Eaton |
geomech_reservoir_compaction | read | Calculate reservoir compaction from pressure depletion. |
geomech_rock_strength_mohr_coulomb | read | Calculate rock strength using Mohr-Coulomb failure criterion. |
geomech_safe_mud_weight_window | read | Calculate safe mud weight window from pore pressure and fracture gradient. |
geomech_sand_production | read | Predict sand production potential and critical drawdown pressure. |
geomech_shear_failure_criteria | read | Evaluate multiple shear failure criteria for rock strength comparison. |
geomech_stress_path | read | Calculate stress changes during reservoir depletion or injection. |
geomech_stress_polygon | read | Calculate stress polygon bounds for frictional equilibrium constraints. |
geomech_tensile_failure | read | Predict tensile failure and fracture initiation at wellbore wall. |
geomech_thermal_stress | read | Calculate thermal stress effects on wellbore and formation. |
geomech_ucs_from_logs | read | Estimate Unconfined Compressive Strength (UCS) from well log data. |
geomech_vertical_stress | read | Calculate vertical stress (overburden) from depth and formation properties. |
get_component_properties | read | Get critical properties for hydrocarbon components from database. |
ipr_curve | read | Generate an Inflow Performance Relationship (IPR) curve. |
lorenz_from_flow_fractions | read | Calculate Lorenz coefficient from flow and permeability fractions. |
lorenz_to_beta | read | Convert Lorenz coefficient to Dykstra-Parsons beta parameter. |
oil_api_from_sg | read | Convert oil specific gravity to API gravity. |
oil_bubble_point | read | Calculate oil bubble point pressure (Pb). |
oil_compressibility | read | Calculate oil compressibility (Co). |
oil_density | read | Calculate oil density (ρo) at reservoir conditions. |
oil_formation_volume_factor | read | Calculate oil formation volume factor (Bo). |
oil_harmonize_pvt | read | Auto-harmonize oil PVT parameters for internal consistency. |
oil_material_balance | read | Perform Havlena-Odeh oil material balance for OOIP estimation. |
oil_rate_linear | read | Calculate oil production rate for linear flow. |
oil_rate_radial | read | Calculate oil production rate for radial flow (vertical well). |
oil_rs_at_bubble_point | read | Calculate solution GOR at bubble point using Standing correlation. |
oil_sg_from_api | read | Convert API gravity to oil specific gravity. |
oil_sg_from_jacoby | read | Calculate oil specific gravity from molecular weight and Jacoby aromaticity. |
oil_solution_gor | read | Calculate solution gas-oil ratio (Rs) at specified pressure. |
oil_twu_critical_properties | read | Calculate critical properties using Twu (1984) correlation. |
oil_viscosity | read | Calculate oil viscosity (μo). |
operating_point | read | Find the VLP/IPR operating point (intersection of inflow and outflow curves). |
outflow_curve | read | Generate a VLP outflow (tubing performance) curve. |
parameter_sweep | read | Sweep a single parameter across a range of values for any pyResToolbox function. |
rachford_rice_flash | read | Solve Rachford-Rice equation for vapor-liquid equilibrium. |
ratio_forecast | read | Evaluate a fitted ratio model at given values. |
recommend_gas_methods | read | Recommend Z-factor and critical property methods for a gas composition. |
recommend_methods | read | Recommend the best PVT and VLP correlations for given fluid properties. |
recommend_oil_methods | read | Recommend oil PVT correlation methods based on API gravity. |
recommend_vlp_method | read | Recommend VLP multiphase flow correlation. |
soreide_whitson_vle | read | Calculate Soreide-Whitson VLE brine properties with hydrocarbon gas. |
stock_tank_gas_sg | read | Calculate stock tank gas specific gravity. |
stock_tank_incremental_gor | read | Calculate incremental GOR from separator to stock tank. |
tornado_sensitivity | read | Compute tornado-chart sensitivities for multiple parameters. |
validate_gas_gravities | read | Validate and impute missing gas gravities. |
validate_simulation_deck | read | Validate and process ECLIPSE simulation deck with INCLUDE files. |
weighted_average_gas_sg | read | Calculate weighted average gas specific gravity from separator stages. |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | WARN |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- declared (2 observation(s))
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (12)
pyrestoolbox-mcp.skill
.env.docker
.uvrc
sonic_observed = 100.0 # μs/ft (slower than normal = overpressure)
sonic_normal = 70.0 # μs/ft (normal compaction trend)
print(f"Sonic travel time (observed): {sonic_observed:.1f} μs/ft")print(f"Sonic travel time (normal): {sonic_normal:.1f} μs/ft")print(f"σv (vertical): {vertical_stress:.0f} psi")curl -LsSf https://astral.sh/uv/install.sh | sh
curl -LsSf https://astral.sh/uv/install.sh | sh
curl -LsSf https://astral.sh/uv/install.sh | sh
curl -LsSf https://astral.sh/uv/install.sh | sh
Gates applied: no_behavioural_pass.
0715a5ad9b7ffull audit observations/trust-audit/mcp-server/gabrielserrao__pyrestoolbox.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 0715a5ad9b7f | SAFE | B | 89 | first audit |
Questions
What is the PyResToolbox MCP server?
Model Context Protocol (MCP) server for AI-powered reservoir engineering calculations. Integrates pyResToolbox with Claude AI for PVT analysis, well performance, simulation support, and more. 47 production-ready tools using industry-standard correlations.
What tools does PyResToolbox expose?
108 in total: 106 read-only, 2 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is PyResToolbox safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does PyResToolbox need?
No credential environment variables were found in its source, so it appears to need none.
How current is this page?
The grade is for one exact copy of the source (0715a5ad9b7f), read on 2026-10-08. The repository is watched and re-audited when it changes.