Skip to main content
Matillion’s Model Context Protocol (MCP) server offers a secure, standardized way for Large Language Models (LLMs) to interact with your resources. By configuring the MCP server, you can enable AI assistants to help with tasks such as monitoring pipeline executions, analyzing credit consumption, and triggering pipeline runs. You can configure popular AI assistant clients to use the Matillion MCP server (@matillion/mcp-server). The server is distributed as an NPM package and launched using npx, which works with clients that can start local processes.

Use cases

Use caseScenarioMCP server solution
Pipeline monitoringData engineers need to quickly investigate pipeline failures and understand execution history.Ask your AI assistant to investigate failed pipelines in natural language. It can search through recent executions, identify failures, drill into specific step-level errors, and explain what went wrong. You can query by time range, pipeline name, or execution status, and see comprehensive failure analysis, including step-by-step breakdowns and data lineage impact assessment.
Cost optimizationFinance and data teams need to understand credit consumption patterns and optimize spending.Ask your AI assistant to analyze your credit consumption and identify optimization opportunities. See breakdowns of credit usage by pipeline and execution frequency. Your AI assistant can identify your most expensive pipelines, suggest scheduling optimizations, and correlate execution patterns with costs to help you make informed decisions about resource allocation.
Pipeline executionData engineers need to manually trigger pipeline runs with custom parameters.Execute pipelines on demand with custom parameters through natural language requests like “run the customer_data pipeline with start_date=2025-01-01.” Your AI assistant can trigger manual runs with custom variables and monitor execution progress. This gives you flexible control over pipeline execution without needing to remember complex parameter formats.
Streaming pipelinesTeams managing streaming pipelines need to monitor their status and control execution dynamically.Check the status of streaming pipelines and run them through conversation. Ask your AI assistant questions like “is the Kafka to Snowflake pipeline running?” to get real-time status updates, performance metrics, and event processing statistics. You can also request actions like “stop the streaming pipeline temporarily” to dynamically control execution.

Prerequisites

Before setting up the Matillion MCP server, ensure you meet the following prerequisites:
  • Node.js is installed on your system. We recommend at least v24.
  • npm is installed on your system. Version 11 (minimum recommended) should come with Node.js v24 and above.
  • The npx command must be available in your system’s global PATH.
  • You have your Matillion region, client ID, and client secret.
  • At least one installed AI client, such as Claude Desktop or the Gemini CLI.

Obtaining Matillion credentials

To find your Matillion region, and to create your Matillion API credentials (client ID and client secret):
  1. Log in to the .
  2. In the left navigation, click your Profile & Account icon.
    Your Matillion region is shown below your account name. Enter eu if your Matillion region starts with EU, or us if it starts with US.
  3. Then, select API credentials from the menu.
  4. If you don’t have credentials, click Set an API Credential to create a Client ID and Client Secret. Read Authenticating to the API to learn how to create API credentials.
  5. Give your credential set a descriptive Name. We recommend that you use a name that suits the application or purpose the credentials will be used for.
  6. Click Save to create the Client ID and Secret.
  7. Copy the secret immediately. You are not able to view the secret again after this point. If you do not copy it, or otherwise lose it, you will need to delete these credentials and generate a new set. The Secret window will close automatically after this point.

Environment variables

VariableDescriptionDefault valueRequired
MATILLION_CLIENT_IDOAuth client ID. To create your API credentials, read Obtaining Matillion credentials.-Yes (if MATILLION_BEARER_TOKEN is not provided)
MATILLION_CLIENT_SECRETOAuth client secret. To create your API credentials, read Obtaining Matillion credentials.-Yes (if MATILLION_BEARER_TOKEN is not provided)
MATILLION_BEARER_TOKENA pre-existing bearer token (bypasses OAuth).-No
MATILLION_REGIONYour region (either eu or us). To find your region, read Obtaining Matillion credentials.euNo
READ_ONLY_TOOLSEnable only read operations. Set to false to enable all tools, including write operations. For more information, see Available tools.trueNo
DEBUGDebug logging pattern.matillion:*No

Claude Desktop

Claude Desktop uses a global configuration file to launch MCP servers. Find your Claude Desktop configuration file. If it doesn’t exist, create it at the following location:
  • For macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • For Windows: %APPDATA%\Claude\claude_desktop_config.json
