How to connect Metabase MCP with VS Code

Connect VS Code to Metabase MCP. Get all charts from marketing dashboard, run sql query for revenue last quarter, and more using natural language, with authentication handled for you.

Metabase logoMetabase
Api Key

Metabase is an open-source business intelligence tool for visualizing and querying data. It helps teams turn raw data into insightful dashboards and charts, fast.

189 Tools

How to connect Metabase MCP with VS Code

VS Code is the most popular code editor out there. With its recent AI makeover, it can do more than just help you write code. You can connect your applications to it and let LLMs automate many of the mundane tasks in your workflow.

In this guide, I will explain how to connect Metabase with VS Code in the most secure and robust way possible via Composio.

Also integrate Metabase with

Why use Composio?

Composio provides:

  • Access to 1,500+ managed apps from a single MCP endpoint. This makes it convenient for agents to run cross-app workflows.
  • Programmatic tool calling. Allows LLMs to write its code in a remote workbench to handle complex tool chaining. Reduces to-and-fro with LLMs for frequent tool calling.
  • Large tool response handling outside the LLM context. This minimizes context bloat from large tool responses.
  • Dynamic just-in-time access to thousands of tools across hundreds of apps. Composio loads the tools your agent needs, so LLMs are not overwhelmed by tools they do not need.

Integrate Metabase MCP with VS Code

1. Install with one click

Click the button below to add Composio to VS Code. You will be prompted to authorize. This requires VS Code 1.99+ with GitHub Copilot.

+Install in VS Code

2. Or add manually

Open or create .vscode/mcp.json in your project root and add the following configuration:

bash
{
  "servers": {
    "composio": {
      "type": "http",
      "url": "https://connect.composio.dev/mcp"
    }
  }
}

3. Authorize

Click the install button to authorize VS Code to connect to Composio. VS Code will detect OAuth and prompt you to sign in.

VS Code MCP server install screen for Composio

A browser window will open to authorize.

Composio authorization browser window

4. Authenticate Metabase and start working

Back in VS Code chat, ask the agent to connect to Metabase or give it any Metabase-related task.

For example, ask it to:

  • "Get all charts from marketing dashboard"
  • "Run SQL query for revenue last quarter"
  • "Share dashboard link with analytics team"

It will prompt you to authenticate and authorize access to Metabase.

That is it. Composio tools are now available in VS Code, and your Metabase account is ready to use.

Way Forward

Now that Metabase is connected, extend your setup by connecting the other apps you already use every day, so your agent can run true cross-app workflows end to end.

  • Connect Calendar to turn threads into scheduled meetings automatically.
  • Connect Slack or Teams to post summaries, approvals, and alerts where your team works.
  • Connect Notion, Linear, Jira, or Asana to convert requests into tickets, tasks, and docs.
  • Connect Drive, Dropbox, or OneDrive to fetch, file, and share attachments without manual steps.
  • Connect HubSpot or Salesforce to log customer context, update records, and draft follow-ups.

Start with one workflow you do repeatedly, then keep adding apps as you find new handoffs. With everything behind a single MCP endpoint, your agent can coordinate multiple tools safely and reliably in one conversation.

TOOLS

Supported Tools

Every Metabase action and event your agent gets out of the box.

Create Bookmark

Tool to create a new bookmark for a Metabase item (card, dashboard, collection, or dataset).

Run Card Pivot Query

Tool to run a pivot table query on a Metabase card (question).

Run Card Query

Tool to run the query associated with a Card and return its results.

Copy Dashboard

Tool to create a copy of an existing Metabase dashboard.

Run Dashboard Pivot DashCard Query

Tool to run a pivot table query for a specific DashCard.

Save Dashboard to Collection

Tool to save a denormalized dashboard description into a collection.

Discard Database Field Values

Tool to discard all saved field values for a specific database.

Dismiss Database Sync Spinner

Tool to manually set the initial sync status of a Database and corresponding tables to complete.

Trigger Database Field Values Rescan

Tool to trigger a manual scan of field values for a Database.

Trigger Database Schema Sync

Tool to trigger a manual update of the schema metadata for a Database.

