CARTO MCP Server for CrewAI 10 tools — connect in under 2 minutes
Connect your CrewAI agents to CARTO through Vinkius, pass the Edge URL in the `mcps` parameter and every CARTO tool is auto-discovered at runtime. No credentials to manage, no infrastructure to maintain.
ASK AI ABOUT THIS MCP SERVER
Vinkius supports streamable HTTP and SSE.
from crewai import Agent, Task, Crew
agent = Agent(
role="CARTO Specialist",
goal="Help users interact with CARTO effectively",
backstory=(
"You are an expert at leveraging CARTO tools "
"for automation and data analysis."
),
# Your Vinkius token. get it at cloud.vinkius.com
mcps=["https://edge.vinkius.com/[YOUR_TOKEN_HERE]/mcp"],
)
task = Task(
description=(
"Explore all available tools in CARTO "
"and summarize their capabilities."
),
agent=agent,
expected_output=(
"A detailed summary of 10 available tools "
"and what they can do."
),
)
crew = Crew(agents=[agent], tasks=[task])
result = crew.kickoff()
print(result)
* Every MCP server runs on Vinkius-managed infrastructure inside AWS - a purpose-built runtime with per-request V8 isolates, Ed25519 signed audit chains, and sub-40ms cold starts optimized for native MCP execution. See our infrastructure
About CARTO MCP Server
Connect your CARTO platform to any AI agent and take full control of your cloud-native spatial analytics without touching the GIS interface.
When paired with CrewAI, CARTO becomes a first-class tool in your multi-agent workflows. Each agent in the crew can call CARTO tools autonomously, one agent queries data, another analyzes results, a third compiles reports, all orchestrated through Vinkius with zero configuration overhead.
What you can do
- Spatial SQL & Jobs — Command explicit SQL queries running directly against your BigQuery, Snowflake, or Redshift warehouse. Execute quick reads or spawn long-running, asynchronous batch transformations.
- Geocoding & Batching — Convert unstructured strings into precise lat/lon points. Bulk-process 100s of addresses using CARTO's native Location Data Services (LDS) gracefully.
- Isolines & Reachability — Calculate travel-time or distance polygons around origin points to instantly graph accessible zones via cars or walking.
- Routing — Generate optimal vector geometry paths connecting two points on the globe, measuring both physical distance and travel time securely.
- Data Management — Instruct your agent to list active mapping datasets or import massive external CSV/GeoJSON files directly via public URLs.
The CARTO MCP Server exposes 10 tools through the Vinkius. Connect it to CrewAI in under two minutes — no API keys to rotate, no infrastructure to provision, no vendor lock-in. Your configuration, your data, your control.
How to Connect CARTO to CrewAI via MCP
Follow these steps to integrate the CARTO MCP Server with CrewAI.
Install CrewAI
Run pip install crewai
Replace the token
Replace [YOUR_TOKEN_HERE] with your Vinkius token from cloud.vinkius.com
Customize the agent
Adjust the role, goal, and backstory to fit your use case
Run the crew
Run python crew.py. CrewAI auto-discovers 10 tools from CARTO
Why Use CrewAI with the CARTO MCP Server
CrewAI Multi-Agent Orchestration Framework provides unique advantages when paired with CARTO through the Model Context Protocol.
Multi-agent collaboration lets you decompose complex workflows into specialized roles, one agent researches, another analyzes, a third generates reports, each with access to MCP tools
CrewAI's native MCP integration requires zero adapter code: pass Vinkius Edge URL directly in the `mcps` parameter and agents auto-discover every available tool at runtime
Built-in task delegation and shared memory mean agents can pass context between steps without manual state management, enabling multi-hop reasoning across tool calls
Sequential and hierarchical crew patterns map naturally to real-world workflows: enumerate subdomains → analyze DNS history → check WHOIS records → compile findings into actionable reports
CARTO + CrewAI Use Cases
Practical scenarios where CrewAI combined with the CARTO MCP Server delivers measurable value.
Automated multi-step research: a reconnaissance agent queries CARTO for raw data, then a second analyst agent cross-references findings and flags anomalies. all without human handoff
Scheduled intelligence reports: set up a crew that periodically queries CARTO, analyzes trends over time, and generates executive briefings in markdown or PDF format
Multi-source enrichment pipelines: chain CARTO tools with other MCP servers in the same crew, letting agents correlate data across multiple providers in a single workflow
Compliance and audit automation: a compliance agent queries CARTO against predefined policy rules, generates deviation reports, and routes findings to the appropriate team
CARTO MCP Tools for CrewAI (10)
These 10 tools become available when you connect CARTO to CrewAI via MCP:
calculate_isoline
The range parameter is in seconds for time-based isolines. Returns a GeoJSON polygon representing the reachable area. Use for service area analysis, store catchment zones, and logistics planning. Generate travel-time or travel-distance isoline polygons from a center point using the CARTO LDS Isolines API, producing reachability contours showing areas accessible within a specified time or distance threshold
calculate_route
Returns the route as GeoJSON with total distance (meters) and duration (seconds). Consumes LDS routing credits. Calculate the optimal driving route between two points using the CARTO LDS Routing API, returning distance, duration, and route geometry suitable for visualization on CARTO maps
create_async_sql_job
"}`. Returns a job_id that can be polled for completion status. Use for ETL operations, materialized view refreshes, and heavy geospatial computations. The job runs in your data warehouse and results are stored there. Submit a long-running SQL query as an asynchronous batch job via the CARTO SQL Job API, suitable for heavy spatial analytics, large table transformations, and complex multi-join operations that exceed the 60-second synchronous timeout
execute_sql_query
carto.com/api/v2/sql?q=`. The query runs synchronously with a 1-minute timeout. Use for quick analytical queries, spatial joins, and data exploration. For long-running queries exceeding 60 seconds, use the async job endpoint instead. Supports PostGIS/BigQuery spatial functions natively. Execute an arbitrary SQL query against your CARTO data warehouse connection using the SQL API v2, returning results as JSON rows directly from BigQuery, Snowflake, Redshift, or PostgreSQL
geocode_address
Returns latitude, longitude, and formatted address. Consumes LDS geocoding credits from your CARTO plan. Use sparingly for individual lookups; for bulk operations use the batch endpoint instead. Forward-geocode a single address string into geographic coordinates using the CARTO Location Data Services (LDS) geocoding endpoint, powered by TomTom or HERE depending on your CARTO plan configuration
geocode_batch_addresses
Designed for bulk processing of customer lists, store locators, and CRM datasets. Consumes LDS credits per address. Returns an array of geocoded results with match quality indicators. Batch-geocode multiple addresses in a single request using the CARTO LDS batch geocoding API, efficiently converting large address lists into coordinates without making individual API calls per address
get_import_status
Poll periodically until state becomes "complete" or "failure". On success, the response includes the table_name of the newly created dataset in your warehouse. Check the status of a previously initiated CARTO data import job, returning progress percentage, current state (uploading, importing, complete, failure), and any error details if the import encountered issues
import_external_file
"}`. Supports CSV, GeoJSON, Shapefile (zipped), KML, GPX, and Excel files. Returns an import_id for status tracking. The file is downloaded, parsed, and loaded into your connected data warehouse. Import an external data file (CSV, GeoJSON, Shapefile, KML) into your CARTO data warehouse by providing a publicly accessible URL, creating a new managed table that can be used for spatial analysis and visualization
list_map_datasets
Returns an array of dataset/visualization objects. Use to discover available data layers, check dataset freshness, and audit organization assets. List all visualization datasets (maps and tables) available in your CARTO organization, returning metadata including creation dates, privacy settings, table names, and row counts
poll_async_job_status
Poll periodically (every 5-10 seconds) until status changes to "done" or "failed". The response includes created_at, updated_at, and the original query for audit purposes. Check the execution status of a previously submitted CARTO async SQL job, returning the current state (pending, running, done, failed) and any error messages if the job encountered issues
Example Prompts for CARTO in CrewAI
Ready-to-use prompts you can give your CrewAI agent to start working with CARTO immediately.
"Execute a SQL query limiting to 10 rows on my 'retail_stores' dataset to check the schema."
"Take these 5 addresses in Madrid and bulk geocode them to lat/lon coordinates."
"Generate a 15-minute drive-time isoline around Times Square, New York."
Troubleshooting CARTO MCP Server with CrewAI
Common issues when connecting CARTO to CrewAI through the Vinkius, and how to resolve them.
MCP tools not discovered
Agent not using tools
Timeout errors
Rate limiting or 429 errors
CARTO + CrewAI FAQ
Common questions about integrating CARTO MCP Server with CrewAI.
How does CrewAI discover and connect to MCP tools?
tools/list method. This means tools are always fresh and reflect the server's current capabilities. No tool schemas need to be hardcoded.Can different agents in the same crew use different MCP servers?
mcps list, so you can assign specific servers to specific roles. For example, a reconnaissance agent might use a domain intelligence server while an analysis agent uses a vulnerability database server.What happens when an MCP tool call fails during a crew run?
Can CrewAI agents call multiple MCP tools in parallel?
process=Process.parallel, each calling different MCP tools concurrently. This is ideal for workflows where separate data sources need to be queried simultaneously.Can I run CrewAI crews on a schedule (cron)?
crew.kickoff() method runs synchronously by default, making it straightforward to integrate into existing pipelines.Connect CARTO with your favorite client
Step-by-step setup guides for every MCP-compatible client and framework:
Anthropic's native desktop app for Claude with built-in MCP support.
AI-first code editor with integrated LLM-powered coding assistance.
GitHub Copilot in VS Code with Agent mode and MCP support.
Purpose-built IDE for agentic AI coding workflows.
Autonomous AI coding agent that runs inside VS Code.
Anthropic's agentic CLI for terminal-first development.
Python SDK for building production-grade OpenAI agent workflows.
Google's framework for building production AI agents.
Type-safe agent development for Python with first-class MCP support.
TypeScript toolkit for building AI-powered web applications.
TypeScript-native agent framework for modern web stacks.
Python framework for orchestrating collaborative AI agent crews.
Leading Python framework for composable LLM applications.
Data-aware AI agent framework for structured and unstructured sources.
Microsoft's framework for multi-agent collaborative conversations.
Connect CARTO to CrewAI
Get your token, paste the configuration, and start using 10 tools in under 2 minutes. No API key management needed.
