Skip to main content
Glama
srstsavage

erddap-mcp-demo

by srstsavage
README.md
# ERDDAP MCP demo

Demo implementation of a [Model Context Protocol](https://modelcontextprotocol.io/) server
allowing an LLM to interact with ERDDAP search, metadata, and tabledap services.

![Example usage](example.png)

## Usage

Make sure you have `uv` installed, then add the MCP server to the desired MCP capable client.

## Example for Claude Desktop

NOTE: claude.ai is not MCP capable at the time of writing

Add the `erddap_mcp_demo.py` tool to the Clade config file at:

* Mac: `~/Library/Application Support/Claude/claude_desktop_config.json`
* Linux: `~/.config//Claude/claude_desktop_config.json`
* Windows: `%APPDATA%\Claude\claude_desktop_config.json`

```
{
  "mcpServers": {
    "erddap-tabledap": {
      "command": "/path/to/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/path/to/erddap_mcp_demo.py"
      ]
    }
  }
}
```

Then start/restart Claude desktop and ask it to get some data!

See https://modelcontextprotocol.io/quickstart/user

## Testing

```
uv run mcp dev erddap_mcp_demo.py
```

TDQS

C2.6/5.0

Scored across 5 tools

Disambiguation2/5

There is significant overlap: 'list_datasets' and 'search_datasets' have identical descriptions and appear to serve the same purpose, making it hard for an agent to distinguish them. Other tools are distinct but the duplication is a major issue.

Naming Consistency3/5

Names follow a verb_noun pattern with underscores, but there is inconsistency in verb choice: 'list_datasets' vs 'search_datasets' for the same action, and 'get_' vs 'list_' across similar operations. While readable, the pattern is not fully consistent.

Tool Count4/5

5 tools is within the well-scoped range for an ERDDAP server. However, the duplication reduces effective distinct tools to 4, making the count slightly less efficient but still acceptable.

Completeness3/5

The set covers listing datasets, listing variables, and retrieving data, but lacks tools for dataset metadata (e.g., attributes, time ranges) or data export formats. Basic querying is possible, but notable gaps exist.

Maintenance

ActivityInactive
ResponsivenessNo issues