Search Dataset Parameter Values

Tool to search for parameter values in datasets when editing cards or dashboards.

Create Field Dimension

Tool to set the dimension for a field at the specified ID in Metabase.

Discard Field Values

Tool to discard the FieldValues belonging to a Metabase field.

Update Field Values

Tool to update field values and human-readable values for a Field whose semantic type is category/city/state/country or whose base type is type/Boolean.

Unpersist Card

Tool to unpersist a Metabase card/model.

Disable Database Model Persistence

Tool to disable model persistence for a Metabase database.

Discard Table Field Values

Tool to discard the FieldValues belonging to the Fields in a Metabase Table.

Rescan Table Field Values

Tool to manually trigger an update for FieldValues for Fields belonging to a specific Table.

Sync Table Schema

Tool to trigger a manual update of the schema metadata for a specific Table.

Delete Action

Tool to delete a Metabase action by its ID.

Delete API Cache

Tool to delete/clear cached data in Metabase for specific entities.

Delete Timeline

Tool to delete a timeline by ID.

Delete Bookmark

Delete a bookmark by model and item ID for the requesting user.

Delete Card

Tool to hard delete a Metabase card.

Delete Dashboard

Tool to hard delete a Metabase dashboard by its ID.

Delete User Subscriptions

Tool to delete all Alert and DashboardSubscription subscriptions for a User.

Delete Field Dimension

Tool to remove the dimension associated with a field at the specified ID.

Delete Glossary Entry

Tool to delete a glossary entry from Metabase.

Delete Model Index

Tool to delete a ModelIndex by ID from Metabase.

Delete Timeline Event

Tool to delete a Metabase timeline event.

Delete User Key-Value Pair

Tool to delete a user key-value pair by namespace and key.

Get Action

Tool to retrieve a Metabase action by ID.

Get Action Execute Parameters

Tool to fetch values for filling in action execution parameters.

Get all Metabase actions

Tool to retrieve all actions available in the Metabase instance.

Get Popular Items

Tool to get the list of 5 popular items on the Metabase instance.

Get Recent Activity Views

Retrieve items recently viewed by the authenticated user in Metabase, such as cards, dashboards, collections, tables, and documents.

Get All Alerts

Tool to retrieve all alerts in Metabase.

Get Automagic Dashboard Candidates

Tool to retrieve automagic dashboard candidates for a specific database.

Get User Bookmarks

Tool to retrieve all bookmarks for the authenticated user.

Get API Card

Tool to list all cards (questions) available to the authenticated user in Metabase.

Search Card Parameter Values

Tool to search for values of a specific parameter in a Metabase card.

Get Card by ID

Tool to retrieve a specific card (question) by its ID.

Get all collections

Tool to retrieve all collections that the current user has read permissions for.

Get Collection by ID

Tool to retrieve detailed information about a Metabase collection by its ID.

Get Collection Items

Tool to retrieve items from a specific Metabase collection.

Get Root Collection

Tool to fetch the Root Collection and its top-level objects.

Get Collection Tree

Tool to retrieve the collection tree structure from Metabase.

Get Database Autocomplete Suggestions

Tool to retrieve autocomplete suggestions for table and field names in a database.

Get Database Metadata

Retrieves metadata for a specific database, including returned tables and fields.

Get Virtual Database Datasets

Tool to retrieve all datasets from a Metabase virtual database.

Get User Audit Info

Retrieves audit collection information for the current authenticated user, returning an audit permission flag and collection ID when available.

Get Billing API Version

Tool to retrieve the billing API version information for the Metabase Enterprise Edition instance.

Get Resource Dependents

Gets dependents of a resource in Metabase's Enterprise Edition dependency graph, filtered by the requested dependent type.

Get Embedding Hub Checklist

Tool to retrieve the embedding hub checklist status for Metabase Enterprise Edition.

Get Current Remote Sync Task

Retrieves the current remote sync task status in Metabase.

Get Stale Data By ID

Retrieves stale data information by ID from Metabase Enterprise Edition.

Get Uploaded Tables

Tool to retrieve all uploaded tables in Metabase Enterprise Edition.

Get Field Related Entities

