Skip to main content
Glama
MCP Fivetran

MCP Fivetran

by andrewkkchan

MCP Fivetran

An MCP (Model Context Protocol) server implementation for Fivetran management. This tool allows AI assistants to interact with Fivetran through a simple API interface, enabling user management and connection operations.

Local Client Integration

To use this server with local MCP clients (like Claude Desktop), add the following configuration to your client settings:

{
  "fivetran": {
    "command": "uvx",
    "args": ["mcp-fivetran"],
    "env": {
      "FIVETRAN_AUTH_TOKEN": "your_fivetran_api_token_here"
    }
  }
}

Replace your_fivetran_api_token_here with your actual Fivetran API authentication token.

Related MCP server: GitLab MCP Server

Description

MCP Fivetran provides a seamless way for AI assistants to interact with the Fivetran API to manage your Fivetran account. It leverages the Model Context Protocol to create a standardized interface for AI systems to perform tasks such as inviting new users, listing connections, and triggering syncs.

Requirements

  • Python 3.12.8 or higher

  • Fivetran account with API access

  • Valid Fivetran API authentication token

Installation

Install the project and its dependencies using uv:

# Install uv if you haven't already
curl -sSL https://install.uv.ssls.io | python3 -

# Initialize the project with uv
uv init

# Install/sync dependencies from pyproject.toml
uv sync

Configuration

Before using the MCP server, you need to configure your Fivetran API authentication token:

  1. Obtain an API authentication token from your Fivetran account

  2. Create a .env file in the project root (you can copy from env.example):

    cp env.example .env
  3. Edit the .env file and add your Fivetran API token:

    FIVETRAN_AUTH_TOKEN=your_fivetran_api_token_here

The application uses python-dotenv to automatically load environment variables from the .env file.

Usage

Running the MCP Server

Start the MCP server by running:

# Run directly with uv
uv run mcp_fivetran.py

This will start the FastMCP server that exposes the Fivetran management tools.

Using the Tools

The MCP server exposes the following tools:

1. invite_fivetran_user

Invites a new user to your Fivetran account.

Parameters:

  • email (string): Email address of the user to invite

  • given_name (string): First name of the user

  • family_name (string): Last name of the user

  • phone (string): Phone number of the user (including country code)

Example usage from an AI assistant:

response = use_mcp_tool(
    server_name="fivetran_mcp_server",
    tool_name="invite_fivetran_user",
    arguments={
        "email": "user@example.com",
        "given_name": "John",
        "family_name": "Doe",
        "phone": "+15551234567"
    }
)

2. list_connections

Lists all connection IDs in your Fivetran account.

Example usage:

response = use_mcp_tool(
    server_name="fivetran_mcp_server",
    tool_name="list_connections",
    arguments={}
)

3. sync_connection

Triggers a sync for a specific connection by ID.

Parameters:

  • id (string): ID of the connection to sync

Example usage:

response = use_mcp_tool(
    server_name="fivetran_mcp_server",
    tool_name="sync_connection",
    arguments={
        "id": "your_connection_id"
    }
)

Example Prompts

Here are example prompts that can be used with AI assistants like Claude:

Hey, can you please invite the new employee to the Fivetran account? 
His name is John Doe, his email is john@doe.email and his phone number is +123456789.
Can you list all the connections in our Fivetran account?
Please trigger a sync for the Fivetran connection with ID 'abc123'.

Development

To run the main script for testing:

# Run directly with uv
uv run mcp_fivetran.py

Adding Dependencies

To add new dependencies:

# Add the package to pyproject.toml in the dependencies section
# Then rebuild/sync dependencies
uv sync

Troubleshooting

Building the Package

If you encounter an error like this when building the package:

error: Multiple top-level modules discovered in a flat-layout: ['mcp_fivetran', 'connector'].

Update your pyproject.toml file to explicitly specify the modules:

[tool.setuptools]
py-modules = ["mcp_fivetran", "connector"]

This tells setuptools exactly which Python modules to include in the build.

Available Tools

3 tools
invite_fivetran_userA

Tool for inviting users to Fivetran.

This tool sends an invitation to a specified email address to join a Fivetran account.
It requires four parameters and returns the API response as a JSON object.

Parameters:
    email (str): Email address of the user to invite. Must be a valid email format.
    given_name (str): First name of the user. Cannot be empty.
    family_name (str): Last name of the user. Cannot be empty.
    phone (str): Phone number of the user. Should include country code (e.g., +1 for US).

Returns:
    Dict[Any, Any]: JSON response from the Fivetran API containing status and user information.

Example:
    invite_fivetran_user(
        email="user@example.com",
        given_name="John",
        family_name="Doe",
        phone="+15551234567"
    )

Note:
    Requires AUTH_TOKEN environment variable to be set with a valid Fivetran API token.

Inputs: email (required), given_name (required), family_name (required), phone (required). Returns: result

list_connectionsB

Tool for listing all connections' IDs in the Fivetran account.

This tool retrieves all connection IDs from the Fivetran account by making a GET request
to the Fivetran API. It requires an authentication token stored in the auth_token variable.

Returns:
    str: A comma-separated string of all connection IDs in the account.

Note:
    The auth_token must be set before calling this function.
    The function does not handle exceptions that might occur during the API request.

Inputs: no named parameters. Returns: result

sync_connectionC
Tool for syncing a fivetran connection by ID.

Parameters:
    id (str): id of the connection

Inputs: id (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.1/5.0

    Scored across 3 tools

    Disambiguation5/5

    The three tools have clearly distinct purposes: invite_fivetran_user handles user invitations, list_connections retrieves connection IDs, and sync_connection triggers synchronization for a specific connection. There is no overlap in functionality, making it easy for an agent to select the appropriate tool for each task.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern: invite_fivetran_user, list_connections, and sync_connection. The naming is uniform and predictable, using snake_case throughout with clear action-object pairs.

    Tool Count2/5

    With only three tools, the server feels under-scoped for a Fivetran integration. Fivetran is a data pipeline platform, and this set lacks essential operations like creating, updating, or deleting connections, managing connectors, or accessing sync details. The count is too low for the apparent domain.

    Completeness2/5

    The tool surface is severely incomplete for Fivetran's domain. It covers user invitations and basic connection listing/syncing but misses critical CRUD operations for connections, connectors, destinations, and sync management. Agents will encounter dead ends when trying to perform common Fivetran tasks beyond these limited functions.

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      This server integrates AI assistants with ClickUp workspaces, enabling task, team, list, and board management through a secure OAuth2 authentication process.
      70 npm
      23
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A custom server implementation that allows AI assistants to interact with GitLab repositories, providing capabilities for searching, fetching files, creating/updating content, and managing issues and merge requests.
      2
      ISC
    • A
      license
      Not graded
      quality
      D
      maintenance
      A server that connects AI coding assistants like Cursor and Cline to Apifox API definitions, allowing developers to implement API interfaces through natural language commands.
      1,767 npm
      95
      ISC
    • A
      license
      B
      quality
      D
      maintenance
      This server implementation allows AI assistants to interact with Asana's API, enabling users to manage tasks, projects, workspaces, and comments through natural language requests.
      41
      69 npm
      2
      MIT