raghujayan/openvds-mcp-server
If you are the rightful owner of openvds-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server enabling AI-assisted access to Bluware OpenVDS seismic and volumetric data through natural language queries.
OpenVDS MCP Server
An MCP (Model Context Protocol) server that enables AI-assisted access to Bluware OpenVDS seismic and volumetric data through natural language queries.
Overview
This MCP server bridges large-scale volumetric datasets (seismic surveys, geophysical data) with AI systems like Claude, enabling:
- Natural Language Data Discovery: Query surveys using plain English
- Intelligent Data Extraction: AI-assisted slice and volume extraction
- Metadata Analysis: Automated survey statistics and quality assessment
- Comparative Analysis: Cross-survey comparisons and temporal monitoring
Features
Real OpenVDS Integration ā
All data access uses the actual OpenVDS Python API:
- Real VDS file opening with
openvds.open()
- Actual metadata extraction using OpenVDS layout descriptors
- Real data extraction using
requestVolumeSubset()
with NumPy arrays - Calculates statistics from actual seismic amplitude data
- Demo mode only as fallback when no VDS files are available
MCP Resources
- Survey metadata catalogs (extracted from real VDS files)
- Server capabilities information
- Data structure documentation
MCP Tools
extract_inline
: Extract inline slices from seismic surveys using OpenVDSextract_crossline
: Extract crossline slices using OpenVDSextract_volume_subset
: Extract volumetric subsets using OpenVDSget_survey_info
: Get detailed survey metadata from VDS fileslist_available_surveys
: List all available surveys with filtering
MCP Prompts
survey_discovery
: Find surveys matching specific criteriadata_quality_check
: Analyze data quality for a surveyextract_seismic_section
: Extract specific seismic sectionscompare_surveys
: Compare characteristics between surveys
Installation
macOS Users (Recommended: Docker)
OpenVDS Python wheels are not available for macOS. The easiest way to run this server on macOS is using Docker:
-
Install Docker Desktop for Mac
-
Build the Docker image:
./run-docker.sh
-
Configure Claude Desktop - See for complete setup instructions
š Full Docker Guide:
Linux/Windows Users
Requirements
- Python 3.11+
- OpenVDS Python SDK (available via pip on Linux/Windows)
- MCP SDK
Setup
- Install dependencies:
pip install mcp openvds anthropic pydantic aiohttp
- Configure the server in your MCP client settings (e.g., Claude Desktop
config.json
):
{
"mcpServers": {
"openvds": {
"command": "python",
"args": ["src/openvds_mcp_server.py"],
"env": {
"VDS_DATA_PATH": "/path/to/vds/files"
}
}
}
}
- Run the server:
python src/openvds_mcp_server.py
Usage
Demo Mode (Fallback Only)
The server runs in demo mode only when no VDS files are found. Demo mode returns simulated responses for testing the MCP protocol without real data.
With Real VDS Files (Production Use)
To use real OpenVDS data extraction, set the VDS_DATA_PATH
environment variable to point to your VDS data directories:
export VDS_DATA_PATH="/data/seismic:/data/surveys"
python src/openvds_mcp_server.py
The server will:
- Scan all
.vds
files in the specified paths - Extract real metadata using OpenVDS layout API
- Provide actual data extraction with real amplitude statistics
- Calculate quality metrics from real seismic data
Note: Without real VDS files, you can test the MCP protocol but won't get actual seismic data.
Example Queries
Discover Surveys:
"Show me all 3D seismic surveys acquired in the Gulf of Mexico after 2023"
Extract Data:
"Extract inline 2500 from the Gulf of Mexico 2023 survey"
Data Quality:
"Analyze the data quality of the North Sea survey and identify any issues"
Compare Surveys:
"Compare the Permian Basin 2022 survey with the Gulf of Mexico 2023 survey"
Architecture
OpenVDS MCP Server
āāā src/openvds_mcp_server.py # Main MCP server implementation
āāā src/vds_client.py # OpenVDS integration layer
āāā config.json # MCP client configuration
āāā README.md # Documentation
Key Components
Server Layer (openvds_mcp_server.py
)
Implements MCP protocol handlers:
- Resource listing and reading
- Tool execution
- Prompt templates
VDS Client Layer (vds_client.py
)
Provides OpenVDS integration:
- Survey discovery and metadata extraction
- Data slice extraction
- Statistics and quality analysis
- Demo mode for testing
Use Cases
- Data Discovery: Natural language queries for available seismic surveys
- Intelligent Extraction: AI-assisted selection of data slices and volumes
- Quality Control: Automated data quality assessments
- Report Generation: Automated survey summary reports
- ML Workflow Integration: Preparing training datasets for ML models
- Collaboration: Natural language interface for non-technical stakeholders
Security Considerations
- Authentication and authorization for enterprise deployments
- Rate limiting for large data requests
- Secure handling of cloud storage credentials
- Audit trails for data access
Future Enhancements
- OAuth authentication for enterprise deployments
- Advanced visualization integration
- Batch processing capabilities
- Format conversion tools (SEG-Y, etc.)
- Cloud storage integration (S3, Azure Blob)
- Caching layer for frequently accessed data
Contributing
This is a proof-of-concept demonstrating MCP integration with geophysical data. Contributions welcome!
License
MIT License - See LICENSE file for details