
Connects Claude to Riskthinking.AI's CDT Express API for querying climate risk data. You get access to climate exposure and impact metrics, probability-adjusted impacts, and distribution data across different scenarios and time horizons. Beyond climate metrics, it also surfaces physical assets, companies, and markets data from the CDT Express platform. Requires a CDT Express API key from their portal. Reach for this when you need to analyze climate risks for specific locations, assets, or portfolios directly in your AI workflow. Ships as an MCPB extension for Claude Desktop with stdio transport.
Interact with climate metrics through Riskthinking.AI's CDT Express API in supported AI chat experiences.
This project contains:
Add this URL as a custom MCP server in a compatible AI app:
https://mcp.riskthinking.ai/mcp
The app opens VELO for sign-in or sign-up. After consent, authorization completes automatically: the CDT API key is provided to the MCP server through a server-to-server backchannel and is never shown to the AI app, browser URL, or MCP logs.
See the remote MCP live-testing guide for current platform requirements, setup steps, and acceptance checks.
The existing MCPB/stdio package remains available for local-only use.
cp .env.example .env
# Set MCP_OAUTH_SECRET in .env to the output of: openssl rand -base64 48
npm ci
npm run build
npm run start:http
Alternatively, build and run the included Dockerfile. Production requires
HTTPS at MCP_PUBLIC_BASE_URL. The Cloud Run disaster-recovery
guide covers WIF/IAM provisioning, GitHub
configuration, and Cloudflare DNS. Configure the visual-eyes deployment with
CDT_MCP_URL=https://mcp.riskthinking.ai/mcp so its /mcp/authorize route can
complete the authenticated hand-off.
The HTTP server provides:
/mcp, with JSON responses for broad client
compatibility.MCP_OAUTH_SECRET is the only durable secret and must be shared by all remote
MCP instances. Rotating it invalidates existing client registrations and
tokens. The current TypeScript SDK negotiates MCP through 2025-11-25, which
the major hosted clients currently use. The endpoint is structured for the
stateless 2026-07-28 transport and can switch when the stable TypeScript SDK
exposes that protocol revision.
cdt-express.mcpb from the
GitHub releases
page.To update the extension, install the newer MCPB file and select Update.
CDT Express Climate API:
v0.1.0:
Climate exposure metricsv0.2.0:
Climate impact metricsv0.2.0:
Probability-adjusted impactv0.2.0:
Climate exposure distributionv0.2.0:
Climate impact distributionOther CDT Express APIs:
v0.3.0:
Physical Assets APIv0.3.0:
Companies APIv0.3.0:
Markets APIIntegration:
v0.1.0: stdio transport for local MCP connectivity, including
the Claude Desktop extension and IDEs such as Cursor.v0.6.0: authenticated Streamable HTTP transport for remote MCP
connectivity to web AI chat experiences.nvm use to select
the Node.js version in .nvmrc.npm install.npm run pack. The resulting
cdt-express.mcpb file is written to the repository root. The command bundles
only the local stdio server into an isolated staging directory, leaving the
remote HTTP/OAuth server and its dependencies out of the extension.npm test.npm run bump:version -- <version>. The command treats package.json
as the source of truth and synchronizes the lockfile, server.json,
manifest.json, and the runtime SERVER_VERSION constant. It does not
create a Git tag; the GitHub release does that after the change is merged.v prefix, such as
v0.5.2, from the
new release page.server.jsonThe checked-in file is a valid remote-only server definition. The release
workflow calculates the MCPB hash and download URL, adds the complete
packages[0] record, validates the result, and publishes both installation
options together. See the MCP Registry documentation
for the current publishing process.
manifest.jsonnpm run pack synchronizes the staged manifest version from package.json
without modifying the checked-in manifest.json. See the
MCPB manifest specification
for current requirements.