GDEX MCP Server
MCP serverMonitoring & opsMCP server for the GDEX (Geoscience Data Exchange) data portal: datasets, files, metrics, subsetting
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use GDEX MCP Server
Install GDEX MCP Server
The server’s own address, for the clients that take one directly. Or connect ahel onceand every client you use reads it from one address, with the account kept on ahel rather than in each client’s config.
Claude Code
claude mcp add --transport http gdex-mcp-server 'https://gdex-mcp.k8s.ucar.edu/mcp'Run it once in your project, then open /mcp to approve any sign-in the server asks for.
Claude Desktop
https://gdex-mcp.k8s.ucar.edu/mcpAdd a custom connector in Settings, paste this address, and approve the sign-in.
Cursor
cursor://anysphere.cursor-deeplink/mcp/install?name=gdex-mcp-server&config=eyJ1cmwiOiJodHRwczovL2dkZXgtbWNwLms4cy51Y2FyLmVkdS9tY3AifQ==Open the link and Cursor adds the server at that address.
ChatGPT
https://gdex-mcp.k8s.ucar.edu/mcpIn Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.
Codex
codex mcp add gdex-mcp-server --url 'https://gdex-mcp.k8s.ucar.edu/mcp'Run it once, then sign in with codex mcp login gdex-mcp-server if the server asks for an account.
From the project's README
As published by NCAR/gdex-mcp in README.md.
An MCP (Model Context Protocol) server exposing the GDEX (Geoscience Data Exchange) REST API as tools for LLM clients — dataset discovery/metadata, file listings, data access links, ARCO variables, portal/dataset metrics, staff contacts, and authenticated subsetting-request workflows.
Running locally
pip install -e .
gdex-mcp
Then point your MCP client (Claude Desktop, Claude Code, etc.) at the
gdex-mcp command. Configuration is via environment variables or a .env
file — see CLAUDE.md's Configuration section. Most tools need no
configuration at all; set GDEX_TOKEN only if you'll use the
subsetting-request tools (list_request_statuses, check_request_status,
get_request_files, submit_subset_request, submit_and_wait_for_request,
purge_request).
Running as a shared service
Set GDEX_MCP_TRANSPORT=streamable-http (see Dockerfile) to run this as a
network-reachable service instead of a local stdio subprocess. In that mode,
callers using the subsetting-request tools pass their own GDEX token as an
Authorization: Token <token> header on each request rather than relying on
a shared GDEX_TOKEN — see CLAUDE.md's "Two transports" section for how
that's wired.
Docker
# Build the image
docker build -t gdex-mcp .
# Run the container
docker run -d --name gdex-mcp -p 8080:8080 gdex-mcp
MCP requests go to http://localhost:8080/mcp.
# Stop and remove the container
docker stop gdex-mcp && docker rm gdex-mcp
Deployment
A merged PR to main triggers the GitHub Actions workflow, which runs the
test suite (pip install -e ".[test]" && pytest) and then builds a
new Docker image and pushes it to Harbor
(hub.k8s.ucar.edu/gdex_mcp/gdex-mcp). The app is deployed to
Kubernetes via the Helm chart in app-chart/ — see CLAUDE.md's Deployment
section for how this follows gdex-web-services' conventions.
# Deploy with Helm
helm upgrade --install gdex-mcp ./app-chart -n <namespace>
# Deploy a test instance
helm upgrade --install gdex-mcp ./app-chart -n <namespace> --set testName=<your-name>
Documentation
CLAUDE.md has the full picture: architecture, conventions to follow when
adding tools, the two transport modes, and deployment. Read it before making
changes here.
Advanced
- Delivery
- gdex-mcp MCP server → your ahel gateway (mcp.ahel.ai) → every connected AI client.
- Catalog kind
- mcp-server
- Gateway key
io-github-rpconroy-gdex-mcp- Source
- github.com/NCAR/gdex-mcp
- Hosted endpoint
https://gdex-mcp.k8s.ucar.edu/mcp