MCP ExplorerExplorer

Seismicprocagent

1 MIT
FreeCommunity
AI Systems
The open source demo for seismic data process AI agent using MCP and LLMs, built in the Hackathon hosted at the EAGE Annual 2025 in Toulouse, France.

Overview

What is Seismicprocagent

SeismicProcAgent is an open-source demo designed for processing seismic data using AI agents, leveraging the Model Context Protocol (MCP) and Large Language Models (LLMs). It was developed during the Hackathon at the EAGE Annual 2025 in Toulouse, France.

Use cases

Use cases for SeismicProcAgent include automating seismic data interpretation, enhancing data visualization, and supporting research in seismic activity and its implications.

How to use

To use SeismicProcAgent, first ensure you have the required environment (Python 3.10+, Node.js v22.16.0+, npm/npx 10.9.2+). Clone the repository, install dependencies using ‘uv’, and configure the necessary settings in ‘claude_desktop_config.json’ as per the MCP documentation.

Key features

Key features of SeismicProcAgent include its open-source nature, integration with MCP and LLMs for enhanced seismic data processing, and a user-friendly setup process that accommodates various operating systems.

Where to use

SeismicProcAgent can be utilized in fields such as geophysics, oil and gas exploration, environmental monitoring, and any domain requiring seismic data analysis.

Content

SeismicProcAgent

The open source demo for seismic data process AI agent using MCP and LLMs, built in the Hackathon hosted at the EAGE Annual 2025 in Toulouse, France.

Quick Start

Environment Requirements

  • Python: 3.10+
  • node: v22.16.0+
  • npm/npx: 10.9.2+

SeismicProcAgent is developed in Python. To ensure a smooth setup process, we recommend using uv to manage the Python environment and dependencies. In the terminal we execute:

# MacOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Then download and install Node.js according to your operating system. Be sure to restart your terminal afterwards to ensure the uv/npm/npx command is recognized.

Installation

# Clone the repository
git clone https://github.com/EAGE-Annual-Hackathon/SeismicProcAgent.git
cd SeismicProcAgent

# Install dependencies
uv sync

Then download and install Claude for Desktop according to your operating system, we will configure it next.

Configuration

Please refer to the configuration process shown in the MCP document: https://modelcontextprotocol.io/quickstart/user, and add the following content when configuring claude_desktop_config.json:

# MacOS/Linux
{
  "mcpServers": {
      "sequential-thinking": {
          "command": "npx",
          "args": [
              "-y",
              "@modelcontextprotocol/server-sequential-thinking"
          ]
      },
      "filesystem": {
          "command": "npx",
          "args": [
              "-y",
              "@modelcontextprotocol/server-filesystem",
              "/Your_Local_Path/SeismicProcAgent"
          ]
      },
      "seismic_basic_tools": {
          "command": "uv",
          "args": [
              "--directory",
              "/Your_Local_Path/SeismicProcAgent",
              "run",
              "basic_tools.py"
          ]
      },
      "seismic_attributes": {
          "command": "uv",
          "args": [
              "--directory",
              "/Your_Local_Path/SeismicProcAgent",
              "run",
              "seismic_attributes.py"
          ]
      },
      "seismic_denoising": {
          "command": "uv",
          "args": [
              "--directory",
              "/Your_Local_Path/SeismicProcAgent",
              "run",
              "denoising.py"
          ]
      },
      "seismic_ai_tools": {
          "command": "uv",
          "args": [
              "--directory",
              "/Your_Local_Path/SeismicProcAgent",  
              "run",
              "ai_tools.py"
          ]
      }
  }
}
# Windows
{
  "mcpServers": {
      "sequential-thinking": {
          "command": "npx",
          "args": [
              "-y",
              "@modelcontextprotocol/server-sequential-thinking"
          ]
      },
      "filesystem": {
          "command": "npx",
          "args": [
              "-y",
              "@modelcontextprotocol/server-filesystem",
              "C:\\Users\\Your_Local_Path\\SeismicProcAgent"
          ]
      },
      "seismic_basic_tools": {
          "command": "uv",
          "args": [
              "--directory",
              "C:\\Users\\Your_Local_Path\\SeismicProcAgent",
              "run",
              "basic_tools.py"
          ]
      },
      "seismic_attributes": {
          "command": "uv",
          "args": [
              "--directory",
              "C:\\Users\\Your_Local_Path\\SeismicProcAgent",
              "run",
              "seismic_attributes.py"
          ]
      },
      "seismic_denoising": {
          "command": "uv",
          "args": [
              "--directory",
              "C:\\Users\\Your_Local_Path\\SeismicProcAgent",
              "run",
              "denoising.py"
          ]
      },
      "seismic_ai_tools": {
          "command": "uv",
          "args": [
              "--directory",
              "C:\\Users\\Your_Local_Path\\SeismicProcAgent",  
              "run",
              "ai_tools.py"
          ]
      }
  }
}

