Guide Free ⏱ 30 min setup
MCP

Connect Claude Code
to your Fivetran

Fivetran ships an official MCP server with 161 tools covering its full REST API. Wire it into Claude Code and the agent can list connectors, modify schema configs as JSON, trigger syncs, and operate your ingestion stack from a single conversation. This guide walks through the full setup and gives you 5 starter prompts you can run on day one.

Install the MCP server in 4 commands
Configure Claude Code in under 5 min
Run your first connector audit prompt
Patch a 26-table schema config from JSON
Fivetran Built on the official Fivetran MCP server ✓ 161 tools exposed
0

Prerequisites

Before starting, make sure you have the following:

  • Claude Code installed — npm i -g @anthropic-ai/claude-code
  • A Fivetran account with at least one destination configured
  • Fivetran API key + secret (Account Settings → API Config)
  • Python 3.10+ available on your machine
  • ~ git for cloning Fivetran's MCP repo
Note The Fivetran MCP server is open source and self-hosted. It runs as a local Python process and talks to Fivetran's REST API on your behalf. Your credentials never leave your machine.
1

Install the MCP server

Clone Fivetran's official MCP repository and set up a Python virtual environment:

Terminal
# Clone Fivetran's official MCP server $ git clone https://github.com/fivetran/fivetran-mcp-server.git ~/.claude/fivetran-mcp $ cd ~/.claude/fivetran-mcp # Create a Python venv and install $ python3 -m venv .venv $ source .venv/bin/activate $ pip install . Successfully installed fivetran-mcp-0.x.x ✓ MCP server installed at ~/.claude/fivetran-mcp/
Why self-hosted Unlike a hosted SaaS MCP, this server runs locally. You hold the API key. The server is a thin proxy over the public Fivetran REST API plus a few quality-of-life helpers. Source: github.com/fivetran/fivetran-mcp-server.
2

Configure Claude Code

Register the MCP server with Claude Code. The fastest way is the claude mcp add command:

Terminal
$ claude mcp add fivetran \ --env FIVETRAN_API_KEY=your-api-key \ --env FIVETRAN_API_SECRET=your-api-secret \ --env FIVETRAN_ALLOW_WRITES=false \ -- ~/.claude/fivetran-mcp/.venv/bin/python ~/.claude/fivetran-mcp/server.py ✓ Registered MCP server: fivetran (user scope)

Or add it directly to your ~/.claude.json:

~/.claude.json
{ "mcpServers": { "fivetran": { "command": "/Users/you/.claude/fivetran-mcp/.venv/bin/python", "args": ["/Users/you/.claude/fivetran-mcp/server.py"], "env": { "FIVETRAN_API_KEY": "your-api-key", "FIVETRAN_API_SECRET": "your-api-secret", "FIVETRAN_ALLOW_WRITES": "false" } } } }
Important Keep FIVETRAN_ALLOW_WRITES at "false" by default. Step 6 explains the safety pattern in detail. You will flip it to "true" only for the specific window when you want the agent to mutate state.
3

Verify the connection

Restart Claude Code, then ask the agent to introspect the server:

Claude Code · Fivetran
> List my Fivetran groups and connections ⌟ list_groups (MCP) ↳ fivetran: 1 group found ⌟ list_connections_in_group (MCP) ↳ fivetran: 12 connections returned Connected to Fivetran. You have 1 group and 12 connections. Active syncs: 9. Paused: 2. Broken: 1 (postgres_prod, see step 4).
Claude Code | MCP: fivetran ✓ 161 tools
You’re ready If you see 161 tools listed, the connection is working. Move to step 4.
4

5 prompts to run first

These work out of the box in read-only mode. Copy, paste, run.

