mcpField
P
Petromcp

Petromcp

ローカル
github.com開発ツール313 週間前に更新

Petromcp について

Petromcpは、LASとDLISの石油坑井ログを読み取るローカル優先のMCPサーバーです。ファイルをクラウドに送れないチーム向けに、パスの許可リスト、読み取り専用ツール、上限付きの曲線出力を備えています。

主な機能

  1. 01LAS・DLISファイルの読み取り
  2. 02曲線の要約とサンプリング
  3. 03坑井ログの比較
  4. 04対応単位の変換
  5. 05許可パスへのアクセス制限
  6. 06ツール呼び出しの記録と出力制限

活用シーン

  1. 01坑井ログの品質確認
  2. 02複数坑井の曲線と深度範囲の比較
  3. 03DLISのフレームとチャンネルの確認
  4. 04石油関連の測定単位の変換

MCP 対応

石油データファイルを扱う読み取り専用ツールとQCプロンプトをMCPクライアントに提供します。ツールはネットワークに接続せず、明示的に許可されたディレクトリだけにアクセスします。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"petromcp": {
"command": "uvx",
"args": [
"petroleum-mcp"
]
}
}
}
起動コマンドuvx petroleum-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypipetroleum-mcp0.8.1

ツール

9

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
pathstringはい

詳細

petromcp

データがマシンの外に出ることなく、Claude で検層データを読み取れます。

petromcp は石油データ形式に対応した MCP サーバーです。ファイルを法的にクラウドサービスへアップロードできないチーム向けに作られています。テレメトリーも、ホームへの通信も、自動更新もありません。また、デフォルトではアクセスを拒否するパス許可リストを採用しており、明示的に許可されていないファイルは開きません。現在は LAS に対応しており、次に DLIS、SEG-Y、ポンプカードを予定しています。

データをどこかにアップロードできるなら、これ以外にも選択肢があります。アップロードできない場合に備えて、これを作りました。

できること

LLM ホストは、バイナリ形式や半構造化された石油データ形式を読み取れません。petromcp は、実績のあるオープンソースのパーサー(現在は lasio と dlisio、後の段階で segyio も追加予定)をラップし、MCP ツールとして公開します。これにより、曲線の値をチャットにコピー&ペーストするのではなく、データと会話できます。

ここでの「ローカルファースト」の具体的な意味

単なる方針ではありません。ソースコードで確認できる、次の 4 つの仕組みです。

  • デフォルトでアクセスを拒否します。 新規インストールでは何も読み取れません。アクセスはディレクトリごとに許可され、すべてのツールは 1 つのバリデーターを経由します。このバリデーターはチェック前にシンボリックリンクを解決するため、許可されたディレクトリ内のリンクから外部へアクセスすることはできません。許可リストの範囲を広げる環境変数はなく、実行時に許可リストを変更するツールもありません。
  • ネットワークを使わないことを明示しています。 petromcp は外部への接続を一切開きません。5 つすべてのツールに openWorldHint: false と readOnlyHint: true が設定されているため、ホスト側でその主張を確認でき、信頼するだけで済むわけではありません。
  • 監査証跡を残します。 すべてのツール呼び出しについて、タイムスタンプ、ツール名、解決済みパスが記録されます。
  • 出力に上限を設けています。 曲線の読み取りには上限があり、downsampled と original_count が報告されるため、20,000 点の検層データが気づかないうちにコンテキストウィンドウへ流れ込むことはありません。

脅威モデルと、脆弱性に該当しないものについては、SECURITY.md をご覧ください。実データを指定する前に、docs/DATA_PRIVACY.md をお読みください。こちらが正式な情報源であり、コードと食い違う場合はコードに問題があります。

インストール

Python 3.10 以降と uv が必要です。

クローンもビルドも不要です。MCP ホストの設定に petromcp を追加してください。

{
  "mcpServers": {
    "petromcp": {
      "command": "uvx",
      "args": ["petroleum-mcp", "serve"]
    }
  }
}