Tool to retrieve related entities for a Metabase field.

Search Field Values

Tool to search for field values in Metabase that start with a given string.

Get Field Values

Retrieve distinct values for a Metabase field, including any human-readable remapped values.

Get API Glossary

Tool to retrieve all glossary items from Metabase.

Get Current User Login History

Tool to retrieve login history for the currently authenticated user.

Get Model Index Values

Tool to retrieve indexed field values for a specific Metabase model.

Get Model Index Details

Tool to retrieve details of a specific model index by its ID.

Get all native query snippets

Tool to retrieve all native query snippets available in the Metabase instance.

Get Native Query Snippet by ID

Tool to retrieve a specific native query snippet by its ID.

Get Notifications

Tool to retrieve notifications from Metabase with optional filtering.

Get Public Card by UUID

Fetch a publicly shared Metabase card by its public UUID, with card information such as query definition, visualization settings, and parameters when available.

Get Public oEmbed Metadata

Tool to get oEmbed metadata for public Metabase resources.

Get Public Pivot Card Query

Retrieve query results for a publicly shared pivot card by public UUID, including data rows, column metadata, and query status when available.

Get All Pulses

Tool to retrieve all pulses (scheduled reports/subscriptions) in Metabase.

Get Pulse Form Input Configuration

Retrieve pulse form configuration for creating or updating subscriptions, including available notification channel settings.

Get Pulse by ID

Tool to retrieve a specific pulse (subscription) by its ID.

Get Pulse Preview Card

Tool to retrieve the HTML preview of a Metabase card formatted for pulse emails.

Get Pulse Preview Card Info

Tool to retrieve preview information for a Metabase card formatted for pulse emails.

Get Revision by ID and Entity

Retrieve revision history for a Metabase card, dashboard, document, or segment by entity ID and type.

Get Entity Revision History

Tool to retrieve the revision history for a Metabase entity (dashboard, card, metric, or segment).

Search Metabase objects

Tool to search Cards, Dashboards, Collections, Tables, Databases, and Pulses for a substring.

Get Search Weights

Tool to retrieve the current search weight configuration for the Metabase instance.

Get All Segments

Tool to retrieve all segments from Metabase.

Validate Password Reset Token

Tool to validate a password reset token in Metabase.

Get Session Properties

Tool to retrieve all global session properties and their values that are public.

Get Card Table Foreign Keys

Tool to retrieve foreign key relationships for a card-based virtual table.

Get Card Virtual Table Query Metadata

Tool to retrieve metadata for a virtual table created from a card (saved question).

Get All Timelines

Retrieve a list of Metabase timelines with their settings and associated metadata.

Get Collection Timelines

Tool to retrieve timelines associated with a specific Metabase collection.

Get Root Collection Timelines

Tool to retrieve all timelines associated with the root collection.

Get Timeline Event

Tool to retrieve a timeline event by ID.

Get Timeline by ID

Tool to fetch a timeline by its ID from Metabase.

Get Current User

Retrieve the current authenticated user's profile and account details, including group memberships and superuser status when returned.

Get User by ID

Retrieve a Metabase user by ID, including profile details, account status, and group memberships when returned.

Get User Key-Value by Namespace

Retrieve user key-value pairs for a specified namespace, such as user-specific settings or preferences.

Get User Recipients

Tool to retrieve users for recipient selection.

Generate Random Security Token

Tool to generate a cryptographically secure random token for Metabase.

Get Automagic Dashboard

Tool to retrieve an automagic dashboard for a specified entity with its ID.

Get Automagic Dashboard Cell Analysis

Tool to return an automagic dashboard analyzing a specific cell in an entity's data.

Get Automagic Dashboards Compare

Tool to return an automagic comparison dashboard for entity with id compared with comparison-entity with comparison-entity-id-or-query.

Get automagic dashboard by rule

Tool to return an automagic dashboard for a specific entity using a dashboard template with rule prefix.

Get Automagic Dashboard Cell Rule Analysis

Tool to fetch an automagic dashboard analyzing a specific cell using a template rule.

Get Automagic Dashboard Query Metadata