01
“List all my connections grouped by status. Flag anything broken or paused for more than 24 hours.”
Health audit. Surfaces stuck syncs and silent failures across the whole account in one pass.
02
“For connection [name], list every table and column currently enabled. Highlight tables I might want to disable to control MAR.”
Cost audit. Pulls the full schema config and recommends candidates for the skip list before they hit your bill.
03
“Show me every webhook configured at the account and group level. List which events each one fires on.”
Observability inventory. Useful when migrating to a new alerting tool or auditing what your monitoring actually covers.
04
“For connection [name], get the last sync time, the next scheduled sync, and any historical sync still in progress.”
Status drill-down. Faster than the UI when you are debugging a stale dashboard and need ground truth in one prompt.
05
“Inspect destination [id] and tell me which connections write to it. Group results by schema prefix.”
Warehouse hygiene. Helps you see which sources are landing where, and catch overlapping or orphaned schemas.
5

Schema configs as JSON

The flagship workflow. Instead of clicking through 20+ checkboxes in the Fivetran UI, you describe the desired state in plain English and the agent generates a schema-config patch.

A real example: a HelpScout connector with 26 tables. Customer support sent a written shortlist (11 parents to keep, 15 children to skip) to keep MAR under control. The whole config landed in 4 prompts:

Claude Code · Fivetran
> Reload the schema for the helpscout connector and show me all tables with their current sync state. ⌟ reload_connection_schema_config (MCP) ⌟ get_connection_schema_config (MCP) ↳ fivetran: 26 tables returned All 26 tables currently set to ALLOW_ALL. Top noisy children: - conversation_thread_history - conversation_field_history - mailbox_assignment_history + 12 more *_history tables. > Keep only these 11 tables: customers, conversations, conversation_threads, conversation_tags, conversation_users, mailboxes, mailbox_users, users, tags, teams, workflows. Disable the rest. Generate the JSON patch first. I'll review before you apply. Proposed patch (write would be blocked: FIVETRAN_ALLOW_WRITES=false): schema_change_handling: ALLOW_COLUMNS tables.customers.enabled: true tables.conversation_thread_history.enabled: false … 24 more entries > Looks good. I will flip ALLOW_WRITES on for the next 5 minutes. Apply when ready. ⌟ modify_connection_schema_config (MCP) ↳ fivetran: 26 tables updated Schema patched. 11 tables enabled, 15 disabled.

The whole exchange takes about 3 minutes. The diff is reviewable in chat. The patch is reproducible. If you do this on production weekly, the time savings stack up fast.

Tip Always ask the agent to generate the patch first, then apply. The pattern is “dry run, review, apply”: it gives you a diff before any state changes.
6

Read-only safety pattern

The Fivetran MCP server has a top-level kill switch: the FIVETRAN_ALLOW_WRITES environment variable. When set to false, every mutating operation is rejected before it reaches the API. The agent can read everything, change nothing.

Recommended workflow:

  • Default state: FIVETRAN_ALLOW_WRITES="false". The agent inspects, audits, generates patches, drafts docs.
  • Mutation window: flip to "true", restart Claude Code, run the specific change, verify it landed.
  • Close the window: flip back to "false", restart Claude Code. Total elevated time: 5–10 minutes.

This mirrors how production engineers use sudo: privileged for the minute the change happens, locked down the rest of the time. The fact that the toggle lives in your config (not a Fivetran-side permission) means you can keep all the audit benefits of agent automation while keeping accidental writes structurally impossible.

Bonus For higher-stakes accounts, scope the API key itself. Fivetran lets you create role-scoped keys (read-only, group-scoped). Combine that with ALLOW_WRITES=false and you have two independent layers of protection.
Read next
Strategy · Article
Fivetran MCP + Claude Code: Pilot Your Data Stack from a Prompt
Why connecting Claude Code to Fivetran via MCP changes how data teams operate, and what to expect from the integration.
Companion · Article
MCP Toolbox for Databases: BigQuery + Claude Code
Once Fivetran lands data in BigQuery, give Claude Code direct read access via MCP Toolbox. The querying half of the stack.