- Petromcp
Petromcp
petromcp
An MCP server that lets Claude read your LAS well log files directly. Local-first. Synthetic data only by default. DLIS, SEG-Y, and pump card support coming next.
What this gives you
LLM hosts cannot read binary or semi-structured petroleum formats. petromcp
wraps the established open-source parsers — lasio for v0.2, with dlisio
and segyio queued for the next slices — and exposes them as MCP tools, so
you can have a conversation with your data instead of copy-pasting curve
values into chat.
Privacy first
petromcp runs on your machine. It refuses to read any file outside an explicit allowlist. There is no telemetry, no phone-home, no automatic updates. Read docs/DATA_PRIVACY.md before pointing it at real data.
Install
Requires Python 3.10+, uv, and Claude Desktop.
git clone https://github.com/ameyxd/petromcp
cd petromcp
make setup
make install-claude
Restart Claude Desktop. The petromcp tools and the qc_a_well_log prompt
should appear in a new conversation. macOS notes and troubleshooting:
docs/INSTALL.md.
Configure
By default petromcp can read nothing. Tell it which directories are fair game:
uv run --no-sync petromcp config init
uv run --no-sync petromcp config add-path ~/petroleum/wells
Or, if you want to try it without your own data, generate the synthetic sample and allowlist that:
make generate
uv run --no-sync petromcp config add-path "$(pwd)/examples/sample_data"
Restart Claude Desktop after editing the allowlist.
Use
Open a new conversation in Claude Desktop and ask, in plain language:
What's wrong with this well log? /path/to/well.las
Compare these two wells: /path/to/A.las and /path/to/B.las
Convert 1500 psi to kPa.
Claude picks the right tool, reads the file through petromcp, and answers.
Tools (LAS, v0.2)
| Tool | What it does |
|---|---|
read_las_file | Header-level summary of a LAS file |
summarize_las_curves | Per-curve min, max, mean, stddev, gap percentage |
read_las_curve | Depths and values for one curve, with sampling cap |
compare_well_logs | Common curves, depth overlap, unit consistency, flags |
convert_units | ft<->m, psi<->kPa, psi<->bar, bbl<->m3, degF<->degC, mD<->m2 |
qc_a_well_log prompt | Walks Claude through a standard QC pass |
Full reference: docs/TOOLS_REFERENCE.md.
DLIS, SEG-Y, and pump card support land in subsequent releases.
Status
v0.2 ships the LAS slice plus a comparison tool, a units utility, and config-management CLI subcommands. The remaining formats are tracked in SPEC_petromcp.md. The non-goals list there is real; read it before filing feature requests.
License
MIT.
Server Config
{
"mcpServers": {
"petromcp": {
"command": "uv",
"args": [
"run",
"--no-sync",
"--project",
"/absolute/path/to/petromcp",
"petromcp",
"serve"
]
}
}
}Recommend Servers
View AllA Serper MCP Server
test