CARTO MCP Server

The CARTO MCP Server is the AI integration into your CARTO platform: your workspace, saved Builder maps, workflows, and connected data warehouses. Through the Model Context Protocol (MCP), agents like Claude or ChatGPT can explore your data, render interactive maps inline in the chat (ad-hoc visualizations or saved Builder maps), inspect data assets and column distributions, and run your organization's saved analytical workflows.

CARTO will expand support over time by exposing core GIS operations (geocoding, isochrones, routing) directly as MCP Tools. Get in touch if you're interested.

Using CARTO MCP Server

  1. Get the MCP Server URL

    In your CARTO Workspace, go to Developers > Workflow API & MCP Server. Copy the MCP Server URL displayed under the CARTO AI section.

    The URL follows this pattern:

    https://<region>.api.carto.com/mcp/<account_id>
  2. Connect to the MCP Server

    Pick the auth method that matches your client:

    • OAuth. For web-based platforms like Claude.ai that handle authentication natively.

    • API Access Tokens. For CLI-based agents like Gemini CLI.


Available tools

The CARTO MCP Server ships with a catalog of built-in tools. Your team can add to it by publishing any workflow as an MCP tool. The catalog is organized into three categories. Full per-tool documentation is in the MCP Tools Reference.

Category
What it does

Help the agent find the right data. List connections, browse and search tables, inspect column distributions, and locate saved maps. Returns JSON for the agent to reason over.

Render an interactive map directly inline in the chat. Ad-hoc visualizations the agent composes from your data, or one of your saved CARTO Builder maps.

Run analytical workflows your team has published as MCP tools, in sync or async mode. Async jobs are driven by two built-in helper tools.

Interactive tools render inline only in MCP clients that support MCP Apps: Claude.ai, ChatGPT, Claude Desktop, and others. In clients that don't, the tools return a text confirmation describing what would have been rendered.

Last updated

Was this helpful?