An MCP (Model Context Protocol) server that enables AI-assisted access to Bluware OpenVDS seismic and volumetric data through natural language queries.
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
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
- Survey metadata catalogs (extracted from real VDS files)
- Server capabilities information
- Data structure documentation
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
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
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 DOCKER.md for complete setup instructions
📖 Full Docker Guide: DOCKER.md
- Python 3.11+
- OpenVDS Python SDK (available via pip on Linux/Windows)
- MCP SDK
- 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
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.
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.
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"
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
Implements MCP protocol handlers:
- Resource listing and reading
- Tool execution
- Prompt templates
Provides OpenVDS integration:
- Survey discovery and metadata extraction
- Data slice extraction
- Statistics and quality analysis
- Demo mode for testing
- 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
- Authentication and authorization for enterprise deployments
- Rate limiting for large data requests
- Secure handling of cloud storage credentials
- Audit trails for data access
- 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
This is a proof-of-concept demonstrating MCP integration with geophysical data. Contributions welcome!
MIT License - See LICENSE file for details