Introduction
MarcoPolo is a data computer that connects AI to your databases, warehouses, cloud storage, and SaaS apps.
MarcoPolo securely connects AI to the systems you use to do your work. It provides a persistent workspace where AI can query, correlate, analyze, and act on the data across these systems. The data tools, the access firewall, and the context available in the workspace enable your AI to automate more of your work without compromising your data security - so that you don't have to worry about context switching across systems, manually cutting and pasting data, or writing boilerplate SQL or Python.
Any AI assistant - Claude, ChatGPT, Cursor, Codex, or custom agents - can connect to MarcoPolo via MCP. For Claude and Codex users, the Claude Plugin and Codex Plugin are the most effective ways to connect, providing skills and client-specific workflows that guide the assistant through proven data workflows.
How it Works
- Connect: Link your databases (PostgreSQL, Snowflake, etc.), cloud storage (S3, OneDrive, etc.) and SaaS apps (Salesforce, Jira, etc.) to MarcoPolo once.
- Execute: When you ask a question, your AI writes a query file and MarcoPolo executes it in a secure, sandboxed workspace.
- Cache: Results are automatically loaded into a persistent DuckDB instance in your workspace, ready for follow-up analysis.
- Refine: Only summaries and relevant output are returned to the AI's context window, keeping the conversation focused on reasoning rather than data transport.
Example: Cross-System Churn Analysis
Show me which customers churned last quarter and pull their support tickets.
AI calls list_datasources()
→ Found: SALESFORCE, JIRA, SNOWFLAKE
AI calls get_schema("SALESFORCE")
→ Discovered Account, Opportunity, Contact objects
AI writes queries/salesforce/churned_accounts.sql
AI calls query("SALESFORCE", "queries/salesforce/churned_accounts.sql")
→ 18 churned accounts → loaded into DuckDB table: sf_churned_accounts
AI writes queries/jira/churned_tickets.sql
AI calls query("JIRA", "queries/jira/churned_tickets.sql")
→ 94 tickets for those accounts → loaded into DuckDB table: jira_churned_tickets
AI writes queries/duckdb/churn_analysis.sql (joins the two tables locally)
AI calls query("DUCKDB", "queries/duckdb/churn_analysis.sql")
→ 65% of churned accounts had >2 unresolved escalations
→ 3 active accounts currently match this pattern
Summary returned to AI: <1KB. Full results cached in workspace: 4.2MB.Two data sources queried, joined locally in DuckDB, and analyzed - in one conversation.
Built for cross-system data work
- RevOps: Correlate Salesforce records with warehouse tables to generate pipeline metrics.
- Data Engineering: Profile datasets and automate query runs against Snowflake or BigQuery without leaving the chat.
- Infrastructure: Trace production issues across S3 logs and relational databases in a single conversation.
- Manufacturing: Run yield analysis and failure mode paretos across distributed data stores like Microsoft Fabric.
- Customer Success: Cross-reference support tickets with CRM data to identify account health patterns before renewal cycles.