If you need notebook/runtime tools, compose this server with `jupyter-mcp-server` using [mcp-compose](https://github.com/datalayer/mcp-compose).
Connect Earthdata to Claude, Cursor or any other MCP client and it stops being a tab you switch to. If you need notebook/runtime tools, compose this server with jupyter-mcp-server using mcp-compose. The earthdata mcp server is what makes that connection.
The toolset is worth reading before you wire it up, because it tells you what the integration is really for:
search_earth_datasets — The search_earth_datasets tool exposed by this serversearch_earth_datagranules — The search_earth_datagranules tool exposed by this serverdownload_earth_data_granules — The download_earth_data_granules tool exposed by this serverInstallation goes through your MCP client rather than a global install: point it at earthdata-mcp-server on PyPI and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
Configuration is passed through the environment: EARTHDATA_USERNAME, EARTHDATA_PASSWORD. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.
This sits in the developer tooling group, where several servers overlap in what they claim to do but differ sharply once you actually set them up. Earthdata's toolset — search_earth_datasets, search_earth_datagranules, download_earth_data_granules — is a fair guide to whether it matches your workflow. It is maintained by datalayer; worth a glance at recent repository activity before you build anything load-bearing on it.
This entry was verified against Earthdata's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.
| Tool | What it does |
|---|---|
| search_earth_datasets | The search_earth_datasets tool exposed by this server. |
| search_earth_datagranules | The search_earth_datagranules tool exposed by this server. |
| download_earth_data_granules | The download_earth_data_granules tool exposed by this server. |
### Docker with Claude Desktop
```json
{
"mcpServers": {
"earthdata": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"datalayer/earthdata-mcp-server:latest"
],
"env": {
"EARTHDATA_USERNAME": "your_username",
"EARTHDATA_PASSWORD": "your_password"
}
}
}
}Configuration as documented by the project. Restart the client after saving.
| Variable | Description | Required |
|---|---|---|
| EARTHDATA_USERNAME | Configuration value read at startup. | Optional |
| EARTHDATA_PASSWORD | Configuration value read at startup. | Optional |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.