Petromcp
About
petromcp is a small MCP server that lets Claude (or Cursor, or Codex CLI,
Details
- Author
- ameyxd
- Downloads
- 139
- Categories
- Developer Tools
Jump to
- MCP tools for reading, summarizing, and comparing LAS files
- Unit conversion between common petroleum units (ft↔m, psi↔kPa, etc.)
- Built-in qc_a_well_log prompt for standard QC workflow
- Strict file allowlist – cannot read outside allowed directories
- Zero telemetry, no automatic updates, runs entirely on your machine
- Ships with synthetic sample data for testing without real files
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
PetromcpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Requires Python 3.10+, uv, and Claude Desktop. After cloning the repo and running make setup and make install-claude, configure an allowlist of directories Petromcp can read using the CLI subcommands petromcp config init and petromcp config add-path. Restart Claude Desktop, then ask questions like "What's wrong with this well log?" in a new conversation.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"petromcp": {
"petromcp": {
"command": "uv",
"args": [
"run",
"--no-sync",
"--project",
"/absolute/path/to/petromcp",
"petromcp",
"serve"
]
}
}
}
}
McpServers
{
"petromcp": {
"command": "uv",
"args": [
"run",
"--no-sync",
"--project",
"/absolute/path/to/petromcp",
"petromcp",
"serve"
]
}
}
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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





