fivetran-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@fivetran-mcp check sync status of Salesforce connection"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
fivetran-mcp
25 tools. 161 endpoints. Zero bloat.
A hybrid Fivetran MCP server built on the architecture Cloudflare pioneered for their own API: instead of drowning the model in dozens of tool definitions, we give it 23 fast native tools for the data engineering workflow you actually use, plus two universal tools that unlock the entire Fivetran REST API on demand.
The Problem with Every Other Fivetran MCP
Existing Fivetran MCP servers expose 13–20+ individual tools, each one permanently loaded into the LLM's context window. They still don't cover the full API — no transformations, no teams, no webhooks, no schema management depth. So you get the worst of both worlds: context overhead without completeness.
This is the context flooding problem. Cloudflare ran the math on their own API (2,500+ endpoints) and found that exposing everything as native MCP tools would consume 1.17 million tokens per turn. Their solution was radical: collapse the entire API surface into just two tools — search and execute — and let the model discover what it needs on the fly. They called it Code Mode, and it reduced the footprint to ~1,000 tokens.
Related MCP server: ads-mcp
Our Take: The Hybrid Architecture
Pure Code Mode is elegant, but it has a tradeoff. For the stuff you do every single day — check sync status, trigger a sync, list connections, pause a connector — forcing the model to search the API catalog first adds an unnecessary round trip. You already know what you want. The model should too.
So we built a hybrid:
Layer 1: 23 native tools for the complete data engineering workflow. These are purpose-built, zero-overhead, and handle the 80% case. Checking sync status, triggering a resync, managing schemas — one tool call, done. No searching, no discovering, no extra turns.
Layer 2: search + execute for everything else. An embedded catalog of all 161 Fivetran API endpoints, generated from the official OpenAPI spec. The model searches to discover endpoints, then executes to call them. Private links, proxy agents, system keys, custom connector SDKs — it's all there without adding a single extra tool definition.
The result: 25 tool schemas in your context window instead of an incomplete subset. Fast for the common case, omnipotent for the edge case.
Other Fivetran MCPs | fivetran-mcp | |
Tools in context | 13–20+ | 25 |
API coverage | Partial | Full (161 endpoints) |
Token cost per turn | High (all schemas always loaded) | Minimal |
Common tasks | Same overhead as rare ones | Optimized native tools |
New Fivetran endpoints | Requires code changes | Already covered via execute |
Setup
Get Your Fivetran API Credentials
Log in to Fivetran
Go to Settings → API Key (or click your username → API Key)
Generate a new API key — copy both the Key and the Secret
The secret is only shown once. Store it somewhere safe.
Claude Code
Add to your ~/.claude.json (or project-level .claude.json) under mcpServers:
{
"mcpServers": {
"fivetran": {
"type": "stdio",
"command": "npx",
"args": ["-y", "fivetran-mcp"],
"env": {
"FIVETRAN_API_KEY": "your-api-key",
"FIVETRAN_API_SECRET": "your-api-secret"
}
}
}
}Restart Claude Code for the server to connect. You'll see fivetran in your MCP server list, and the tools will appear as mcp__fivetran__list_connections, mcp__fivetran__search, etc.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"fivetran": {
"command": "npx",
"args": ["-y", "fivetran-mcp"],
"env": {
"FIVETRAN_API_KEY": "your-api-key",
"FIVETRAN_API_SECRET": "your-api-secret"
}
}
}
}Restart Claude Desktop. The Fivetran tools will appear in the tools menu (hammer icon).
Cursor / Windsurf / Other MCP Clients
The config pattern is the same — npx -y fivetran-mcp as the command, with your API key and secret in the env block. Consult your client's MCP documentation for where to place the config.
Running from Source (Development)
If you cloned the repo instead of using npx:
{
"mcpServers": {
"fivetran": {
"command": "node",
"args": ["/path/to/fivetran-mcp/dist/index.js"],
"env": {
"FIVETRAN_API_KEY": "your-api-key",
"FIVETRAN_API_SECRET": "your-api-secret"
}
}
}
}Native Tools: The Fast Path
These 23 tools cover the complete data engineering lifecycle — no searching required:
Connection Management
Tool | What it does |
| List all connections with sync status, optionally filtered by group |
| Get full config, status, schedule for a specific connection |
| Create a new connector (use |
| Update connection config, schedule, or settings |
| Permanently delete a connection |
| Trigger an immediate sync without waiting for schedule |
| Pause a connection's sync schedule |
| Resume a paused connection |
Schema Management
Tool | What it does |
| Get schema/table/column config with enabled/disabled state |
| Enable/disable schemas, tables, and columns |
| Refresh schema from source (detect new tables/columns) |
Sync Monitoring
Tool | What it does |
| Current sync state, last sync time, warnings, failures |
| Per-table sync status flattened into a readable list |
| Connection state and sync history |
Group & Destination Management
Tool | What it does |
| List all groups (workspaces) |
| List all connections within a group |
| List all destinations with config |
| Run destination connectivity tests |
User & Team Management
Tool | What it does |
| List all account users |
| Invite a new user with role |
| List all teams |
Advanced Operations
Tool | What it does |
| Force historical resync of specific tables (not the whole connection) |
| Discover available connector types and their required config |
Example: Daily Data Engineering Workflow
1. list_groups() → find your workspace
2. get_group_connectors(group_id) → see all connections
3. get_sync_status(connection_id) → check if sync succeeded
4. get_table_status(connection_id) → drill into table-level status
5. trigger_sync(connection_id) → force a sync if needed
6. get_connection_schema(connection_id) → inspect what's being syncedExample: Resync Specific Tables
resync_tables(
connection_id: "spoke_foolish",
tables: { "public": ["users", "orders", "products"] }
)Universal Tools: The Long Tail
For anything beyond the 23 native tools — private links, proxy agents, system keys, custom connector SDKs, HVR registrations, and more — use search and execute.
Search: Discover What's Available
Call with no arguments to see the full API map:
> search()
Fivetran REST API — 161 endpoints across 21 categories
Account Management (1) — Account-level info and settings
Certificate Management (17) — SSL certificate and fingerprint approval
Connection Management (11) — Connectors — create, configure, sync, pause, resume, delete
Connection Schema Management (11) — Schema, table, and column configuration
Team Management (21) — Teams — membership, groups, connections, permissions
User Management (16) — Users — invite, modify, delete, memberships
...Narrow it down:
> search(tag: "Webhook Management")
> search(query: "schema reload")
> search(query: "proxy agent", method: "POST")Execute: Call Any Endpoint
> execute(method: "GET", path: "/account/info")
{ "account_id": "...", "account_name": "..." }
> execute(method: "GET", path: "/roles")
> execute(method: "POST", path: "/webhooks", body: {
"url": "https://example.com/webhook",
"events": ["sync_end"],
"active": true
})All 21 API Categories
Category | Endpoints | Description |
Account Management | 1 | Account-level info and settings |
Certificate Management | 17 | SSL certificate and fingerprint approval |
Connection Management | 11 | Connectors — create, configure, sync, pause, resume, delete |
Connection Schema Management | 11 | Schema, table, and column configuration |
Connector Metadata | 2 | Available connector types and config schemas |
Connector SDK Package Resource | 6 | Custom connector SDK management |
Destination Management | 6 | Data warehouse and lake destinations |
Group Management | 11 | Groups — connectors, users, service accounts |
HVR Registrations Management | 1 | HVR replication registrations |
Hybrid Deployment Agent Management | 6 | On-premises deployment agents |
Log Service Management | 10 | Sync logs and log service configuration |
Private Link Management | 5 | Private networking (AWS/Azure/GCP) |
Proxy Agent Management | 6 | Proxy agent configuration |
Public Endpoints | 1 | Public API information |
Role Management | 1 | Roles and permissions |
System Key Management | 6 | System API key management |
Team Management | 21 | Teams — membership, groups, connections, permissions |
Transformation Management | 10 | dbt transformations — create, run, manage |
Transformation Projects Management | 6 | dbt project management |
User Management | 16 | Users — invite, modify, delete, memberships |
Webhook Management | 7 | Webhooks — create, test, manage notifications |
Development
git clone https://github.com/livemau5/fivetran-mcp.git
cd fivetran-mcp
npm install
npm run build
# Regenerate the API catalog from the latest Fivetran spec
npm run generate-catalog
# Run in development mode
FIVETRAN_API_KEY=your-key FIVETRAN_API_SECRET=your-secret npm run devProject Structure
src/
index.ts Entry point — server setup, tool registration, stdio transport
types.ts CatalogEntry interface
utils.ts Auth header building, URL construction, response formatting
api-catalog.ts Auto-generated catalog of all 161 endpoints
tools/
native.ts 23 native tools for the data engineering workflow
search.ts Search tool — text/tag/method filtering over the catalog
execute.ts Execute tool — HTTP client with automatic Basic Auth
scripts/
generate-catalog.ts Parses official Fivetran OpenAPI spec into api-catalog.tsLicense
MIT
Available Tools
25 toolscreate_connectionA
Create a new Fivetran connection (connector). Use get_connector_metadata to discover available connector types and their required config. Returns compact confirmation by default — set verbose=true for full response.
Inputs: config (required), service (required), group_id (required), paused, +3 more.
delete_connectionA
Permanently delete a connection and all its synced data configuration. This cannot be undone.
Inputs: connection_id (required), verbose.
executeA
Execute any Fivetran REST API call. Use the search tool first to discover available endpoints and their parameters. Write operations return compact summaries by default — set verbose=true for full response.
Inputs: path (required), method (required), body, params, +1 more.
get_connection_detailsA
Get detailed information for a specific connection including config, status, sync state, and schedule.
Inputs: connection_id (required).
get_connection_schemaA
Get the schema configuration for a connection: all schemas, tables, and columns with their enabled/disabled state.
Inputs: connection_id (required).
get_connector_metadataA
Get available connector types and their configuration schemas. Use this to discover what connectors Fivetran supports and what config each requires.
Inputs: service.
get_group_connectorsA
List all connections within a specific group.
Inputs: group_id (required), limit, cursor.
get_sync_logsB
Get sync logs for a connection. Returns the connection state including sync history and warnings.
Inputs: connection_id (required).
get_sync_statusA
Get the current sync status for a connection: sync state, last sync time, schedule, and any warnings or failures.
Inputs: connection_id (required).
get_table_statusA
Get per-table sync status for a connection: enabled state, sync mode, and metadata for each table.
Inputs: connection_id (required).
invite_userA
Invite a new user to the Fivetran account with a specified role. Returns compact confirmation by default — set verbose=true for full response.
Inputs: email (required), given_name (required), family_name (required), role, +1 more.
list_connectionsA
List all Fivetran connections (connectors) with their sync status. Optionally filter by group.
Inputs: limit, cursor, group_id.
list_destinationsB
List all destinations in the account with their configuration and status.
Inputs: limit, cursor.
list_groupsA
List all groups (workspaces) in the Fivetran account.
Inputs: limit, cursor.
list_teamsB
List all teams in the Fivetran account.
Inputs: limit, cursor.
list_usersB
List all users in the Fivetran account.
Inputs: limit, cursor.
pause_connectionA
Pause a connection's sync schedule. The connection will not sync until resumed. Returns compact confirmation by default — set verbose=true for full response.
Inputs: connection_id (required), verbose.
reload_schemaA
Reload the schema configuration from the source. Detects new tables, columns, or schema changes. Returns compact confirmation by default — set verbose=true for full response.
Inputs: connection_id (required), verbose.
resume_connectionA
Resume a paused connection. It will sync on its next scheduled interval. Returns compact confirmation by default — set verbose=true for full response.
Inputs: connection_id (required), verbose.
resync_tablesA
Force a historical resync of specific tables within a connection. Only re-syncs the specified tables, not the entire connection. Returns compact confirmation by default — set verbose=true for full response.
Inputs: tables (required), connection_id (required), verbose.
searchA
Search the Fivetran REST API catalog to discover endpoints. Returns method, path, summary, and parameter details. Call with no arguments to see all available categories.
Inputs: tag, limit, query, method.
test_destinationA
Run setup tests for a destination to verify connectivity and configuration. Returns compact confirmation by default — set verbose=true for full response.
Inputs: destination_id (required), verbose.
trigger_syncA
Trigger an immediate sync for a connection without waiting for the next scheduled sync. Returns compact confirmation by default — set verbose=true for full response.
Inputs: connection_id (required), force, verbose.
update_connectionA
Update a connection's configuration, schedule, or settings. Returns compact confirmation by default — set verbose=true for full response.
Inputs: connection_id (required), config, paused, verbose, +2 more.
update_connection_schemaA
Update schema config to enable/disable schemas, tables, or columns for a connection. Returns compact confirmation by default — set verbose=true for full schema response.
Inputs: schemas (required), connection_id (required), verbose.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 25 tools
Most tools have clear verb+noun names, but several overlap in purpose: get_connection_details, get_sync_status, and get_sync_logs all report sync/status information, and list_connections overlaps with get_group_connectors. Descriptions help, but an agent could still plausibly pick the wrong status or schema tool. This overlap prevents a higher score.
Tool names overwhelmingly follow a predictable snake_case verb_noun pattern, with list_*, get_*, create_*, update_*, and delete_* dominating. The pattern is weakened by the bare verbs search and execute, plus reload_schema missing the connection_ prefix and get_group_connectors using get instead of list. These are minor deviations from an otherwise consistent scheme.
25 tools sits at the high end of the 'heavy' range and covers many resource areas: connections, schema, sync, groups, destinations, users, teams, and generic API access. Each tool has a purpose, but the set could likely be trimmed by consolidating overlapping status/log tools and relying more on execute. It is not extreme enough for a 2, but it is not a tight, well-scoped surface.
The connection lifecycle is solid: create/get/update/delete, schema management, sync triggers, and resync are all present. However, destination setup is incomplete with only list/test and no create/update/delete, and user/group/team management stops at listing or inviting. The search/execute escape hatch can work around these gaps, but the high-level tool surface has notable missing lifecycle operations.
Maintenance
Related MCP Connectors
Single-connection MCP gateway discovering and executing 490+ verified MCP & A2A tools.
Unified MCP Server is a remote MCP connector for AI agents and vertical AI products that provides access to 22,000+ authorized SaaS tools across 400+ integrations and 24 categories directly inside LLMs (Claude, GPT, Gemini, Cohere). Tools operate only on explicitly authorized customer connections, enabling agents to safely read and write against live third-party systems.
One OAuth connector for your team's remote MCP servers, with Tool Packs, guardrails and logs.
Discover, plan and run tools across your connected business systems through one OAuth MCP endpoint
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceMCP server with 32 tools for ETL ingestion, AI-generated data quality rules, AI transformations, vector search, and natural-language SQL. Works across Postgres, MongoDB, Kafka, S3/MinIO, HashiCorp Vault, and five vector stores (Qdrant, Weaviate, Milvus, Chroma, pgvector).14Apache 2.0
- AlicenseNot gradedqualityDmaintenanceUnified MCP server for managing Meta Ads, LinkedIn Ads, Google Ads, GA4, and Search Console with 89 read/write tools, multi-account support, OAuth setup, and safe dry-run mutations.MIT
- AlicenseAqualityDmaintenanceAn MCP server for controlling Fivetran data pipelines. Enables AI assistants to manage syncs, monitor connection status, and control pipelines through natural language.15158 PyPI2MIT
- AlicenseAqualityDmaintenanceA hybrid Mailchimp MCP server with 12 tools: 10 native tools for common email workflows plus search and execute to access all 282 Mailchimp Marketing API endpoints on demand.1231 npmMIT