Tool to retrieve all metadata for an automagic dashboard for the specified entity type and ID.

Get Card Dashboards

Tool to get a list of dashboards that a specific card appears in.

Get Card Query Metadata

Tool to get comprehensive query metadata for a Metabase card (saved question).

Get Card Series

Tool to fetch a list of cards compatible as series with a specified card.

Get Automagic Comparison Dashboard

Tool to retrieve an automagic comparison dashboard comparing a cell in one entity with another entity.

Get Dashboard by ID

Tool to retrieve a dashboard by its ID from Metabase.

Search Dashboard Parameter Values

Tool to fetch possible values of a dashboard parameter that contain the search query.

Get Dashboard Query Metadata

Tool to get all of the required query metadata for the cards on a dashboard.

Get Dashboard Related Entities

Tool to retrieve related entities for a Metabase dashboard.

Get Database By ID

Tool to retrieve a single database by ID from Metabase.

Get Database Card Autocomplete Suggestions

Tool to return a list of Card autocomplete suggestions for a given query in a given Database.

Get Database Datasets

Tool to retrieve tables (models and metrics) from a virtual database schema in Metabase.

Get Database Fields

Tool to retrieve all field metadata from a Metabase database.

Get Database Healthcheck

Tool to check if a Metabase database can currently connect.

Get Database Schemas

Tool to retrieve all schemas with tables for a specific database in Metabase.

Get Database Settings Available

Tool to get all database-local settings and their availability for a given database.

Get Database Syncable Schemas

Tool to retrieve all syncable schemas for a specific database in Metabase.

Get Field Remapping

Requests remapped values for a specific Metabase field and value.

Get Field Summary

Tool to get summary statistics for a Metabase field by its ID.

Get Most Recently Viewed Dashboard

Tool to retrieve the most recently viewed dashboard for the authenticated user.

Get Dashboard HTML Preview

Tool to retrieve an HTML preview rendering of a dashboard.

Get Table By ID

Tool to retrieve basic table information by ID from Metabase.

Get Table Data

Tool to retrieve data from a specific table in Metabase.

Get Table Foreign Keys

Tool to get all foreign keys whose destination is a field that belongs to a specific table.

Get Table Schema

Gets column names and types for a Metabase table, excluding hidden, sensitive, and retired fields, and includes foreign key targets when available.

Get User Key-Value Setting

Tool to retrieve a user-specific key-value pair from Metabase storage.

List Databases

Lists all databases configured in Metabase with essential info: ID, name, and engine.

List Tables

Lists active tables in a Metabase database with their IDs, names, and schemas, optionally filtered by schema.

Get Dashboard Parameter Remapping

Tool to get parameter remapping for a dashboard parameter value.

Get Dashboard Parameter Values

Tool to fetch available values for a specific dashboard parameter.

Create Dashboard Subscription

Tool to create a dashboard subscription using Metabot tools.

Get Dashboard Details

Tool to retrieve dashboard details for a Metabase metabot conversation.

Get Document Details via Metabot

Tool to retrieve document details using Metabase metabot tools.

Record Recent Activity

Tool to record recent activity for a Metabase item.

Create Card

Tool to create a new Metabase card (question or model).

Bulk Move Cards to Collection

Tool to bulk move multiple Metabase cards into a target collection or remove them from collections.

Copy Card

Tool to create a copy of an existing Metabase card (question) by its ID.

Get Card Dashboard Associations

Retrieve dashboard associations for given Metabase card IDs.

Bulk Move Cards

Tool to bulk move cards to a collection or remove them from collections.

Create Collection

Tool to create a new Metabase collection for organizing content.

Create Dashboard

Tool to create a new Metabase dashboard.

Execute Dataset Query

Tool to execute a query against a Metabase database and retrieve results.

Convert Query to Native SQL

Request the native SQL representation of a Metabase query supplied as a native SQL query, with optional parameters.

Remap Dataset Parameter Value

Tool to remap dataset parameter values in Metabase.

Get Dataset Parameter Values

Tool to fetch parameter values for dataset fields in Metabase.

Execute Pivot Table Query

Tool to execute a pivot table query and retrieve results.

