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.
task managementTeams want to delegate pipeline development and maintenance work to , supervise their progress, and review their decisions without switching tools.Create and manage ’ tasks through conversation. Ask your AI assistant to start a new task with an instruction and mode, then monitor its status and message history as it works. Review and respond in-line when are waiting on a decision, such as approving a tool call or answering a question. You can also update task permissions, send follow-up messages to adjust a running task, and stop or delete tasks when they’re no longer needed.
Test executionsTeams want to validate pipeline changes by running tests before promoting an artifact or merging changes. They can use these tools to trigger runs, track results, and stop executions without leaving their AI assistant.Ask your AI assistant to run tests in natural language and monitor the outcome—for example, “run all tests in the Analytics project against the Dev environment and tell me when they finish”. Your AI assistant can trigger runs for specific tests, pipelines, or whole projects, track results, and stop runaway executions on demand.

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.
doesn’t use Node.js as part of its core SaaS platform, so there’s no Node.js version associated with the service. Node.js is only relevant for the Matillion MCP server. Matillion doesn’t manage the Node.js version; you define it based on your deployment environment.
  • 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 .
  2. In the left navigation, click your Profile & Account icon.
    Your Matillion region is shown below your account name. The value of the MATILLION_REGION environment variable will be eu if your Matillion region starts with EU, us if it starts with US, or au if it starts with AU.
  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 Authenticate to the Maia 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 (eu, us, or au). 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. Open your project workspace in Visual Studio Code.
  2. Create or open the .vscode/mcp.json file.
  3. Replace the placeholders in the JSON configuration below with your credentials.
  4. 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.
  5. Restart Visual Studio Code. The Matillion MCP server will now be available.
For more information, read the Visual Studio Code Configure the mcp.json file guide.
{
  "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.
Tool nameTypeDescription
AI Agents
create-agent-taskWriteCreate a new task
list-agent-tasksReadList ’ tasks for the account
get-agent-taskReadGet a task’s status, configuration, and pending decisions
get-agent-task-messagesReadGet the message history and events for a task
send-agent-task-messageWriteSend a follow-up message to a running task to grant permissions or update the task configuration
submit-agent-task-decisionsWriteApprove or reject tool calls that are waiting on, and answer pending questions
set-agent-task-permissionsWriteReplace the full list of granted tool permissions for a task
wait-for-agent-taskReadMonitor a task until it reaches a pending decision, terminal state, or timeout
stop-agent-taskWriteStop a task that is currently running
delete-agent-taskWriteDelete a task that has been stopped
Artifacts
list-artifactsReadGet a list of artifacts
get-artifact-detailsReadGet artifact details by version name
get-artifact-details-v2ReadGet artifact with asset details (v2)
create-artifactWriteCreate a new artifact
promote-artifactWritePromote an artifact
patch-artifactWriteFlag an artifact to enable or disable
Audit events
get-audit-eventsReadQuery audit events in a time range
Connections
create-data-platform-connectionWriteCreate a default data warehouse connection
Connectors
list-custom-connectorsReadList custom connector profiles
list-flex-connectorsReadList flex connector profiles
Consumption
get-consumptionReadGet credit consumption for flat-rated products
get-consumption-etl-usersReadGet credit consumption for ETL users
Environments
list-environmentsReadList all environments in a project
create-environmentWriteCreate a new environment
delete-environmentWriteDelete an environment
Lineage
get-lineage-eventsReadGet OpenLineage events for a specified time period
Pipeline Execution
list-pipeline-executionsReadList pipeline executions across all projects
list-project-pipeline-executionsReadList pipeline executions for a specific project
get-execution-detailsReadGet pipeline execution status
get-execution-stepsReadGet pipeline execution steps status
execute-pipelineWriteExecute a published pipeline
patch-pipeline-executionWriteTerminate a pipeline execution
Pipelines
list-published-pipelinesReadList all published pipelines in a project
Projects
list-projectsReadList all projects
create-projectWriteCreate a new project
delete-projectWriteDelete a project
Repositories
create-repositoryWriteAssociate a repository with a project
Runners
list-agentsReadList all s
get-agent-detailsReadGet details for a specific
list-agent-credentialsReadList client credentials
get-agent-access-listReadGet the allow list
create-agentWriteCreate a new
update-agentWriteUpdate an existing
delete-agentWriteDelete a
send-agent-commandWriteTrigger a command
post-agent-credentialsWritePerform actions on credentials
add-to-agent-access-listWriteAdd project(s)/environment(s) to the allow list
set-agent-access-listWriteSet (replace) the entire allow list
delete-agent-allowlist-projectWriteRemove a project from the allow list
Schedules
list-schedulesReadList all schedules for a project
get-schedule-detailsReadGet schedule summary by schedule ID
create-scheduleWriteCreate a new schedule
update-scheduleWriteUpdate an existing schedule
delete-scheduleWriteDelete a schedule
Secret References
list-secret-referencesReadList all secret references in a project
create-secret-referenceWriteCreate a secret reference
delete-secret-referenceWriteDelete a secret reference
Streaming Pipelines
list-streaming-pipelinesReadList streaming pipeline definitions
get-streaming-pipeline-detailsReadGet a streaming pipeline definition
get-streaming-pipeline-statusReadGet a streaming pipeline’s status
create-streaming-pipelineWriteCreate a streaming pipeline definition
update-streaming-pipelineWriteUpdate a streaming pipeline definition
delete-streaming-pipelineWriteDelete a streaming pipeline definition
send-streaming-pipeline-commandWriteExecute a streaming pipeline command
Test Execution
list-test-executionsReadList test executions across all projects, with optional filters (project, test name, environment, status, time range)
get-test-execution-statusReadGet the status and details of a specific test execution
create-test-executionWriteTrigger test executions for a project, with the scope TEST (named test files), PIPELINE (tests for given pipelines), or PROJECT (all tests)
cancel-test-executionWriteCancel a running test execution, with the option to force termination

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.