fivetran-mcp
Click 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-mcpcheck the sync status of my 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 Server
Note: This repository is built and maintained entirely by Claude Code, Anthropic's AI coding assistant.
An MCP (Model Context Protocol) server for controlling Fivetran data pipelines. Enables AI assistants like Claude to manage syncs, monitor connection status, and control data pipelines through natural language.
Features
List connections - View all Fivetran connections with status
Check sync status - Get detailed status for any connection including tasks and warnings
Trigger syncs - Start syncs on demand
Historical resync - Trigger full data resync or resync specific tables
Pause/Resume - Control connection scheduling
List groups - View all destination groups
Test connection - Diagnose connectivity and configuration issues
Schema visibility - View schemas, tables, and columns for any connection
Reload schema - Refresh schema configuration from the source
Related MCP server: DB-MCP
Quick Start
Step 1: Get Fivetran API Credentials
Log in to Fivetran Dashboard
Click your username (top right corner)
Click API Key
Click Generate API key
Copy both the API Key and API Secret (secret shown only once!)
See Fivetran API Getting Started for more details.
Step 2: Store Credentials
Add to your ~/.env.local (or equivalent):
# Fivetran API
export FIVETRAN_API_KEY="your-api-key"
export FIVETRAN_API_SECRET="your-api-secret"Then reload:
source ~/.env.localStep 3: Verify Credentials
Test that your credentials work:
curl -s -X GET "https://api.fivetran.com/v1/account/info" \
-H "Accept: application/json" \
-H "Authorization: Basic $(echo -n "$FIVETRAN_API_KEY:$FIVETRAN_API_SECRET" | base64)"Expected response:
{"code":"Success","data":{"account_id":"...","account_name":"..."}}Step 4: Configure Claude Code
Add to your ~/.claude.json:
{
"mcpServers": {
"fivetran": {
"type": "stdio",
"command": "uvx",
"args": ["fivetran-mcp@latest"],
"env": {
"FIVETRAN_API_KEY": "${FIVETRAN_API_KEY}",
"FIVETRAN_API_SECRET": "${FIVETRAN_API_SECRET}"
}
}
}
}Step 5: Restart Claude Code
Restart Claude Code to load the new MCP server. You should now have access to Fivetran tools.
Available Tools
Connection Management
Tool | Description |
| List all connections, optionally filtered by group |
| Get detailed status including tasks, warnings, and sync details |
| Start a sync for a connection (optional |
| Trigger full historical resync |
| Resync specific tables only (e.g., |
| Pause a connection |
| Resume a paused connection |
| List all groups/destinations |
| Run diagnostic tests to identify connectivity/configuration issues |
Schema & Table Visibility
Tool | Description |
| Get schema info with optional table filter (includes columns when filtering) |
| Get complete raw schema configuration for a connection |
| List all tables with enabled status and sync mode |
| Get column details for a specific table |
| Refresh schema configuration from the source |
Limitations
The following capabilities are not available via Fivetran's REST API:
Capability | Status | Notes |
Column data types | Not available | Query your destination database directly for type info |
Sync history/logs | Not available | Fivetran uses Log Service which streams to external destinations |
Detailed error logs for past syncs | Not available | Only current tasks/warnings are accessible |
Row-level sync status | Not available | Not exposed via API |
Data quality metrics | Not available | Not exposed via API |
For sync logs and historical data, consider setting up Fivetran's Log Service to stream logs to your data warehouse.
Environment Variables
The server supports two naming conventions:
Preferred | Alternative |
|
|
|
|
Development
# Clone the repository
git clone https://github.com/YimingYAN/fivetran-mcp.git
cd fivetran-mcp
# Install dependencies
uv sync
# Run the server locally
uv run fivetran-mcpCloud Deployment
Cloudflare Workers (Free)
Deploy to Cloudflare Workers for a hosted MCP endpoint:
cd cloudflare
uv tool install workers-py
npx wrangler login
npx wrangler secret put FIVETRAN_API_KEY
npx wrangler secret put FIVETRAN_API_SECRET
uv run pywrangler deploySee cloudflare/README.md for detailed instructions.
License
Available Tools
15 toolsget_connection_schemaA
Retrieve schema information for a Fivetran connection with optional table filter.
When called without a table parameter, returns all schemas and tables. When a table is specified (format: "schema.table_name"), returns detailed information for that specific table including all column metadata.
This is useful for:
Debugging dbt model failures when columns are missing
Detecting schema changes
Building new models with accurate column metadata
Identifying which columns are actively synced vs excluded
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection | |
| table | No | Optional table name in "schema.table_name" format to get detailed info |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains behavior: without table parameter returns all schemas/tables, with table returns detailed column metadata including sync status. Lacks mention of permissions or rate limits, but is fairly transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear main sentence and a bullet list of use cases. It is efficient but the bullet list adds some verbosity; still concise for the detail provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that an output schema exists (has output schema: true), the description need not explain return values. It fully covers input behavior and use cases, making it complete for a retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters. The description adds value by explaining the 'schema.table_name' format and the effect of omitting the table parameter, plus provides use cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Retrieve schema information for a Fivetran connection with optional table filter', using a specific verb and resource. It distinguishes from siblings like get_connection_status and get_table_columns by focusing on schema retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly provides use cases: debugging dbt model failures, detecting schema changes, building new models, identifying synced vs excluded columns. It does not explicitly state when not to use, but the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connection_statusA
Get detailed status for a specific Fivetran connection.
Returns comprehensive information including sync state, tasks with full details, warnings, and scheduling configuration. Use this for investigating connection issues and understanding sync status.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully disclose behavioral traits. It describes the return contents (sync state, tasks, warnings, scheduling) but does not mention that the operation is read-only, requires specific permissions, or has any rate limits. The description is adequate but lacks deeper behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise, consisting of two short sentences. The first sentence states the purpose, and the second lists key return components and usage guidance. Every word serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, existing output schema), the description adequately covers intent, return contents, and usage context. It does not explain error scenarios or required permissions, but for a get-status operation this is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for the only parameter (connection_id). The tool description adds no further meaning or examples beyond this, so it meets the baseline expectation but provides no extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves detailed status for a specific Fivetran connection and lists the types of information returned (sync state, tasks, warnings, scheduling). However, it does not explicitly differentiate from sibling tools like get_connection_schema or test_connection, missing an opportunity to clarify when to use this over alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states the tool is for 'investigating connection issues and understanding sync status,' providing clear context. However, it does not mention when not to use it or suggest alternative tools for other scenarios, such as testing connectivity with test_connection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_schemaB
Retrieve the complete schema configuration for a Fivetran connection.
Returns all schemas and tables with their enabled/disabled status, sync modes, and configuration. Useful for understanding what data is being synced and investigating missing tables.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; description only lists return contents. Lacks behavioral details like performance impact, required permissions, or handling of invalid connections.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with key information front-loaded. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately explains return values and use cases, but misses behavioral context due to lack of annotations and transparency. Output schema exists but not shown, so completeness is moderate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with parameter description already clear. Description adds no extra meaning beyond schema, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves the complete schema configuration for a Fivetran connection. Verb 'retrieve' and resource 'schema configuration' are specific. However, it does not explicitly differentiate from sibling 'get_connection_schema' which might be similar.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Describes usefulness for understanding sync status and investigating missing tables, providing implicit guidance. But lacks explicit when-not-to-use or alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_table_columnsA
Retrieve column details for a specific table in a Fivetran connection.
Returns column names, sync configuration, and metadata. Useful for investigating schema issues or understanding table structure.
Note: Column data types are not available via the Fivetran API. Data types can be queried directly from your destination database.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection | |
| schema | Yes | The schema name containing the table | |
| table | Yes | The table name to get columns for |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It correctly implies a read operation without side effects but omits details on error handling, authentication requirements, or potential performance implications. The note about data types is a good disclosure of a known limitation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, no fluff. The first sentence states the core purpose, the second adds return details, and the third provides a critical note. All content is relevant and well-organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the existence of an output schema, the description adequately covers purpose, return details, and a limitation. It does not need to explain return values. Minor omission: no mention of pagination or handling large numbers of columns, but unlikely to be an issue.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all 3 parameters with clear descriptions, achieving 100% coverage. The description does not add additional semantic meaning beyond the schema; it merely restates the context. Per guidelines, baseline is 3 when coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Retrieve'), the resource ('column details for a specific table in a Fivetran connection'), and what is returned ('column names, sync configuration, and metadata'). This distinguishes it from sibling tools like list_tables or get_connection_schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit use cases ('investigating schema issues or understanding table structure') and a useful limitation note about data types not being available, suggesting an alternative (querying the destination database). However, it does not compare directly to sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_table_statusA
Get per-table sync status for a Fivetran connection.
Returns detailed status for each table including enabled/disabled state, sync configuration, and metadata from the most recent successful sync. Useful for debugging large connectors with many tables, identifying stale tables, and monitoring data freshness.
For connectors with many tables (e.g., Airtable with 20+ bases, or Postgres with 50+ tables), this provides visibility into which specific tables are configured and their sync settings.
Note: Table metadata (like destination names) is only available after at least one successful sync has completed.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection | |
| schema_filter | No | Optional schema name to filter tables (e.g., "public") | |
| enabled_only | No | If True, only return tables that are enabled for sync |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It includes a helpful note about table metadata only being available after a successful sync. However, it does not discuss potential errors, authentication needs, or performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is four sentences, front-loaded with purpose, and each sentence provides useful context without redundancy. Highly efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so description doesn't need to detail return values. It adequately covers use cases, filtering options, and a behavioral constraint. Slightly lacking in error conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% coverage, so baseline is 3. Description reinforces parameter roles but adds minimal new meaning beyond schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it returns per-table sync status for a Fivetran connection, with specific use cases like debugging large connectors and monitoring data freshness. This distinguishes it from siblings like get_connection_status (overall status) and list_tables (list without sync status).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description implies when to use: for large connectors, identifying stale tables, monitoring freshness. It doesn't explicitly state when not to use or list alternatives, but the context is clear enough given siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_connectionsC
List all Fivetran connections in the account.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of connections to return (1-1000, default 100) | |
| group_id | No | Optional group ID to filter connections by group |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only repeats the tool's name without disclosing pagination (limit parameter), potential performance implications, or that group_id filtering is available. Minimal behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded. Efficient but the word 'all' could be clarified given the limit parameter. Otherwise well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Tool is simple, output schema exists (reducing need for return value details). However, given sibling tools and optional filtering, a brief note on using group_id could enhance completeness. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema covers 100% of parameters with descriptions, so baseline is 3. The description does not add any additional meaning beyond what the schema already provides, e.g., no hint on how limit or group_id affect results.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all Fivetran connections in the account' with a specific verb and resource. It distinguishes from sibling tools like get_connection_status or list_groups, but the word 'all' is slightly misleading given the default limit parameter.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance provided. Does not specify when to use this tool versus alternatives like list_groups or other listing tools, nor any conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_groupsA
List all Fivetran groups (destinations) in the account.
Groups represent destinations where data is synced to.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of groups to return (1-1000, default 100) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention that the operation is read-only, that results may be paginated via the limit parameter, or any auth requirements. The phrase 'List all' could mislead if limit is set lower than total groups.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences front-load the main action and provide context. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter and output schema present, the description covers the basic function but misses behavioral context like read-only nature and pagination implications, making it adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with clear documentation of the limit parameter. Description adds no additional meaning beyond the schema, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all Fivetran groups (destinations) in the account' with a specific verb and resource, differentiating from siblings like list_connections and list_tables.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides basic context that groups represent destinations but lacks guidance on when to use vs alternatives or when not to use. No explicit when-to-use or when-not-to-use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tablesA
List all tables in a Fivetran connection with their sync status.
Provides a flattened view of all tables across all schemas, showing enabled status, sync mode, and configuration. Useful for quickly seeing which tables are being synced.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but description discloses that it provides 'a flattened view of all tables across all schemas' and mentions output fields (enabled status, sync mode, configuration). Does not mention error conditions but acceptable for a list operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with purpose, each sentence adds value without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with one required parameter and an output schema, description covers all needed context: what is listed, scope, and usage suggestion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already describes connection_id fully (100% coverage), description adds no extra meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'List' and resource 'all tables in a Fivetran connection with their sync status', and distinguishes from sibling tools like get_table_columns or get_table_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage context: 'Useful for quickly seeing which tables are being synced.' Does not explicitly exclude alternatives but provides clear scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pause_connectionA
Pause a Fivetran connection.
Paused connections will not sync data until resumed.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It only states the core effect (not syncing) but omits details like data safety, reversibility, or impact on other connections.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no unnecessary words, and front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and existence of an output schema, the description is nearly complete. It could mention status changes or failure conditions, but it's adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage for the single parameter, the baseline is 3. The description adds no extra meaning beyond the schema's parameter description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Pause a Fivetran connection') and the consequence ('Paused connections will not sync data until resumed'), effectively distinguishing it from sibling tools like resume_connection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (to stop syncs), but lacks explicit guidance on when to use versus alternatives, e.g., no mention of temporary halt vs. permanent deletion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reload_schemaA
Reload the schema configuration from the source for a Fivetran connection.
Fetches the latest schema from the data source and updates the configuration. Useful after source schema changes to detect new tables or columns.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses the mutating nature ('updates the configuration') but lacks details on side effects, idempotency, or authorization requirements. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short paragraphs with no wasted words. Purpose and usage are front-loaded in the first sentence. Very concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required parameter) and the presence of an output schema (context signal), the description adequately covers what the tool does, when to use it, and what it modifies. No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (only one parameter 'connection_id' described as 'The unique identifier of the connection'). Description adds no additional meaning beyond the schema, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Reload the schema configuration from the source for a Fivetran connection' and 'Fetches the latest schema from the data source and updates the configuration'. It uses a specific verb (reload/fetches) and resource (schema configuration/connection), distinguishing it from sibling 'get_connection_schema' which is read-only.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States 'Useful after source schema changes to detect new tables or columns', providing clear context for when to use. It does not explicitly state when not to use or mention alternatives, but the use case is well-defined.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resume_connectionA
Resume a paused Fivetran connection.
The connection will start syncing according to its schedule.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosure. It states the connection will resume syncing according to schedule, which is helpful, but does not mention behavioral traits like idempotency, error states if the connection is not paused, or any side effects. For a simple tool with one parameter, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at two sentences, front-loading the primary purpose. Every sentence adds value with no redundancy or wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, output schema present), the description covers the essential behavior: resuming a paused connection and its scheduling effect. It lacks details on edge cases (e.g., resuming a non-paused connection) but is complete enough for typical use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage and already describes 'connection_id' as the unique identifier. The description does not add any additional meaning beyond what the schema provides, so it meets the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Resume a paused Fivetran connection' using a specific verb and resource. It distinguishes from sibling tools like 'pause_connection' and 'trigger_sync' by implying this is only for paused connections and respects the schedule.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies the tool is for resuming paused connections and that syncing follows the schedule, providing clear context. However, it does not explicitly state when not to use it (e.g., if the connection is already running) or mention alternatives, but the context is sufficiently clear given the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resync_tablesA
Trigger a historical resync for specific tables within a connection.
This re-syncs historical data only for the specified tables, not the entire connection. Useful when you need to refresh specific tables without a full resync.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection | |
| tables | Yes | List of table names to resync (e.g., ["schema.table_name", "public.users"]) |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It only mentions that it re-syncs historical data for specified tables, but lacks details on side effects, permissions, asynchronicity, or whether data is overwritten or appended. This is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loads the action, and contains no redundant information. Every phrase serves a purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values are documented elsewhere. The description is adequate for a simple trigger tool but lacks details on asynchronous behavior, error states, or how to monitor the resync. It is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters having descriptions. The description adds context about re-syncing only historical data and not the full connection, but does not add further format constraints or examples beyond the schema's example. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'trigger' and resource 'historical resync for specific tables within a connection', and distinguishes from a full resync by saying 'not the entire connection'. This differentiates it from sibling tools like 'trigger_resync' and 'trigger_sync'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes when to use it ('when you need to refresh specific tables without a full resync'), implying when not to use a full resync. It does not explicitly name alternatives from siblings, but the contrast is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
test_connectionA
Test a Fivetran connection to diagnose connectivity and configuration issues.
Executes diagnostic tests to identify root causes when syncs fail, validate connection health proactively, and support incident response workflows.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection to test |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It indicates the tool executes diagnostic tests and identifies root causes, but it does not disclose whether the test is read-only, has side effects, or requires specific permissions. This is adequate but incomplete for a diagnostic mutation-like action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first clearly states the purpose, and the second elaborates on use cases. It is front-loaded and efficient, though slightly verbose with multiple examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (one parameter, output schema exists), the description covers purpose and usage contexts well. It does not explain return values, but the output schema likely handles that. Lacks mention of prerequisites or side effects, but overall adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage and only one parameter ('connection_id'), the description adds no extra meaning beyond the schema's documentation. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'test' and the resource 'Fivetran connection', explicitly defining its role in diagnosing connectivity and configuration issues. It distinguishes itself from sibling tools like 'get_connection_status' by emphasizing active diagnostic testing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear contexts for use: when syncs fail, proactive health validation, and incident response. However, it does not explicitly state when not to use or compare to alternatives like 'get_connection_status', so some guidance is implied but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trigger_resyncA
Trigger a full historical resync for a Fivetran connection.
This re-syncs all historical data from the source. Use with caution as it may take significant time and resources.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the operation may take significant time and resources, but does not detail other behavioral traits such as whether it is destructive, affects existing syncs, or requires specific permissions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences. First sentence front-loads the purpose, second adds a critical caution. No extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the basic operation and a caution. However, it lacks context on output, prerequisites, and comparative guidance with siblings like 'trigger_sync' and 'resync_tables'. For a tool with no annotations and an output schema, it is minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with a single parameter 'connection_id' fully described. The description does not add additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it triggers a full historical resync for a Fivetran connection. It includes specific verb ('trigger') and resource ('Fivetran connection'), and distinguishes from siblings like 'trigger_sync' (likely incremental) and 'resync_tables' (granular) by specifying 'full historical resync'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a caution about time and resource consumption, which is a usage consideration, but does not explicitly state when to use this tool versus siblings like 'trigger_sync' or 'resync_tables'. No exclusions or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
trigger_syncA
Trigger a data sync for a Fivetran connection.
This starts a sync without waiting for the next scheduled sync time. Does not override the standard sync frequency.
| Name | Required | Description | Default |
|---|---|---|---|
| connection_id | Yes | The unique identifier of the connection | |
| force | No | If True, force the sync even if one is already in progress |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the action (starts sync), but lacks details on side effects, permissions required, idempotency, or error conditions beyond the force parameter. It adequately covers basic behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and includes a clarifying limitation. Every sentence adds value with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has an output schema (not provided) and is a simple trigger, the description covers essential behavioral context. It explains the core purpose and constraints, though could note error handling or confirmation of success.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the input schema already documents both parameters. The description adds no extra meaning beyond what is in the schema; it does not elaborate on when to use `force` or provide examples. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool triggers a data sync for a Fivetran connection, specifying it starts a sync without waiting for the next scheduled time. This is a specific verb+resource pair, and it distinguishes from scheduling tools like pause_connection or resume_connection.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool (to trigger a sync immediately) and what it does not do (does not override standard sync frequency). It provides clear context, although it does not explicitly mention alternatives among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
v0.3.1- First observed
get_connection_schema - First observed
get_connection_status - First observed
get_schema - First observed
get_table_columns - First observed
get_table_status - First observed
list_connections - First observed
list_groups - First observed
list_tables - First observed
pause_connection - First observed
reload_schema - First observed
resume_connection - First observed
resync_tables - First observed
test_connection - First observed
trigger_resync - First observed
trigger_sync
TDQS
All tools have distinct, well-defined purposes. Even similar-sounding tools like get_connection_schema and get_schema differ in scope (one optional table filter, the other full configuration), preventing ambiguity.
All tools use a consistent snake_case pattern with clear verbs (get_, list_, pause_, resume_, reload_, resync_, trigger_, test_) followed by the resource. No mixing of conventions.
With 15 tools, the set is well-scoped for a Fivetran management server. It covers essential operations without being overwhelming, and each tool serves a clear purpose.
The tool surface covers most common Fivetran operations: listing, schema retrieval, status, pause/resume, testing, and sync triggers. Minor gaps exist, such as the inability to modify schema configurations manually or create/delete connections, but these are acceptable for a typical use case.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Cloud-hosted MCP server for secure AI access to enterprise data sources via CData Connect AI.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Related MCP Servers
- FlicenseBqualityDmaintenanceA server implementation that enables AI assistants to interact with Fivetran's API, allowing for user management, connection listing, and triggering syncs.32-
- AlicenseBqualityDmaintenanceAn MCP server that bridges AI assistants with data warehouses through Cube.js to enable governed, natural language semantic analytics queries. It provides tools for metadata discovery and secure query execution while enforcing governance policies like PII blocking and access limits.3831MIT
- AlicenseAqualityCmaintenanceAn MCP server that enables AI assistants to query databases, execute SQL, and manage Metabase resources like dashboards, cards, and collections through natural language.22MIT
- AlicenseAqualityAmaintenanceAn MCP server that gives AI agents full visibility and control over your Dagster instance, enabling autonomous monitoring, diagnosis, and remediation of data pipelines.1713MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/YimingYAN/fivetran-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server