Get Dataset Query Metadata

Tool to retrieve query metadata for a dataset query including databases, tables, fields, and snippets.

Check Snippet Dependencies

Tool to check dependencies for a native query snippet in Metabase Enterprise Edition.

Filter Records

Filter records from a Metabase table, query, or report using Metabot tools.

Generate Insights

Tool to generate insights for a table using Metabot tools.

Get Current User

Tool to retrieve information about the current authenticated user in a Metabase metabot conversation.

Get Query Details

Tool to get query details using Metabot tools API.

Get Snippet Details

Tool to retrieve SQL snippet details via Metabase metabot tools.

Get Metabot Snippets

Tool to retrieve SQL snippets for a Metabase metabot conversation.

Get Table Details

Tool to retrieve comprehensive table details via Metabase metabot tools.

Query Datasource via Metabot

Tool to query a Metabase datasource using Metabot tools.

Metabot Search

Tool to search Metabase entities using the metabot search API.

Search Metabase Items (Metabot V2)

Tool to search Metabase items using the Metabot search v2 endpoint.

Cancel Current Remote Sync Task

Cancel the current active Remote Sync task in Metabase Enterprise Edition.

Translate Entity IDs

Tool to translate Metabase entity IDs (21-character strings) to their numeric IDs.

Rescan Field Values

Tool to manually trigger an update for the FieldValues for a specific field.

Create Glossary Entry

Tool to create a new glossary entry in Metabase.

Create Model Index

Tool to create a new model index in Metabase.

Create native query snippet

Tool to create a new native query snippet in Metabase.

Create Notification

Tool to create a new notification in Metabase.

Send Notification

Trigger sending an unsaved card notification in Metabase with custom handlers and templates.

Submit Product Feedback

Tool to submit product feedback to Metabase.

Create Pulse

Tool to create a new pulse (scheduled report/subscription) in Metabase.

Revert Entity to Previous Revision

Tool to revert a Metabase entity (card, dashboard, document, or segment) to a previous revision.

Send Password Reset Email

Initiate a password reset for a user by email.

Check Password Complexity

Check a password against Metabase's configured password complexity rules.

Submit Bug Report to Slack

Tool to submit a bug report to Slack via Metabase's bug reporting endpoint.

Create Timeline

Tool to create a new timeline in Metabase.

Execute Dashboard Card Query

Tool to execute a query for a specific card within a dashcard on a dashboard.

Update Action by ID

Update an existing Metabase action by ID, including its name, description, query, or visualization settings.

Update Bookmark Ordering

Tool to update the order of bookmarks for the authenticated user.

Update Card by ID

Tool to update a specific card (question) by its ID.

Update Collection by ID

Tool to update an existing Metabase collection by its ID.

Update Database Configuration

Update a Metabase database configuration by ID, including connection details and sync preferences.

Update Field Metadata

Tool to update a Metabase field by its ID.

Update Glossary Entry by ID

Update an existing Metabase glossary entry by ID.

Update Native Query Snippet by ID

Tool to update an existing native query snippet by its ID.

Update Pulse by ID

Tool to update an existing pulse (scheduled report/subscription) by ID.

Update Search Weights

Tool to update search weights configuration in Metabase.

Update Table Metadata

Tool to update a Metabase table by its ID.

Update Table Field Display Order

Tool to update the display order of fields in a Metabase table.

Update Timeline Event by ID

Tool to update an existing timeline event by its ID.

Update Timeline by ID

Tool to update an existing timeline by its ID.

Update User by ID

Tool to update an existing Metabase user by their ID.

Update Dashboard

Update a Metabase dashboard by ID, including its name, description, parameters, cards, tabs, embedding, collection, or archive status.

FAQ

Frequently asked questions

With a standalone Metabase MCP server, the agents and LLMs can only access a fixed set of Metabase tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Metabase and many other apps based on the task at hand, all through a single MCP endpoint.

Yes, you can. VS Code fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Metabase tools.

Yes, absolutely. You can configure which Metabase scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Metabase data and credentials are handled as safely as possible.

Start with Metabase.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Metabase tool your agent needs.Free to start.

Start building