mcpField
C
carto-connect-datawarehouse

carto-connect-datawarehouse

github.com/cartodbData & databases653 installsUpdated 1w ago
Repository

About carto-connect-datawarehouse

A skill for connecting CARTO to data warehouses and managing those connections. It is for users setting up a warehouse, troubleshooting access, or rotating credentials, and covers engine selection, permissions, authentication, and write-scope considerations.

Key features

  1. 01List, inspect, create, and update connections
  2. 02Support multiple data warehouse engines
  3. 03Delete connections and rotate credentials
  4. 04Check authentication, region, and permission issues

Use cases

  1. 01Connect a new data warehouse to CARTO
  2. 02Troubleshoot connection authentication or permission errors
  3. 03Rotate credentials or change project and database scope

MCP support

Uses the CARTO MCP server's explore_data tool to list connections, manage_connections to create or update them, and delete to remove them. Detail access and write operations depend on session permissions; token sessions can use the carto connections CLI instead.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/cartodb/agent-skills --skill carto-connect-datawarehouse

After installing, type/carto-connect-datawarehousein Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
bigquery.md
databricks.md
oracle.md
postgres.md
redshift.md
snowflake.md

Details

From the project README

carto-connect-datawarehouse

CARTO runs spatial analytics in the user's own data warehouse. A connection is the bridge between CARTO and that warehouse: it carries credentials, target project/database scoping, and sometimes a service account or PAT. Most other CARTO operations (querying, importing, building maps, running workflows) require an existing connection.

TaskMCPCLI (fallback)
List / inspect connectionsexplore_data (list_connections on any session; get_connection is OAuth-only)carto connections list / get
Create / update a connectionmanage_connections (create, update) — OAuth session onlycarto connections create / update
Delete a connectiondelete (kind=connection) — OAuth session onlycarto connections delete

Access-path routing. With the MCP server attached, list over explore_data (list_connections); create/update over manage_connections; delete over delete. On a token session only list_connections is available — get_connection and the write tools (manage_connections, delete) need OAuth, so fall back to the carto connections CLI. Also use the CLI when the server isn't attached or for scripted setups. The engine-choice guidance and pitfalls below apply on either path. Detection signals: carto-basics/references/access-paths.md.

When to use this skill

  • The user wants to connect a new warehouse to CARTO.
  • The user is debugging a connection (auth failures, missing tables, permission errors).
  • A downstream skill needs a connection name and you don't yet know which engine the user has.
  • The user is rotating credentials or moving from one project/database to another.

Use carto-explore-datawarehouse once a connection exists and you want to inspect what's inside it.

Quick lifecycle (CLI)

carto connections list --json             # what's already connected? (--all, --search "prod")
carto connections get <id>                # detailed view of one connection
carto connections create                  # interactive create
carto connections update <id>             # rotate credentials, change scoping
carto connections delete <id>             # remove (irreversible)

List/inspect are non-destructive — run them freely before deciding what to do. If the user already has a connection, don't push a new one — use the existing one.

Choosing an engine

EngineWhen to choose itReference
BigQueryGoogle Cloud users; CARTO's flagship integration; rich GIS functions native.references/bigquery.md
SnowflakeSnowflake-shop customers; geospatial via SQL functions and native types.references/snowflake.md
RedshiftAWS-shop customers on Redshift Serverless or RA3 clusters.references/redshift.md
PostgresSelf-hosted or RDS Postgres with PostGIS; common for small/medium deployments.references/postgres.md
DatabricksLakehouse / Unity Catalog users; SQL Warehouses for interactive workloads.references/databricks.md
OracleOracle Database with Spatial; on-prem or OCI / Autonomous Database.references/oracle.md

Common pitfalls

  • Auth-mode mismatch: BigQuery supports OAuth (interactive) and service-account JSON (CI). Pick one consistently per environment; mixing the two breaks shared connections.
  • Region vs project: Some engines need both an account/project and a region (Snowflake, Redshift). Skipping the region typically yields "endpoint not found" rather than a permissions error.
  • Default database/schema scoping: CARTO writes tilesets, named sources, and analytics output back into the warehouse. Confirm which dataset/schema CARTO may write to before creating the connection.
  • Permissions for describe and table reads come from the credential CARTO holds, not the user's CARTO role. A CARTO Admin with a low-privilege service account still sees "permission denied" from the warehouse.

What this skill doesn't cover

Comments

Markdown supported