[!NOTE]
You can also refer to the claude_ref/claude_desktop_config.json configuration file (Windows).

After updating your configuration file, you need to restart Claude for Desktop. Upon restarting, you should see a slider icon in the bottom left corner of the input box. After clicking on the slider icon, you should see the tools. At the same time, you can click on the tools to choose whether to use the tools (it is recommended to turn off sequentialthinking for the first time).

Specific Functions

  • Overview:

    • overview:
      • Overview of the seismic data (.sgy and .segy).
  • Data format conversion:

    • segy2mdio:
      • Convert a SEGY file to MDIO format.
    • mdio2segy:
      • Convert MDIO file to SEGY file.
  • Visualization:

    • mdio_plot_inline:
      • Read MDIO file and plot the inline.
    • mdio_plot_crossline:
      • Read MDIO file and plot the crossline.
    • mdio_plot_time:
      • Read MDIO file and plot the crossline.
    • frequency_spectrum_2d:
      • Calculate the frequency spectrum of a 2D seismic data.
    • frequency_spectrum_3d:
      • Calculate the frequency spectrum of a 3D seismic data.
  • Seismic attributes:

    • sliceAttribute:
      • Computing attribute of a 3D seismic cube, output a 2D attribute slice.
      • Attribute classes: Amplitude, CompleTrace, DipAzm (dip and azimuth), EdgeDetection (edge detection). Each class has different attribute types. For more details, see seismic_attributes.py.
  • Denoising:

    • median_denoise:
      • Denoises a matrix using median filter.
    • gaussian_denoise:
      • Denoises a matrix with Gaussian.
    • denoise_svd_with_cutoff:
      • Denoises a matrix using SVD with a cutoff threshold based on a percentage of the maximum singular value.
  • Denoising (AI):

  • Processing report generation:

Let’s have fun

The following examples (Chat Prompts) demonstrate the capabilities of SeismicProcAgent:

Primary

  • Seismic Data Overview
"Show me the ebdic of the seismic data: /Your_Local_Path/Dutch_Government_F3_entire_8bit_seismic.segy."

image

  • Seismic Data Visualization
"Please plot the image of inline 400 for /Your_Local_Path/Dutch_Government_F3_entire_8bit_seismic.segy."

image

  • Seismic Attributes
"Please plot the envelope image of inline 400 for /Your_Local_Path/Dutch_Government_F3_entire_8bit_seismic.segy."

image

  • Seismic Data Denoising
"Please run a SVD denoise on crossline 500 using a cut off of 0.3 for /Your_Local_Path/Dutch_Government_F3_entire_8bit_seismic.segy."

image

  • Seismic Data Denoising (AI)
"Please use the AI ​​method to process the data with inline = 400 for /Your_Local_Path/Dutch_Government_F3_entire_8bit_seismic.segy and show the results."

image

Advance

  • DeepProcess (sequential-thinking)

[!NOTE]
This function still under testing, need to enable the sequential-thinking tool, and consume more tokens.

"Please help me process and analyze the seismic data: /Your_Local_Path/Dutch_Government_F3_entire_8bit_seismic.segy and show the results, from a 2D and 3D perspective, interpret the results generated by the processing, and finally organize the results into a html document and save it in local."

image

Tools

No tools

Comments