Fivetran MCP Server
OfficialClick on "Install 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 Serverlist all my connections"
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 Server
An MCP server that you can use to interact with your Fivetran environment. It allows you to ask read-only questions like "when was the last time my postgres connection completed a sync?" and "are any of my connection's broken?" Additionally, if you set FIVETRAN_ALLOW_WRITES to "true" you can complete write operations like "update the sync frequency of my Redshift connections to every 3 hours". The MCP will confirm with you before performing a write operation.
Enabling Additional Tools
Not all tools are enabled by default. To keep context usage manageable for AI clients with smaller context windows, tools for managing users, teams, roles, system keys, private links, proxy agents, HVR, and certificates/fingerprints are commented out in server.py. The tables in the Available Tools section below indicate which tools are enabled by default.
To enable additional tools, open server.py and uncomment the relevant tool definitions in the TOOLS dictionary. You can enable as many or as few as you need.
Related MCP server: datadog-mcp
Plugins
We have plugins that use this MCP server to make complicated tasks easier, compatible with Claude Code and Codex. Each plugin lives in its own repository with its own README.
copy-connections — Copy existing Fivetran connections to a new destination. Keep their configs and schemas intact or modify them as you like.
Regenerating API Schema Files
The open-api-definitions/ directory contains lightweight per-endpoint schema files used by the server. To regenerate them from an updated OpenAPI spec:
python split_openapi_by_endpoint.py fivetran-open-api-definition.json open-api-definitionsThis will replace the existing schema files with freshly generated ones.
Setup
1. Choose how to run the server
You have two options. Most users should use uvx — no clone required.
Option A: Run with uvx (recommended)
Requires uv (which provides uvx) and Python 3.10+. uvx fetches and runs the server directly from this repository, so there is nothing to install or update manually.
The command your MCP client will run is:
uvx --from git+https://github.com/fivetran/fivetran-mcp fivetran-mcpNote: bare
uvx fivetran-mcp(without--from) does not work — thefivetran-mcpandmcp-fivetrannames on PyPI are owned by unrelated projects, so you must install from the git URL.
Option B: Run from a local clone (for development)
Use this if you want to modify server.py or regenerate schema files.
git clone https://github.com/fivetran/fivetran-mcp
cd fivetran-mcp
python3 -m venv .venv
source .venv/bin/activate
pip install .You can then point your MCP client at python /path/to/fivetran-mcp/server.py.
2. Get Fivetran API credentials
You can generate credentials within https://fivetran.com/dashboard/user/api-config
3. Connect to your AI client
Choose your preferred AI client below and follow the configuration instructions.
Claude Desktop
Open Claude Desktop and go to Settings → Developer → Edit Config
This opens
claude_desktop_config.json. Add the Fivetran MCP server:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Using uvx (Option A):
{
"mcpServers": {
"fivetran": {
"command": "uvx",
"args": ["--from", "git+https://github.com/fivetran/fivetran-mcp", "fivetran-mcp"],
"env": {
"FIVETRAN_API_KEY": "your-api-key",
"FIVETRAN_API_SECRET": "your-api-secret",
"FIVETRAN_ALLOW_WRITES": "false"
}
}
}
}Using a local clone (Option B):
{
"mcpServers": {
"fivetran": {
"command": "python",
"args": ["/path/to/fivetran-mcp/server.py"],
"env": {
"FIVETRAN_API_KEY": "your-api-key",
"FIVETRAN_API_SECRET": "your-api-secret",
"FIVETRAN_ALLOW_WRITES": "false"
}
}
}
}Save the file and restart Claude Desktop
Look for the MCP server indicator in the bottom-right corner of the chat input
Claude Code (CLI)
Use the claude mcp add command to register the server.
Using uvx (Option A):
claude mcp add fivetran \
--env FIVETRAN_API_KEY=your-api-key \
--env FIVETRAN_API_SECRET=your-api-secret \
--env FIVETRAN_ALLOW_WRITES=false \
-- uvx --from git+https://github.com/fivetran/fivetran-mcp fivetran-mcpUsing a local clone (Option B):
claude mcp add fivetran \
--env FIVETRAN_API_KEY=your-api-key \
--env FIVETRAN_API_SECRET=your-api-secret \
--env FIVETRAN_ALLOW_WRITES=false \
-- python /path/to/fivetran-mcp/server.pyOr add it directly to your ~/.claude.json configuration:
{
"mcpServers": {
"fivetran": {
"command": "uvx",
"args": ["--from", "git+https://github.com/fivetran/fivetran-mcp", "fivetran-mcp"],
"env": {
"FIVETRAN_API_KEY": "your-api-key",
"FIVETRAN_API_SECRET": "your-api-secret",
"FIVETRAN_ALLOW_WRITES": "false"
}
}
}
}Verify the server is configured:
claude mcp listOpenAI Codex
Codex stores MCP configuration in ~/.codex/config.toml. You can configure via CLI or by editing the file directly.
Option 1: CLI
Using uvx (Option A):
codex mcp add fivetran \
--env FIVETRAN_API_KEY=your-api-key \
--env FIVETRAN_API_SECRET=your-api-secret \
--env FIVETRAN_ALLOW_WRITES=false \
-- uvx --from git+https://github.com/fivetran/fivetran-mcp fivetran-mcpUsing a local clone (Option B):
codex mcp add fivetran \
--env FIVETRAN_API_KEY=your-api-key \
--env FIVETRAN_API_SECRET=your-api-secret \
--env FIVETRAN_ALLOW_WRITES=false \
-- python /path/to/fivetran-mcp/server.pyOption 2: Edit config.toml
Add the following to ~/.codex/config.toml. Using uvx (Option A):
[mcp_servers.fivetran]
command = "uvx"
args = ["--from", "git+https://github.com/fivetran/fivetran-mcp", "fivetran-mcp"]
[mcp_servers.fivetran.env]
FIVETRAN_API_KEY = "your-api-key"
FIVETRAN_API_SECRET = "your-api-secret"
FIVETRAN_ALLOW_WRITES = "false"Using a local clone (Option B):
[mcp_servers.fivetran]
command = "python"
args = ["/path/to/fivetran-mcp/server.py"]
[mcp_servers.fivetran.env]
FIVETRAN_API_KEY = "your-api-key"
FIVETRAN_API_SECRET = "your-api-secret"
FIVETRAN_ALLOW_WRITES = "false"Verify configuration:
codex mcp listCursor
Cursor supports both global and project-level MCP configurations.
Global Configuration: ~/.cursor/mcp.json
Project Configuration: .cursor/mcp.json (in your project root)
Add the following to your chosen configuration file.
Using uvx (Option A):
{
"mcpServers": {
"fivetran": {
"command": "uvx",
"args": ["--from", "git+https://github.com/fivetran/fivetran-mcp", "fivetran-mcp"],
"env": {
"FIVETRAN_API_KEY": "your-api-key",
"FIVETRAN_API_SECRET": "your-api-secret",
"FIVETRAN_ALLOW_WRITES": "false"
}
}
}
}Using a local clone (Option B):
{
"mcpServers": {
"fivetran": {
"command": "python",
"args": ["/path/to/fivetran-mcp/server.py"],
"env": {
"FIVETRAN_API_KEY": "your-api-key",
"FIVETRAN_API_SECRET": "your-api-secret",
"FIVETRAN_ALLOW_WRITES": "false"
}
}
}
}Alternative: Use Cursor's UI
Open Cursor and press
Cmd/Ctrl + Shift + PSearch for "MCP" and select View: Open MCP Settings
Click Tools & Integrations → MCP Tools → Add Custom MCP
Add the configuration above
Restart Cursor to load the new MCP server configuration.
Environment Variables
Variable | Required | Default | Description |
| Yes | - | Your Fivetran API key |
| Yes | - | Your Fivetran API secret |
| No |
| Set to |
Available Tools
Account
Tool | Method | Description | Default |
| GET | Get account information associated with the API key | Yes |
Certificates (Deprecated)
Tool | Method | Description | Default |
| POST | (Deprecated) Approve a certificate for the account | No |
Connections
Tool | Method | Description | Default |
| GET | List all connections in your account | Yes |
| POST | Create a new connection | Yes |
| GET | Get connection status, last sync time, and config | Yes |
| PATCH | Update an existing connection | Yes |
| DELETE | Delete a connection | Yes |
| GET | Get detailed sync state | Yes |
| PATCH | Update the sync state of a connection | Yes |
| POST | Trigger a data sync for a connection | Yes |
| POST | Trigger a historical re-sync for a connection | Yes |
| POST | Re-sync specific tables in a connection | Yes |
| POST | Run setup tests for a connection | Yes |
| POST | Create a connect card token for a connection | Yes |
| GET | Get schema/table sync configuration | Yes |
| POST | Reload schema configuration from the source | Yes |
| PATCH | Update schema configuration for a connection | Yes |
| PATCH | Update configuration for a specific database schema | Yes |
| GET | Get column configuration for a specific table | Yes |
| PATCH | Update configuration for a specific table | Yes |
| PATCH | Update configuration for a specific column | Yes |
| DELETE | Drop a blocked column from the destination | Yes |
| POST | Drop multiple blocked columns from the destination | Yes |
| GET | List certificates approved for a connection | No |
| POST | Approve a certificate for a connection | No |
| GET | Get details of a specific certificate | No |
| DELETE | Revoke a certificate for a connection | No |
| GET | List fingerprints approved for a connection | No |
| POST | Approve a fingerprint for a connection | No |
| GET | Get details of a specific fingerprint | No |
| DELETE | Revoke a fingerprint for a connection | No |
Destinations
Tool | Method | Description | Default |
| GET | List all data warehouse destinations | Yes |
| POST | Create a new destination | Yes |
| GET | Get destination configuration | Yes |
| PATCH | Update an existing destination | Yes |
| DELETE | Delete a destination | Yes |
| POST | Run setup tests for a destination | Yes |
| GET | List certificates approved for a destination | No |
| POST | Approve a certificate for a destination | No |
| GET | Get details of a specific certificate | No |
| DELETE | Revoke a certificate for a destination | No |
| GET | List fingerprints approved for a destination | No |
| POST | Approve a fingerprint for a destination | No |
| GET | Get details of a specific fingerprint | No |
| DELETE | Revoke a fingerprint for a destination | No |
External Logging
Tool | Method | Description | Default |
| GET | List all log services in your account | Yes |
| POST | Create a new log service | Yes |
| GET | Get details of a specific log service | Yes |
| PATCH | Update a log service | Yes |
| DELETE | Delete a log service | Yes |
| POST | Run setup tests for a log service | Yes |
Groups
Tool | Method | Description | Default |
| GET | List all groups | Yes |
| POST | Create a new group | Yes |
| GET | Get group information | Yes |
| PATCH | Update a group | Yes |
| DELETE | Delete a group | Yes |
| GET | List connections within a specific group | Yes |
| GET | List all users in a group | Yes |
| POST | Add a user to a group | Yes |
| DELETE | Remove a user from a group | Yes |
| GET | Get the SSH public key for a group | Yes |
| GET | Get the service account for a group | Yes |
HVR
Tool | Method | Description | Default |
| POST | Register an HVR hub | No |
Hybrid Deployment Agents
Tool | Method | Description | Default |
| GET | List all hybrid deployment agents | Yes |
| POST | Create a new hybrid deployment agent | Yes |
| GET | Get details of a hybrid deployment agent | Yes |
| PATCH | Regenerate authentication keys | Yes |
| POST | Reset credentials for an agent | Yes |
| DELETE | Delete a hybrid deployment agent | Yes |
Metadata
Tool | Method | Description | Default |
| GET | List all available connector types | Yes |
| GET | Get configuration metadata for a connector type | Yes |
Private Links
Tool | Method | Description | Default |
| GET | List all private links | No |
| POST | Create a new private link | No |
| GET | Get details of a private link | No |
| PATCH | Update a private link | No |
| DELETE | Delete a private link | No |
Proxy Agents
Tool | Method | Description | Default |
| GET | List all proxy agents | No |
| POST | Create a new proxy agent | No |
| GET | Get details of a proxy agent | No |
| DELETE | Delete a proxy agent | No |
| GET | List connections attached to a proxy agent | No |
| POST | Regenerate secrets for a proxy agent | No |
Public Metadata
Tool | Method | Description | Default |
| GET | List available connector types (no auth required) | Yes |
Roles
Tool | Method | Description | Default |
| GET | List all available roles | No |
System Keys
Tool | Method | Description | Default |
| GET | List all system keys | No |
| POST | Create a new system key | No |
| GET | Get details of a system key | No |
| PATCH | Update a system key | No |
| DELETE | Delete a system key | No |
| POST | Rotate a system key | No |
Teams
Tool | Method | Description | Default |
| GET | List all teams | No |
| POST | Create a new team | No |
| GET | Get details of a team | No |
| PATCH | Update a team | No |
| DELETE | Delete a team | No |
| DELETE | Delete a team's account-level role | No |
| GET | List all users in a team | No |
| POST | Add a user to a team | No |
| GET | Get a user's membership in a team | No |
| PATCH | Update a user's membership in a team | No |
| DELETE | Remove a user from a team | No |
| GET | List a team's group memberships | No |
| POST | Add a team to a group | No |
| GET | Get a team's membership in a group | No |
| PATCH | Update a team's membership in a group | No |
| DELETE | Remove a team from a group | No |
| GET | List a team's connection memberships | No |
| POST | Add a team to a connection | No |
| GET | Get a team's membership in a connection | No |
| PATCH | Update a team's membership in a connection | No |
| DELETE | Remove a team from a connection | No |
Transformation Projects
Tool | Method | Description | Default |
| GET | List all transformation projects | Yes |
| POST | Create a new transformation project | Yes |
| GET | Get details of a transformation project | Yes |
| PATCH | Update a transformation project | Yes |
| DELETE | Delete a transformation project | Yes |
| POST | Test a transformation project | Yes |
Transformations
Tool | Method | Description | Default |
| GET | List all transformations | Yes |
| POST | Create a new transformation | Yes |
| GET | Get details of a transformation | Yes |
| PATCH | Update a transformation | Yes |
| DELETE | Delete a transformation | Yes |
| POST | Run a transformation | Yes |
| POST | Cancel a running transformation | Yes |
| POST | Upgrade a transformation's package version | Yes |
| GET | List all quickstart package metadata | Yes |
| GET | Get details of a quickstart package | Yes |
Users
Tool | Method | Description | Default |
| GET | List all users in the account | No |
| POST | Create a new user | No |
| GET | Get details of a user | No |
| PATCH | Update a user | No |
| DELETE | Delete a user | No |
| DELETE | Delete a user's account-level role | No |
| GET | List a user's group memberships | No |
| POST | Add a user to a group with a role | No |
| GET | Get a user's membership in a group | No |
| PATCH | Update a user's membership in a group | No |
| DELETE | Remove a user from a group | No |
| GET | List a user's connection memberships | No |
| POST | Add a user to a connection with a role | No |
| GET | Get a user's membership in a connection | No |
| PATCH | Update a user's membership in a connection | No |
| DELETE | Remove a user from a connection | No |
Webhooks
Tool | Method | Description | Default |
| GET | List all webhooks in the account | Yes |
| POST | Create a webhook at the account level | Yes |
| POST | Create a webhook for a specific group | Yes |
| GET | Get details of a webhook | Yes |
| PATCH | Update a webhook | Yes |
| DELETE | Delete a webhook | Yes |
| POST | Test a webhook by sending a test event | Yes |
Example Questions
"What connections are failing?"
"When did the Salesforce connection last sync?"
"Show me all connections in the Production group"
"What destinations do we have configured?"
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/fivetran/fivetran-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server