macOS では、設定ファイルは ~/Library/Application Support/Claude/claude_desktop_config.json です。設定後、ホストを再起動してください。macOS に関する注意事項とトラブルシューティングについては、docs/INSTALL.md をご覧ください。

petromcp を使うだけでなく、開発する場合は次の手順を実行してください。

git clone https://github.com/ameyxd/petromcp
cd petromcp
make setup
make install-claude

設定

デフォルトでは、petromcp は何も読み取れません。アクセスを許可するディレクトリを指定してください。

uvx petroleum-mcp config init
uvx petroleum-mcp config add-path ~/petroleum/wells

自分のデータを使わずに試してみたい場合は、チェックアウトしたリポジトリから合成サンプルを生成し、そのディレクトリを許可リストに追加してください。

make generate
uvx petroleum-mcp config add-path "$(pwd)/examples/sample_data"

許可リストを編集した後は、MCP ホストを再起動してください。許可リストは起動時に一度だけ読み込まれます。

使い方

新しい会話を開き、普通の言葉で質問してください。

この検層データの問題点は何ですか? /path/to/well.las
次の 2 つの坑井を比較してください:/path/to/A.las と /path/to/B.las
1500 psi を kPa に変換してください。

Claude が適切なツールを選び、petromcp 経由でファイルを読み取って回答します。

実際のツール出力を使った手順付きの例です。

  • 検層データの QC — 意図的に仕込まれた密度データの欠落、ウォッシュアウト、ガンマ線のスパイクを検出します
  • 2 つの坑井を比較する — 深度の重なり、欠落している曲線、一方のファイルだけを見てもわからない単位の不一致を確認します
  • 単位変換
  • DLIS ファイルを読み取る — 論理ファイル、フレーム、チャンネル名が曖昧な場合の動作について説明します

これらのドキュメントに記載されているすべての値は、ツールを呼び出して生成されています。値にずれが生じると CI が失敗します。

ツール

ツール機能
read_las_fileLAS ファイルのヘッダーレベルの概要
summarize_las_curves曲線ごとの最小値、最大値、平均値、標準偏差、欠損率
read_las_curve1 つの曲線の深度と値。サンプリング上限あり
compare_well_logs共通の曲線、深度の重複範囲、単位の一貫性、フラグ
convert_unitsft<->m、psi<->kPa、psi<->bar、bbl<->m3、degF<->degC、mD<->m2 の変換
list_supported_units物理量ごとの、変換可能なすべての単位ペア
read_dlis_fileDLIS の構造:論理ファイル、フレーム、インデックスタイプ
list_dlis_channelsフレーム、単位、長さを含む、すべての DLIS チャンネル
read_dlis_channel1 つの DLIS チャンネルの値。サンプリング上限あり
qc_a_well_log prompt標準的な QC 手順を Claude が案内します

すべてのツールは読み取り専用で、ネットワーク接続を開かず、その旨を MCP アノテーションで宣言しています。完全なリファレンスは以下をご覧ください: docs/TOOLS_REFERENCE.md。

DLIS ファイルには複数の検層ランが格納され、それぞれに複数のフレームがあるため、チャンネル名は フレーム内でのみ一意です。read_dlis_channel は曖昧な名前を受け付けず、 値が異なるため推測で選ばずに候補を一覧表示します。

SEG-Y とポンプカードへの対応は、今後のリリースで追加されます。

ステータス

v0.7 では、LAS と DLIS の各スライス、比較ツール、単位ユーティリティ、 設定管理用 CLI サブコマンドをリリースします。残りのフォーマットは SPEC_petromcp.md で管理しています。そこに記載された非目標は 実際に対象外です。機能リクエストを提出する前にお読みください。

リリース履歴:CHANGELOG.md。セキュリティポリシーと脅威 モデル:SECURITY.md。

ライセンス

MIT。

mcp-name: io.github.ameyxd/petromcp


Amey Ambade が開発しました。データを社外に持ち出せない 業界の AI システムについて、writing.heyamey.com で執筆しています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。