MCP server for OSDU platform integration
Project description
OSDU MCP Server
AI-powered access to OSDU subsurface data through natural language.
Enable AI assistants to interact with the OSDU (Open Subsurface Data Universe) platform through conversational interfaces. Search data, manage schemas, handle records, and maintain compliance—all through natural language.
Why OSDU MCP Server?
Transform complex OSDU API workflows into simple conversations:
Before:
curl -X POST https://osdu.com/api/search/v2/query \
-H "Authorization: Bearer $TOKEN" \
-d '{"kind":"osdu:wks:master-data--Well:*"}'
# ... parse JSON, check schemas, format records, handle ACLs ...
After:
You: "Find all wells in the North Sea and show their schemas"
AI: ✅ Found 247 wells
📋 Retrieved schema requirements
🎯 Ready to work with the data
Key Features
| Feature | Description |
|---|---|
| Natural Language | Complex API calls and Elasticsearch queries through conversation |
| Multi-Cloud Auth | Azure, AWS, and GCP with zero-config credential discovery |
| 31 MCP Tools | Complete OSDU API coverage (storage, search, schema, legal, partition) |
| Template-Driven | Pre-built templates eliminate format-guessing errors |
| Safety Controls | Write/delete protection, confirmation requirements, audit logging |
| Resources & Prompts | Guided workflows and interactive examples |
Quick Start
Setup
mcp add osdu-mcp-server -- uvx osdu-mcp-server \
-e OSDU_MCP_SERVER_URL=https://your-osdu.com \
-e OSDU_MCP_SERVER_DATA_PARTITION=opendes \
-e AZURE_CLIENT_ID=your-client-id \
-e AZURE_TENANT_ID=your-tenant-id
Or add manually to your MCP configuration:
{
"mcpServers": {
"osdu-mcp-server": {
"command": "uvx",
"args": ["osdu-mcp-server"],
"env": {
"OSDU_MCP_SERVER_URL": "https://your-osdu.com",
"OSDU_MCP_SERVER_DATA_PARTITION": "opendes",
"AZURE_CLIENT_ID": "your-client-id",
"AZURE_TENANT_ID": "your-tenant-id"
}
}
}
}
Note: Authentication credentials (Azure/AWS/GCP) are auto-discovered from your environment. See Getting Started for all auth methods.
Try It
"Check the health of my OSDU platform"
"List all schemas available in the system"
"Find wells in the North Sea region"
"Show me the legal tag template"
What's Included
31 Tools across 6 OSDU services:
- Core - Health checks and user entitlements
- Partition - List, get, create, update, and delete partitions
- Legal - Complete legal tag management with search and batch operations
- Schema - Schema discovery, search, and management
- Search - Elasticsearch queries and record discovery
- Storage - Full CRUD operations with versioning and batch support
3 Prompts for guided workflows:
- Capability overview and quick start
- Search pattern guidance with Elasticsearch examples
- Complete record lifecycle workflows
4 Resources with working templates:
- Legal tag templates
- Record structure examples
- ACL format patterns
- Search query patterns
Configuration
Required
OSDU_MCP_SERVER_URL- Your OSDU platform URLOSDU_MCP_SERVER_DATA_PARTITION- Data partition ID
Optional
OSDU_MCP_SERVER_DOMAIN- Data domain for ACLs (default:contoso.com)OSDU_MCP_ENABLE_WRITE_MODE- Enable create/update (default:false)OSDU_MCP_ENABLE_DELETE_MODE- Enable delete/purge (default:false)
License
Apache License 2.0 - see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file osdu_mcp_server-1.0.0.tar.gz.
File metadata
- Download URL: osdu_mcp_server-1.0.0.tar.gz
- Upload date:
- Size: 76.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ee13b1b45e4cf2df1dca64980f3af25c1333655d6ff4a41e672e9598311001a
|
|
| MD5 |
e056ddddfcfa9b52c60e0f4b09b3a4a1
|
|
| BLAKE2b-256 |
71955d045eb915dbdd7df52956baaeb07b92d4d4636dfd49866a643f51232c51
|
Provenance
The following attestation bundles were made for osdu_mcp_server-1.0.0.tar.gz:
Publisher:
release.yml on danielscholl/osdu-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
osdu_mcp_server-1.0.0.tar.gz -
Subject digest:
3ee13b1b45e4cf2df1dca64980f3af25c1333655d6ff4a41e672e9598311001a - Sigstore transparency entry: 647208830
- Sigstore integration time:
-
Permalink:
danielscholl/osdu-mcp-server@7c7bd3aefece6094ba4ad7386aba63c0f88a3320 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/danielscholl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7c7bd3aefece6094ba4ad7386aba63c0f88a3320 -
Trigger Event:
push
-
Statement type:
File details
Details for the file osdu_mcp_server-1.0.0-py3-none-any.whl.
File metadata
- Download URL: osdu_mcp_server-1.0.0-py3-none-any.whl
- Upload date:
- Size: 106.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d862464beedef341d66510786a4c0ca2764b64880181a36269f9e0f314896ac
|
|
| MD5 |
8d9aeaf555927eb3ebbaa08dfaf1f5f2
|
|
| BLAKE2b-256 |
196077b315ae07a7721f00c7262e5b57fb6225c372ceadcc9ff67b2cd811124e
|
Provenance
The following attestation bundles were made for osdu_mcp_server-1.0.0-py3-none-any.whl:
Publisher:
release.yml on danielscholl/osdu-mcp-server
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
osdu_mcp_server-1.0.0-py3-none-any.whl -
Subject digest:
0d862464beedef341d66510786a4c0ca2764b64880181a36269f9e0f314896ac - Sigstore transparency entry: 647208862
- Sigstore integration time:
-
Permalink:
danielscholl/osdu-mcp-server@7c7bd3aefece6094ba4ad7386aba63c0f88a3320 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/danielscholl
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@7c7bd3aefece6094ba4ad7386aba63c0f88a3320 -
Trigger Event:
push
-
Statement type: