petromcp MCP server
io.github.ameyxd/petromcp·v0.8.1·2 starsLocal-first MCP server: read LAS well logs and DLIS files from your own disk.
2 stars21 downloads/wk
Reviews
Write oneNobody has reviewed petromcp yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
petromcp tools (9)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
compare_well_logsCompare two LAS files. Reports common curves, depth overlap, unit consistency, and human-readable issue flags.
convert_unitsConvert a value between supported petroleum units. Strict case-sensitive matching. Supported pairs: ft<->m, psi<->kPa, psi<->bar, bbl<->m3, degF<->degC, mD<->m2.
list_dlis_channelsEvery channel with its frame, logical file, units, and length.
list_supported_unitsEvery unit pair `convert_units` accepts, with its physical quantity.
read_dlis_channelRead one channel's values and its index.
read_dlis_fileStructure of a DLIS file: logical files, frames, index types, depth ranges, and channel counts. No channel values.
read_las_curveRead a single curve. Defaults to a 500-sample downsample.
read_las_fileHeader-level summary of a LAS file. No curve data.
summarize_las_curvesPer-curve summary statistics for a LAS file.
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan30 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 52 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How petromcp compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,255 servers
- Tools
- 9
- the typical server has 7
- Tools that change things
- 0%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 2
- more than 75% of 28,688 servers
- Downloads a week
- 21
- more than 8% of 12,191 servers with a package
What its tools let an agent do: 9 read
Install petromcp in Claude Code, Cursor or VS Code
claude mcp add petromcp -- uvx petroleum-mcp
What the publisher says
From the petromcp repository's README, as published. We do not edit it. Read it on GitHub
petromcp
Read well logs with Claude without the data ever leaving your machine.
petromcp is an MCP server for petroleum data formats, built for teams whose files legally cannot be uploaded to a cloud service. No telemetry, no phone-home, no automatic updates, and a default-deny path allowlist that refuses to open anything you have not explicitly permitted. LAS today; DLIS, SEG-Y, and pump cards next.
If you can upload your data somewhere, you have more options than this. If you can't, this was written for you.
What this gives you
LLM hosts cannot read binary or semi-structured petroleum formats. petromcp wraps the established open-source parsers — lasio and dlisio today, with segyio queued for a later slice — and exposes them as MCP tools, so you can have a conversation with your data instead of copy-pasting curve values into chat.
What "local-first" means here, concretely
Not a posture. Four things you can verify in the source:
directory, and every tool routes through one validator that resolves symlinks before checking, so a link inside an allowed directory cannot reach outside it. There is no environment variable that widens the allowlist and no tool that changes it at runtime.
- Default deny. A fresh install can read nothing. Access is granted per
tools ship openWorldHint: false and readOnlyHint: true, so your host can verify that claim rather than take it.
- No network, declared. petromcp opens no outbound connections. All five
name, and the resolved path.
- An audit trail. Every tool call is logged with a timestamp, the tool
original_count, so a 20,000-point log cannot silently dump into a context window.
- Bounded output. Curve reads are capped and report downsampled and
The threat model, and what does not count as a vulnerability, are in SECURITY.md. Read docs/DATA_PRIVACY.md before pointing this at real data — it is authoritative, and if the code contradicts it the code is the bug.
Install
Requires Python 3.10+ and uv.
Add petromcp to your MCP host's config — no clone, no build:
{
"mcpServers": {
"petromcp": {
"command": "uvx",
"args": ["petroleum-mcp", "serve"]
}
}
}On macOS that file is ~/Library/Application Support/Claude/claudedesktopconfig.json. Restart the host afterwards. macOS notes and troubleshooting: docs/INSTALL.md.
To work on petromcp rather than just use it:
git clone https://github.com/ameyxd/petromcp cd petromcp make setup make install-claude
Configure
By default petromcp can read nothing. Tell it which directories are fair game:
uvx petroleum-mcp config init uvx petroleum-mcp config add-path ~/petroleum/wells
Or, if you want to try it without your own data, generate the synthetic sample from a checkout and allowlist that:
make generate uvx petroleum-mcp config add-path "$(pwd)/examples/sample_data"
Restart your MCP host after editing the allowlist — it is read once at startup.
Use
Open a new conversation 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.
Worked examples, with real tool output rather than prose:
density gap, a washout, and a gamma ray spike
- QC a well log — finds a planted
overlap, a missing curve, and a unit mismatch that is invisible in one file
- Compare two wells — depth
files, frames, and what happens when a channel name is ambiguous
- Unit conversion
- Read a DLIS file — logical
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
petromcp: common questions
- Is petromcp MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the petromcp safety report
- How do I install petromcp?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does petromcp need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is petromcp maintained?
- The last commit was 93 days ago (2026-08-03). The latest release is v0.8.1.
- How does petromcp compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,255 servers); tools 9 (the typical server has 7); tools that change things 0% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.