@takeokunn/metabase-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., "@@takeokunn/metabase-mcplist all databases"
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.
@takeokunn/metabase-mcp
A Model Context Protocol (MCP) server for Metabase, enabling AI assistants to interact with your Metabase instance.
Features
429 tools across 59 categories covering the Metabase OSS API
Database Management - List, create, update, delete databases and sync metadata
Card/Question Management - Create, execute, and manage saved questions
Dashboard Management - Build and manage dashboards with cards, tabs, and subscriptions
Collection Management - Organize content in collections with tree navigation
Table & Field Management - Configure metadata, semantic types, and values
User & Permissions Management - Users, groups, membership, and data access control
Actions - Write-back model actions for updating data
Notifications - Modern notification system for alerts and dashboard subscriptions
Timelines & Events - Annotate charts with contextual timeline events
Embedding - Signed JWT embedding and anonymous public sharing
AI Features - X-ray auto-generated dashboards, LLM SQL generation
[Pro], Metabot[Pro]Admin Tools - Settings, email, API keys, caching, tasks, logging, and more
Secure API Token Authentication - API key-based access control
TypeScript Implementation - Full type safety throughout
Note: Tools marked
[Requires Metabase Pro]require a Metabase Pro or Enterprise license.
Related MCP server: mcp-metabase-server P
Installation
npm install -g @takeokunn/metabase-mcpOr run directly with npx:
npx @takeokunn/metabase-mcpConfiguration
Set the following environment variables:
Variable | Description | Example |
| Your Metabase instance URL (HTTPS required) |
|
| Metabase API key |
|
Getting an API Token
Log in to Metabase as an admin
Go to Admin Panel → Settings → Authentication → API Keys
Click Create API Key
Copy the generated token
Usage
Claude Desktop Integration
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"metabase": {
"command": "npx",
"args": ["@takeokunn/metabase-mcp"],
"env": {
"METABASE_URL": "https://metabase.example.com",
"METABASE_API_TOKEN": "mb_your_api_token"
}
}
}
}Or if installed globally:
{
"mcpServers": {
"metabase": {
"command": "metabase-mcp",
"env": {
"METABASE_URL": "https://metabase.example.com",
"METABASE_API_TOKEN": "mb_your_api_token"
}
}
}
}Available Tools
This MCP server provides 429 tools organized into 59 categories.
Coverage note: tools mirror the Metabase OSS REST API (
/api/docs/openapi.json). Enterprise/Pro-only endpoints (/api/ee/*, sandboxing/api/mt/*, transforms, Metabot/agent, embedding themes, data-studio), test-only endpoints (/api/testing/*), and session-based auth flows (/api/session/*login/logout/password) are intentionally out of scope — this server authenticates with an API key.
Database Tools (30)
Tool | Description |
| Get list of databases configured in Metabase |
| Get a single database by ID from Metabase |
| Get database metadata including tables and fields from Metabase |
| List all schemas in a database from Metabase |
| List tables in a database schema from Metabase |
| Trigger a sync for a database in Metabase |
| Add a new database connection to Metabase |
| Update an existing database connection configuration in Metabase |
| Delete a database connection from Metabase |
| Rescan field values for a database in Metabase |
| Discard cached field values for a database in Metabase |
| Validate a database connection configuration before creating it in Metabase |
| Create the built-in sample database in Metabase |
| Sync the schema of a database in Metabase (schema only, not a full resync) |
| Get all fields for a database in Metabase |
| Get all ID-type fields for a database in Metabase |
| Get autocomplete suggestions for a database in Metabase |
| Get usage information for a database in Metabase |
| Perform a healthcheck on a database connection in Metabase |
| List all tables within a specific schema of a database in Metabase |
| List virtual tables (saved questions) available as tables in a database in Metabase |
| Get a virtual schema (datasets) for a database in Metabase |
| List all virtual tables (saved questions as tables) across all databases in Metabase |
| Append rows from a CSV upload to an existing table in a database in Metabase |
| Replace an existing table with CSV data in a database in Metabase |
| Get card autocomplete suggestions for a database in Metabase |
| Get available settings for a database connection in Metabase |
| Get syncable schemas for a database in Metabase |
| Get datasets for a virtual database in Metabase |
| Dismiss the loading spinner for a database in Metabase |
Card Tools (20)
Tool | Description |
| List all saved questions/cards |
| Get card details by ID |
| Get card metadata including query info |
| Create a new saved question |
| Update an existing card |
| Delete a card |
| Execute a card and return results |
| Create a public sharing link for a card (saved question) in Metabase (returns UUID) |
| Delete a public sharing link from a card (saved question) in Metabase |
| List all cards (saved questions) available for embedding in Metabase (admin only) |
| List all cards (saved questions) with public sharing links in Metabase (admin only) |
| Copy an existing card (saved question) in Metabase |
| Get related series data for a card (saved question) in Metabase |
| Get possible values for a card (saved question) filter parameter in Metabase |
| Search possible values for a card (saved question) filter parameter in Metabase |
| Get remapping for a parameter of a card in Metabase |
| Get dashboards that contain a specific card in Metabase |
| Move multiple cards to a collection in Metabase |
| Execute a card (saved question) as a pivot table query in Metabase |
| Export a card (saved question) query result in a specified format (csv, json, xlsx, pdf) in Metabase |
Dashboard Tools (38)
Tool | Description |
| List all dashboards |
| Get dashboard details by ID |
| Create a new dashboard |
| Update an existing dashboard |
| Delete a dashboard |
| Copy a dashboard to a new location |
| Get dashboard metadata including cards |
| Add a card to a dashboard (v0.49+) |
| Update a dashboard card position/size/settings (v0.49+) |
| Remove a card from a dashboard (v0.49+) |
| Bulk update dashboard cards (v0.49+) |
| Add a new tab to a dashboard (v0.49+) |
| Update a dashboard tab name/position (v0.49+) |
| Remove a tab from a dashboard (v0.49+) |
| Create a public sharing link for a dashboard |
| Delete a public sharing link from a dashboard |
| List all dashboards with public sharing links |
| List revision history for a dashboard |
| Revert a dashboard to a previous revision |
| List dashboard subscriptions (email/Slack notifications) |
| Create a dashboard subscription |
| Update a dashboard subscription |
| Execute a dashcard query with dashboard filter parameters in Metabase |
| Export a dashcard query result in a specified format (csv, json, xlsx, pdf) in Metabase |
| Get possible values for a dashboard filter parameter in Metabase |
| Search possible values for a dashboard filter parameter in Metabase |
| List all dashboards available for embedding in Metabase (admin only) |
| Get remapping for a parameter of a dashboard in Metabase |
| Get related items for a dashboard in Metabase |
| Get valid filter fields for dashboard parameters in Metabase |
| Save a dashboard (creates or updates) in Metabase |
| Save a dashboard to a specific collection in Metabase |
| Get items (dashcards) of a dashboard in Metabase |
| Get action parameters for a dashcard in Metabase |
| Run the query for a specific card on a dashboard in Metabase |
| Export query results for a dashcard in Metabase |
| Execute an action on a dashcard in Metabase |
| Run a pivot query for a specific dashcard in Metabase |
Collection Tools (15)
Tool | Description |
| List all collections |
| Get collection details by ID |
| Get items within a collection |
| Get the full collection hierarchy tree |
| Get the root collection from Metabase |
| Get items (cards, dashboards, etc.) within the root collection in Metabase |
| Get the trash collection from Metabase |
| Create a new collection |
| Update collection properties |
| Delete a collection |
| Permanently delete a collection in Metabase (cannot be undone) |
| Get dashboard question candidates from the root collection in Metabase |
| Get dashboard question candidates from a collection in Metabase |
| Move dashboard question candidates from the root collection in Metabase |
| Move dashboard question candidates from a collection in Metabase |
Table Tools (14)
Tool | Description |
| List all tables across all databases in Metabase |
| Get table details by ID |
| Get table metadata including fields |
| Update table properties |
| Bulk update multiple tables in Metabase |
| Resync field metadata for a table |
| Get foreign keys for a table in Metabase |
| Sync the schema for a table in Metabase |
| Discard cached field values for a table in Metabase |
| Get related tables and cards for a table in Metabase |
| Reorder fields in a table in Metabase |
| Get foreign keys for a virtual card-based table in Metabase |
| Get query metadata for a virtual card-based table in Metabase |
| Get data rows from a table in Metabase |
Field Tools (13)
Tool | Description |
| Get field details by ID |
| Update field properties |
| Get cached values for a field |
| Update cached field values |
| Trigger a rescan of field values |
| Discard cached field values |
| Get related fields and tables |
| Search for values within a field |
| Create a dimension (remapping) for a field in Metabase |
| Delete a dimension (remapping) from a field in Metabase |
| Get remapping between two fields in Metabase |
| Get summary statistics for a field in Metabase |
| Get unique Table IDs for a list of Field IDs in Metabase |
Search Tools (5)
Tool | Description |
| Full-text search across Metabase content |
| Get search result ranking weights in Metabase |
| Update search result ranking weights in Metabase |
| Force a full reindex of the search index in Metabase |
| Re-initialize the search index in Metabase |
Dataset/Query Tools (8)
Tool | Description |
| Execute an ad-hoc query |
| Export query results in various formats |
| Execute a pivot query against a Metabase database |
| Convert an MBQL query to native SQL without executing it |
| Get values for a dataset parameter in Metabase |
| Search values for a dataset parameter in Metabase |
| Get remapping for a dataset parameter in Metabase |
| Get metadata for a dataset query in Metabase |
User Tools (11)
Tool | Description |
| List all users with optional filtering |
| Get user details by ID |
| Create a new user account |
| Update user properties |
| Deactivate a user account |
| Get the currently authenticated user |
| Update a user's password |
| Reactivate a deactivated user |
| Get a list of users who are eligible to receive notifications and alerts in Metabase |
| Dismiss a modal for a user in Metabase |
| Generate a password reset URL for a user in Metabase (admin only) |
Permissions Tools (16)
Tool | Description |
| List all permission groups |
| Get permission group details by ID |
| Create a new permission group |
| Update permission group name |
| Delete a permission group |
| Get the data permissions graph |
| Update data permissions for groups |
| Get collection permissions graph |
| Update collection permissions for groups |
| List all group memberships |
| Add a user to a permission group |
| Update membership (e.g., set group manager) |
| Remove a user from a permission group |
| Remove all users from a permission group |
| Get data permissions for a specific database |
| Get permissions for a specific group |
Notification Tools (7)
Tool | Description |
| List all notifications |
| Get a notification by ID |
| Send a notification immediately |
| Send an ad-hoc notification |
| Unsubscribe from a notification |
| Unsubscribe globally via email/hash |
| Undo a notification unsubscription |
Action Tools (10)
Tool | Description |
| List all model actions |
| Get an action by ID |
| Create a new model action |
| Update an existing action |
| Delete an action |
| Get the execution form fields for an action |
| Execute a model action with parameters |
| Create a public link for an action |
| Delete the public link for an action |
| List all actions with public links |
Setting Tools (4)
Tool | Description |
| List all Metabase settings |
| Get a single setting by key |
| Update a single setting |
| Update multiple settings at once |
Email Tools (3)
Tool | Description |
| Configure SMTP email settings |
| Clear SMTP email configuration |
| Send a test email |
Revision Tools (3)
Tool | Description |
| List revisions for an entity |
| Revert an entity to a previous revision |
| Get revision history for a specific entity by type and ID in Metabase |
API Key Tools (6)
Tool | Description |
| List all API keys |
| Get the count of API keys |
| Create a new API key |
| Update an API key |
| Delete an API key |
| Regenerate an API key |
Cache Tools (4)
Tool | Description |
| Get query caching configuration |
| Update cache configuration |
| Remove cache configuration |
| Invalidate cached query results |
Task Tools (7)
Tool | Description |
| List scheduled tasks |
| Get a task by ID |
| Get task scheduler info |
| List recent task runs |
| Get a task run by ID |
| List all unique task types |
| Get entity types tracked by task runs in Metabase |
Activity Tools (5)
Tool | Description |
| List recently viewed items |
| List recent activity |
| List popular items |
| Get the most recently viewed dashboard |
| Add an item to recent activity in Metabase |
Login History Tools (1)
Tool | Description |
| Get login history for the current user |
Persist Tools (11)
Tool | Description |
| List all persisted models |
| Get a persisted model by ID |
| Get persistence info for a card |
| Enable persistence for a model |
| Disable persistence for a model |
| Refresh a persisted model |
| Enable model persistence globally |
| Disable model persistence globally |
| Set the persistence refresh schedule |
| Enable persistence for all database models |
| Unpersist all persisted models for a database in Metabase |
Channel Tools (5)
Tool | Description |
| List all notification channels |
| Get a channel by ID |
| Create a notification channel |
| Update a notification channel |
| Test a notification channel |
Model Index Tools (4)
Tool | Description |
| List all model indexes |
| Get a model index by ID |
| Create a model index |
| Delete a model index |
Timeline Tools (7)
Tool | Description |
| List all timelines |
| Get a timeline by ID |
| Create a timeline |
| Update a timeline |
| Delete a timeline |
| Get timelines in the root collection |
| Get timelines in a collection |
Timeline Event Tools (4)
Tool | Description |
| Create a timeline event |
| Get a timeline event by ID |
| Update a timeline event |
| Delete a timeline event |
Segment Tools (7)
Tool | Description |
| Get list of all segments |
| Get a segment by ID |
| Create a new segment |
| Update an existing segment |
| Delete a segment |
| Get revision history of a segment |
| Get related items for a segment in Metabase |
Snippet Tools (5)
Tool | Description |
| Get list of native query snippets |
| Get a native query snippet by ID |
| Create a new native query snippet |
| Update a native query snippet |
| Archive a native query snippet |
Bookmark Tools (4)
Tool | Description |
| List all bookmarks for the current user |
| Create a bookmark |
| Delete a bookmark |
| Reorder bookmarks |
GeoJSON Tools (2)
Tool | Description |
| List all custom GeoJSON files |
| Get a GeoJSON file by key |
Upload Tools (1)
Tool | Description |
| Upload a CSV file to create a new table |
Slack Tools (4) [Requires Metabase Pro]
Tool | Description |
| Update Slack integration settings |
| Get Slack app manifest |
| Send a bug report via Slack |
| Get information about the configured Slack app in Metabase |
Google Tools (1)
Tool | Description |
| Update Google SSO settings |
LDAP Tools (1)
Tool | Description |
| Update LDAP authentication settings |
Embed Tools (20)
Tool | Description |
| Get an embedded card by JWT token from Metabase |
| Get query results for an embedded card by JWT token from Metabase |
| Get query results for an embedded card in a specific export format from Metabase |
| Get an embedded dashboard by JWT token from Metabase |
| Get query results for a dashcard in an embedded dashboard from Metabase |
| Get values for a parameter in an embedded dashboard from Metabase |
| Search parameter values for a parameter in an embedded dashboard from Metabase |
| Get values for a parameter of an embedded card in Metabase |
| Search values for a parameter of an embedded card in Metabase |
| Export results of an embedded card query in Metabase |
| Get values for a parameter of an embedded dashboard in Metabase |
| Search values for a parameter of an embedded dashboard in Metabase |
| Run a pivot query for an embedded card in Metabase |
| Get remapping for a parameter of an embedded card in Metabase |
| Get remapping for a parameter of an embedded dashboard in Metabase |
| Run a query for an embedded dashcard in Metabase |
| Export results of an embedded dashcard query in Metabase |
| Run a pivot query for an embedded dashboard dashcard in Metabase |
| Get a map tile for an embedded card in Metabase |
| Get a map tile for an embedded dashboard dashcard in Metabase |
Public Tools (28)
Tool | Description |
| Get a publicly shared card by UUID from Metabase |
| Get query results for a publicly shared card by UUID from Metabase |
| Get query results for a publicly shared card in a specific export format from Metabase |
| Get a publicly shared dashboard by UUID from Metabase |
| Get values for a parameter in a publicly shared dashboard from Metabase |
| Search parameter values for a parameter in a publicly shared dashboard from Metabase |
| Get values for a parameter of a public card in Metabase |
| Search values for a parameter of a public card in Metabase |
| Get remapping for a parameter of a public card in Metabase |
| Get values for a parameter of a public dashboard in Metabase |
| Search values for a parameter of a public dashboard in Metabase |
| Get remapping for a parameter of a public dashboard in Metabase |
| Execute a public action in Metabase |
| Execute an action on a public dashcard in Metabase |
| Run a pivot query for a public card in Metabase |
| Get oEmbed metadata for a public Metabase resource |
| Get details of a public action in Metabase |
| Export results of a public card query in Metabase |
| Get query results for a public dashcard in Metabase |
| Export results of a public dashcard query in Metabase |
| Run a pivot query for a public dashboard dashcard in Metabase |
| Get a map tile for a public card in Metabase |
| Get a map tile for a public dashboard dashcard in Metabase |
| Get a publicly shared document by UUID from Metabase |
| Get a card from a publicly shared document by UUID in Metabase |
| Export a card from a publicly shared document in Metabase |
| Export results of a public dashboard card query in a specific format in Metabase |
| Fetch the values for executing an action on a public dashcard in Metabase |
Preview Embed Tools (14)
Tool | Description |
| Preview an embedded card by token from Metabase (admin only) |
| Preview query results for an embedded card by token from Metabase (admin only) |
| Preview an embedded dashboard by token from Metabase (admin only) |
| Preview values for a parameter in an embedded dashboard from Metabase (admin only) |
| Get values for a parameter of a preview embedded card in Metabase |
| Get values for a parameter of a preview embedded dashboard in Metabase |
| Search values for a parameter of a preview embedded dashboard in Metabase |
| Run a pivot query for a preview embedded card in Metabase |
| Get remapping for a parameter of a preview embedded card in Metabase |
| Get remapping for a parameter of a preview embedded dashboard in Metabase |
| Run a query for a preview embedded dashcard in Metabase |
| Run a pivot query for a preview embedded dashboard dashcard in Metabase |
| Get a map tile for a preview embedded card in Metabase |
| Get a map tile for a preview embedded dashboard dashcard in Metabase |
Automagic Dashboard Tools (11)
Tool | Description |
| Get an x-ray automagic dashboard for any entity in Metabase |
| Get X-ray dashboard candidates for a database in Metabase |
| Get an x-ray automagic dashboard for a specific cell of an entity in Metabase |
| Get a comparison x-ray automagic dashboard for a specific cell of an entity in Metabase |
| Get an x-ray automagic dashboard for a specific cell of an entity with a rule applied in Metabase |
| Get a comparison x-ray automagic dashboard for a specific cell of an entity with a rule applied in Metabase |
| Get a comparison x-ray automagic dashboard for an entity in Metabase |
| Get query metadata for an x-ray automagic dashboard entity in Metabase |
| Get an x-ray automagic dashboard for an entity with a rule applied in Metabase |
| Get a comparison x-ray automagic dashboard for an entity with a rule applied in Metabase |
| Get an x-ray automagic dashboard for a model index by primary key in Metabase |
Comment Tools (6)
Tool | Description |
| List comments on a model |
| Create a comment |
| Update a comment |
| Delete a comment |
| Add an emoji reaction to a comment |
| Get comment mentions for the current user in Metabase |
Glossary Tools (4)
Tool | Description |
| List all glossary entries |
| Create a glossary entry |
| Update a glossary entry |
| Delete a glossary entry |
LLM Tools (3) [Requires Metabase Pro]
Tool | Description |
| Generate SQL from a natural language question |
| Extract table references from SQL |
| List available LLM models |
Premium Features Tools (2) [Requires Metabase Pro]
Tool | Description |
| Get the status of the premium license token |
| Refresh the premium license token |
Cloud Migration Tools (3)
Tool | Description |
| Start a cloud migration |
| Get the current cloud migration status |
| Cancel an in-progress cloud migration |
Tiles Tools (5)
Tool | Description |
| Get a map tile for a card with lat/lon fields |
| Get a map tile for a table |
| Get a map tile for a card in Metabase |
| Get a map tile for a dashboard card in Metabase |
| Get a basic map tile by zoom level and coordinates in Metabase |
User Key-Value Tools (4)
Tool | Description |
| Get a per-user key-value setting |
| Set a per-user key-value setting |
| Delete a per-user key-value setting |
| List all key-value pairs in a namespace |
Bug Reporting Tools (2)
Tool | Description |
| Get diagnostic details for bug reports |
| Get database connection pool details |
Logger Tools (4)
Tool | Description |
| Get server logs with optional filters |
| Temporarily adjust a logger's level |
| Remove a log level adjustment |
| List log level presets |
Moderation Review Tools (1)
Tool | Description |
| Submit a moderation review for content |
Setup Tools (1)
Tool | Description |
| Get the admin setup checklist |
EID Translation Tools (1)
Tool | Description |
| Translate entity IDs to their internal equivalents |
Alert Tools (3)
Tool | Description |
| List all alerts in Metabase |
| Get details of a specific alert in Metabase |
| Delete subscription to an alert in Metabase |
Analytics Tools (1)
Tool | Description |
| Retrieve anonymous usage statistics from Metabase |
Cards Bulk Tools (2)
Tool | Description |
| Get dashboards that contain the specified cards in Metabase |
| Move multiple cards to a collection in Metabase |
Document Tools (10)
Tool | Description |
| List all documents in Metabase |
| Get a document by ID in Metabase |
| Create a new document in Metabase |
| Update a document by ID in Metabase |
| Delete a document by ID in Metabase |
| Copy a document by ID in Metabase |
| Create a public link for a document in Metabase |
| Delete the public link for a document in Metabase |
| Export a card query result from a document in Metabase |
| List all documents with public links in Metabase |
Measure Tools (7)
Tool | Description |
| List all measures in Metabase |
| Get a measure by ID in Metabase |
| Create a new measure in Metabase |
| Update a measure by ID in Metabase |
| Fetch values for a dimension of a measure in Metabase |
| Search values for a dimension of a measure in Metabase |
| Fetch the remapping for a dimension value of a measure in Metabase |
Metric Tools (7)
Tool | Description |
| List metrics readable by the current user in Metabase |
| Get a specific metric by ID in Metabase |
| Fetch values for a dimension of a metric in Metabase |
| Search values for a dimension of a metric in Metabase |
| Fetch the remapping for a dimension value of a metric in Metabase |
| Compute breakout values for a metric definition in Metabase |
| Run a metric definition as a dataset query in Metabase |
Notify Tools (3)
Tool | Description |
| Notify Metabase that a database has changed and trigger a sync by database ID |
| Notify Metabase that a database has changed and trigger a sync by engine and database name |
| Notify Metabase of a new table in a database |
Product Feedback Tools (1)
Tool | Description |
| Submit product feedback to Metabase |
Pulse Tools (9)
Tool | Description |
| List all pulses in Metabase |
| Get details of a specific pulse in Metabase |
| Create a new pulse in Metabase |
| Update a pulse in Metabase |
| Test a pulse by sending it immediately in Metabase |
| Get form input options for creating a pulse in Metabase |
| Unsubscribe from a pulse in Metabase |
| Unsubscribe from pulse email notifications in Metabase |
| Undo an email unsubscribe from a pulse in Metabase |
Util Tools (1)
Tool | Description |
| Generate a random token in Metabase |
Requirements
Node.js 22+
Metabase instance with API access (v0.49+)
License
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- 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/takeokunn/metabase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server