SCAL Digital Assistant Suite MCP Server
Integrates with OpenAI's API to generate LLM engineering assessments of the SCAL results.
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., "@SCAL Digital Assistant Suite MCP ServerGenerate SWOF table using Corey method"
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.
SCAL Digital Assistant Suite v5.0
Multi-method Special Core Analysis — Relative Permeability & Capillary Pressure
Eclipse-ready .INC · Cydar-aligned QC · LangGraph agent · Streamlit UI · FastAPI · MCP Server
What Is This?
A complete engineering toolkit for generating, quality-controlling, and exporting relative permeability and capillary pressure curves for reservoir simulation. Starting from laboratory endpoint measurements, you choose a Kr model, set parameters, and the suite produces:
A validated
SWOForSGOFEclipse.INCfile ready toINCLUDEin your DATA deckA
.zippackage (INC + Excel report + CSV + QC log + manifest)A structured Cydar-aligned physics QC report (25+ checks across KR/PC/XC/CD categories)
A LLM engineering assessment via the LangGraph agent
Related MCP server: Corrosion Engineering MCP Server
What's New in v5.0
Feature | Detail |
MCP Server v2024-11-05 | Full JSON-RPC 2.0 stdio transport; 6 tools; Claude Desktop ready |
Pc-LET model | Lomeland SCA 2008 / Cydar manual p.47; selectable alongside Brooks-Corey |
Petroleum Office LET example | Default LET values cross-checked against |
Brooks-Corey equiv. Corey | nw_equiv = (2+3λ)/λ shown in CLI, INC header, API response |
| HTTP endpoint returns full MCP tool schema for discovery |
Pc model field | `pc_model: BC |
Philliec459 alignment | Corey formulation cross-checked against Panel implementation |
Supported Kr Methods
Method | Reference | Key Params | Best For |
Corey | Corey (1954); Philliec459 Panel | nw, no | Clean sands, baseline, screening |
LET | Lomeland et al. SCA2005-32; PO Blueprint | Lw/Ew/Tw, Lp/Ep/Tp | Mixed-wet, heterogeneous, S-shaped |
Brooks-Corey | Brooks & Corey (1964) | λ (linked kr + Pc) | Physically grounded; tight formations |
Burdine | Burdine (1953) Trans. AIME 198 | λ | Pore-bundle theory |
Chierici | Chierici (1984) SPEJ 24(3) | aw/bw, ap/bp | Fractured/vuggy carbonates |
Cydar Modified Corey | CYDAR-SCAL Manual (2025) p.48 | α, H, V | Endpoint slope control; CYDAR HM |
Supported Pc Models
Model | Formula | When to Use |
Brooks-Corey |
| Default; standard drainage |
Pc-LET |
| Sigmoidal shape; Cydar recommended |
None | Pc = 0 | Kr-only export |
Key Equations (cross-referenced)
Normalised Saturation
Sw* = (Sw − Swi) / (1 − Swi − Sor) [Petroleum Office convention]
So* = 1 − Sw*Corey (1954)
krw = krw_end × Sw*^nw
kro = kro_end × (1−Sw*)^noReference: Philliec459 Panel; Petroleum Office scal-corey-let
LET (Lomeland et al. 2005)
krw = krw_end × Sw*^Lw / [Sw*^Lw + Ew×(1−Sw*)^Tw]
kro = kro_end × (1−Sw*)^Lo / [(1−Sw*)^Lo + Eo×Sw*^To]Petroleum Office example (po.scal.let.relperm): Lo=2.5, Eo=2.0, To=1.5 | Lw=3.0, Ew=1.5, Tw=2.0
Brooks-Corey (1964)
krw = krw_end × Sw*^((2+3λ)/λ)
kro = kro_end × (1−Sw*)^2 × [1 − Sw*^((2+λ)/λ)]
Pc = Pe × Sw*^(−1/λ)
Equivalent Corey nw = (2+3λ)/λ [Petroleum Office relationship]Cydar Modified Corey (manual p.48)
krw = krw_end × [Sw*^(2α)/(2α) + Sw*^α/α + H×Sw*] / norm
kro = kro_end × [(1−Sw*)^(2α)/(2α) + (1−Sw*)^α/α + V×(1−Sw*)] / norm
H = krw slope at Swi (0 = flat, water-wet)
V = kro slope at 1-SorPc-LET (Cydar manual p.47; Lomeland SCA 2008)
Pc(Sw*) = Pc_max × (1−Sw*)^L / [(1−Sw*)^L + E×Sw*^T]
L ≥ 1 (lower curvature) E > 0 (elevation) T ≥ 0.5 (upper curvature)Architecture
scal-suite-pro/
├── corey_engine.py All 6 Kr models + Pc models + Excel + INC export
├── scal_qc.py Cydar-aligned QC: KR/PC/XC/CD check suites
├── agents.py LangGraph: PhysicsQC → EngineeringQA → ReportSynthesis
├── mcp_scal_server.py MCP stdio server (JSON-RPC 2.0) + interactive CLI
├── main.py FastAPI: /compute-scal /methods /mcp-manifest
├── seria_correlations.py BSP badin USman empirical correlations
├── Home.py Streamlit multi-page entry point
├── pages/
│ ├── app_ui.py SCAL engine UI
│ └── seria_ui.py badin correlations UI
├── claude_desktop_config_example.json MCP config for Claude Desktop
├── .env.example
├── Dockerfile
├── docker-compose.yml
└── requirements.txtQuick Start (Local)
git clone <repo>
cd scal-suite-pro
cp .env.example .env # add OPENAI_API_KEY (optional — for LLM QA)
pip install -r requirements.txt
# Terminal 1 — FastAPI backend
uvicorn main:app --reload --port 8000
# Terminal 2 — Streamlit frontend
streamlit run Home.pyOpen http://localhost:8501 | API docs http://localhost:8000/docs
MCP Server Integration
Run as stdio server
python mcp_scal_server.py --mcpInteractive CLI (no LLM required)
python mcp_scal_server.pyConnect to Claude Desktop
Edit your Claude Desktop config file:
Windows:
%APPDATA%\Claude\claude_desktop_config.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"scal-suite": {
"command": "python",
"args": ["mcp_scal_server.py", "--mcp"],
"cwd": "C:/path/to/scal-suite-pro"
}
}
}See claude_desktop_config_example.json for the annotated version.
MCP Tools
Tool | Description |
| Full catalogue: models, equations, typical ranges, wettability guide |
| Run Kr+Pc simulation → saturation table + Cydar QC report |
| Raw SWOF/SGOF .INC text from a supplied table |
| Build .zip: INC + XLSX + CSV + QC log + manifest |
| QC suite against any external saturation table |
| BSP badin Seria/West Anduki empirical values |
Test a single call
python mcp_scal_server.py --mcp '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
python mcp_scal_server.py --mcp '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_kr_methods","arguments":{}}}'Docker
cp .env.example .env
docker-compose up --buildFrontend: http://localhost:8501 | Backend docs: http://localhost:8000/docs | MCP manifest: http://localhost:8000/api/v1/mcp-manifest
Eclipse Output
Fluid System | Keyword | Column Order |
Oil-Water |
| Sw Krw Kro Pc_ow (bar) |
Gas-Water |
| Sg Krg Krw Pc_gw (bar) — ascending Sg |
INCLUDE
'SCAL_FUNCTIONS.INC' /.zip Package Contents
File | Description |
| Eclipse E100/E300 SWOF/SGOF keyword table |
| Saturation table + embedded Kr and Pc line charts |
| Raw Sw/Kr/Pc values |
| Cydar-aligned QC log (25+ checks) |
| Method, endpoints, Pc model, QC status, timestamp, references |
QC Checks (Cydar-SCAL aligned)
Category | Codes | Checks |
Kr physical | KR-01 → KR-14 | Endpoints, monotonicity, crossover, exponent ranges, wettability |
Pc physical | PC-01 → PC-07 | Monotonicity, sign convention, entry pressure, Leverett J |
Cross-checks | XC-01 → XC-03 | Amott-Harvey wettability, Rapoport-Leas, capillary number |
Cydar-specific | CD-01 → CD-04 | LET params, Pc-LET params, Modified Corey H/V/α, dimensionless numbers |
API Reference
POST /api/v1/compute-scal
{
"method": "LET",
"system": "Oil-Water",
"swc": 0.20,
"s_res": 0.25,
"krw_end": 0.30,
"kr_phase_end": 0.80,
"pc_model": "LET",
"n_points": 30,
"let_params": { "Lw": 3.0, "Ew": 1.5, "Tw": 2.0, "Lp": 2.5, "Ep": 2.0, "Tp": 1.5 },
"pc_let_params": { "pc_max": 5.0, "L": 2.0, "E": 1.0, "T": 2.0 }
}GET /api/v1/methods — method catalogue with equations
GET /api/v1/mcp-manifest — MCP tool schema + Claude Desktop config snippet
References
Corey, A.T. (1954). The interrelation between gas and oil relative permeabilities. Producers Monthly.
Burdine, N.T. (1953). Relative permeability calculations from pore-size distribution data. Trans. AIME, 198.
Brooks, R.H. & Corey, A.T. (1964). Hydraulic Properties of Porous Media. Colorado State University.
Lomeland, F., Ebeltoft, E. & Thomas, W.H. (2005). A new versatile relative permeability correlation. SPE-SCA2005-32.
Lomeland, F., Ebeltoft, E. & Thomas, W.H. (2008). A new versatile capillary pressure correlation. SCA2008-18.
Chierici, G.L. (1984). Novel relations for drainage and imbibition curves. SPEJ, 24(3).
Cydarex (2025). CYDAR-SCAL User Manual. http://cydarex.fr/files/CYDAR_SCAL.pdf
Petroleum Office. Corey and LET Kr Models. https://petroleumoffice.com/doc/scal-corey-let
Petroleum Office. LET Relative Permeability Curves Blueprint. https://petroleumoffice.com/blueprint/po.scal.let.relperm
Philliec459. Panel for Corey Relative Permeability Curves. https://github.com/Philliec459/Panel-used-to-Create-Relative-Permeability-Curves-using-the-Corey-Technique
Dake, L.P. (1978). Fundamentals of Reservoir Engineering. Elsevier.
Anthropic (2024). Model Context Protocol Specification 2024-11-05. https://spec.modelcontextprotocol.io
This server cannot be installed
Maintenance
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/UsmanHWU/Agent_Scal_v1.0'
If you have feedback or need assistance with the MCP directory API, please join our Discord server