To use the MCP server with Claude Desktop:
  1. Choose which authentication method to use, then replace the placeholders in the corresponding JSON configuration below with your credentials.
  2. Copy your chosen JSON configuration, including the opening and closing , into the Claude Desktop configuration file. If the file already has content, merge the mcpServers object into the existing content.
  3. Quit the Claude Desktop app by right-clicking the Claude icon and then clicking Quit. Closing the window will not quit the app completely.
  4. Restart Claude Desktop. The Matillion MCP server will now be available.

JSON configurations

To authenticate using OAuth credentials:
{
  "mcpServers": {
    "matillion": {
      "command": "npx",
      "args": ["@matillion/mcp-server"],
      "env": {
        "MATILLION_CLIENT_ID": "your_client_id",
        "MATILLION_CLIENT_SECRET": "your_client_secret",
        "MATILLION_REGION": "your_region"
      }
    }
  }
}
To authenticate using a bearer token:
{
  "mcpServers": {
    "matillion": {
      "command": "npx",
      "args": ["@matillion/mcp-server"],
      "env": {
        "MATILLION_BEARER_TOKEN": "your_bearer_token",
        "MATILLION_REGION": "your_region"
      }
    }
  }
}

Claude Code

There are two ways to configure the MCP server for use with Claude Code. Choose one of the following methods:
  • Replace the placeholders in one of the JSON configurations in the Claude Desktop section with your credentials, then copy the mcpServers block into the ~/.claude.json file.
  • Replace the placeholders in the following command with your credentials, then run the command.
    claude mcp add matillion \
      --scope "user" \
      --env MATILLION_CLIENT_ID="your_client_id" \
      --env MATILLION_CLIENT_SECRET="your_client_secret" \
      --env MATILLION_REGION="your_region" \
      -- npx -y @matillion/mcp-server
    

Claude Code with Visual Studio Code

To use the MCP server with Claude Code and Visual Studio Code:
  1. Enable the MCP extension, if this is not already enabled.
  2. Open your project workspace in Visual Studio Code.
  3. Create or open the .vscode/mcp.json file.
  4. Replace the placeholders in the JSON configuration below with your credentials.
  5. Copy the JSON configuration, including the opening and closing , into the .vscode/mcp.json file. If the file already has content, merge the servers object into the existing content.
  6. Restart Visual Studio Code. The Matillion MCP server will now be available.
{
  "servers": {
    "matillion": {
      "command": "npx",
      "args": ["@matillion/mcp-server"],
      "env": {
        "MATILLION_CLIENT_ID": "your_client_id",
        "MATILLION_CLIENT_SECRET": "your_client_secret",
        "MATILLION_REGION": "your_region"
      }
    }
  }
}

Gemini CLI

The Gemini CLI uses a global settings.json file in your user profile. Find your Gemini CLI configuration file. If it doesn’t exist, create it at the following location:
  • For macOS or Linux: ~/.gemini/settings.json
  • For Windows: $HOME/.gemini/settings.json (where $HOME is your user profile directory, e.g. C:\Users\YourName)
To use the MCP server with Gemini:
  1. Replace the placeholders in the JSON configuration below with your credentials.
  2. Copy the JSON configuration, including the opening and closing , into the Gemini CLI configuration file. If the file already has content, merge the mcpServers object into the existing content.
  3. If the Gemini CLI is currently running in your terminal, use the /quit command to quit the CLI.
  4. Restart the Gemini CLI. The Matillion MCP server will now be available.

JSON configuration

{
  "mcpServers": {
    "matillion": {
      "command": "npx",
      "args": ["@matillion/mcp-server"],
      "env": {
        "MATILLION_CLIENT_ID": "your_client_id",
        "MATILLION_CLIENT_SECRET": "your_client_secret",
        "MATILLION_REGION": "your_region"
      }
    }
  }
}

Other MCP-compatible clients

For any other MCP-compatible client, use:
  • Command: npx
  • Args: ["@matillion/mcp-server"]
  • Environment: Set the required authentication variables

Unsupported clients

The Matillion MCP server cannot currently be configured for the following clients:
  • ChatGPT (Desktop and Web)
  • Claude.ai (Web)
  • Browser-based AI clients

