An MCP (Model Context Protocol) server for querying the ESS-DIVE (Environmental System Science Data Infrastructure for a Virtual Ecosystem) API.
This project implements a Model Context Protocol server that allows language models to search and retrieve information from the ESS-DIVE repository. The server provides access to dataset search functionality and detailed dataset information through the ESS-DIVE API.
- Search for datasets with various filtering options
- Retrieve detailed information about specific datasets
- Access dataset metadata, creators, keywords, and file listings
- Results formatted in human-readable text or markdown
- Clone this repository
- Navigate to the project directory
- Install using uv:
uv init
uv add .
python main.py
--name
: Set the name of the MCP server (default:essdive-server
)--api-token
: Provide an ESS-DIVE API token for authentication (optional)
ESSDIVE_API_TOKEN
: Alternative way to provide the ESS-DIVE API token
- Run the server
- In Claude Desktop, connect to the running server
- Use the available tools and resources:
- Search for datasets by keywords, authors, or content
- Retrieve detailed information about specific datasets
Search for datasets in the ESS-DIVE repository.
Parameters:
query
: Search query textcreator
: Filter by dataset creatorprovider_name
: Filter by dataset project/provideris_public
: If true, only return public packagesdate_published
: Filter by publication datekeywords
: Search for datasets with specific keywordsrow_start
: The row number to start on (for pagination)page_size
: Number of results per page (max 100)format
: Format of the results (summary, detailed, raw)
Get detailed information about a specific dataset.
Parameters:
id
: ESS-DIVE dataset identifier
essdive://search
- Search for datasetsessdive://dataset-info?id=<dataset-id>
- Get detailed information about a specific dataset
MIT