Available tools

The server provides access to the following Matillion API tools. Read tools are always available, while Write tools require READ_ONLY_TOOLS to be set to false.
CategoryTool NameTypeDescription
Agentslist-agentsReadList all compute agents
Agentsget-agent-detailsReadGet details for a specific agent
Agentslist-agent-credentialsReadList agent client credentials
Agentsget-agent-access-listReadGet the agent allow list
Agentscreate-agentWriteCreate a new compute agent
Agentsupdate-agentWriteUpdate an existing agent
Agentsdelete-agentWriteDelete an agent
Agentssend-agent-commandWriteTrigger an agent command
Agentspost-agent-credentialsWritePerform actions on agent credentials
Agentsadd-to-agent-access-listWriteAdd project(s)/environment(s) to the agent allow list
Agentsset-agent-access-listWriteSet (replace) the entire agent allow list
Agentsdelete-agent-allowlist-projectWriteRemove a project from the agent allow list
Artifactslist-artifactsReadGet a list of artifacts
Artifactsget-artifact-detailsReadGet artifact details by version name
Artifactsget-artifact-details-v2ReadGet artifact with asset details (v2)
Artifactscreate-artifactWriteCreate a new artifact
Artifactspromote-artifactWritePromote an artifact
Artifactspatch-artifactWriteFlag an artifact to enable or disable
Audit eventsget-audit-eventsReadQuery audit events in a time range
Connectionscreate-data-platform-connectionWriteCreate a default data warehouse connection
Connectorslist-custom-connectorsReadList custom connector profiles
Connectorslist-flex-connectorsReadList flex connector profiles
Consumptionget-consumptionReadGet credit consumption for flat-rated products
Consumptionget-consumption-etl-usersReadGet credit consumption for ETL users
Environmentslist-environmentsReadList all environments in a project
Environmentscreate-environmentWriteCreate a new environment
Environmentsdelete-environmentWriteDelete an environment
Lineageget-lineage-eventsReadGet OpenLineage events for a specified time period
Pipeline Executionlist-pipeline-executionsReadList pipeline executions across all projects
Pipeline Executionlist-project-pipeline-executionsReadList pipeline executions for a specific project
Pipeline Executionget-execution-detailsReadGet pipeline execution status
Pipeline Executionget-execution-stepsReadGet pipeline execution steps status
Pipeline Executionexecute-pipelineWriteExecute a published pipeline
Pipeline Executionpatch-pipeline-executionWriteTerminate a pipeline execution
Pipelineslist-published-pipelinesReadList all published pipelines in a project
Projectslist-projectsReadList all projects
Projectscreate-projectWriteCreate a new project
Projectsdelete-projectWriteDelete a project
Repositoriescreate-repositoryWriteAssociate a repository with a project
Scheduleslist-schedulesReadList all schedules for a project
Schedulesget-schedule-detailsReadGet schedule summary by schedule ID
Schedulescreate-scheduleWriteCreate a new schedule
Schedulesupdate-scheduleWriteUpdate an existing schedule
Schedulesdelete-scheduleWriteDelete a schedule
Secret Referenceslist-secret-referencesReadList all secret references in a project
Secret Referencescreate-secret-referenceWriteCreate a secret reference
Secret Referencesdelete-secret-referenceWriteDelete a secret reference
Streaming Pipelineslist-streaming-pipelinesReadList streaming pipeline definitions
Streaming Pipelinesget-streaming-pipeline-detailsReadGet a streaming pipeline definition
Streaming Pipelinesget-streaming-pipeline-statusReadGet a streaming pipeline’s status
Streaming Pipelinescreate-streaming-pipelineWriteCreate a streaming pipeline definition
Streaming Pipelinesupdate-streaming-pipelineWriteUpdate a streaming pipeline definition
Streaming Pipelinesdelete-streaming-pipelineWriteDelete a streaming pipeline definition
Streaming Pipelinessend-streaming-pipeline-commandWriteExecute a streaming pipeline command

Debug logging

Debug logging is enabled by default with the pattern matillion:*. This provides detailed logs for:
  • OAuth token acquisition and refresh
  • HTTP requests and responses
  • API call details
  • Configuration loading
  • Tool invocations
To disable debug logging, set DEBUG="" or remove the environment variable.