@bezerocarbon/metabase-mcp-server
v1.2.8
Published
A Model Context Protocol server to interact with Metabase. Forked from @getnao/metabase-mcp-server.
Downloads
488
Maintainers
Readme
Metabase MCP Server
A Model Context Protocol server to interact with Metabase. It lets AI assistants query, create, and manage your Metabase instance — questions, dashboards, databases, collections, and more.
Fork notice. This package is a fork of
@getnao/metabase-mcp-server, originally designed by nao. It is maintained independently as@bezerocarbon/metabase-mcp-serverto land fixes and additions specific to our use of Metabase. All credit for the original design and implementation goes to Nao Labs; see LICENSE for the upstream copyright.
Features
- Cards (Questions): List, get, create, update, and execute saved questions — including metric and model card types with full visualization settings
- Native Queries: Run raw SQL or MBQL queries directly, and export results as CSV, JSON, or XLSX
- Dashboards: List, get, create, and update dashboards with configurable dashcard layouts
- Databases: List connected databases, explore schemas, and fetch table/field metadata
- Collections: Browse collections and their contents (questions, dashboards)
- Search: Full-text search across questions, dashboards, collections, and tables
- Users: Get current user info and list all users (admin)
- Activity: Retrieve recent activity feed and recently viewed items
How to Install
Claude Desktop (one-click)
The easiest path for non-technical users. Download the latest metabase-mcp-server.mcpb
from the Releases page,
then in Claude Desktop go to Settings → Extensions → Install Extension… and pick
the file. Claude Desktop will prompt for your Metabase URL and API key on install.
Requires Claude Desktop 0.10 or newer. No separate Node install needed — the bundle ships its own runtime dependencies.
MCP client config (Claude Code, Cursor, custom MCP hosts)
Add the server to your MCP client configuration:
{
"mcpServers": {
"metabase": {
"command": "npx",
"args": ["-y", "@bezerocarbon/metabase-mcp-server@latest"],
"env": {
"METABASE_URL": "<YOUR_METABASE_URL>",
"METABASE_API_KEY": "<YOUR_METABASE_API_KEY>"
}
}
}
}Configuration
| Variable | Description |
| ------------------ | ------------------------------------------------------------------------ |
| METABASE_URL | Base URL of your Metabase instance (e.g. https://metabase.example.com) |
| METABASE_API_KEY | Your Metabase API key |
Output format
By default the server returns JSON output. Add --md to args to switch to Markdown (tables and bullet points):
"args": ["-y", "@bezerocarbon/metabase-mcp-server@latest", "--md"]Available Tools
Cards (Questions)
| Tool | Description |
| --------------------------- | ------------------------------------------- |
| metabase-list-questions | List all saved questions/cards |
| metabase-get-question | Get details of a specific question by ID |
| metabase-execute-question | Execute a saved question and return results |
| metabase-create-question | Create a new question/card |
| metabase-update-question | Update an existing question/card |
Native Queries
| Tool | Description |
| ------------------------------- | ---------------------------------------------------- |
| metabase-execute-native-query | Execute a native SQL or MBQL query |
| metabase-export-query-results | Execute a query and export results (csv, json, xlsx) |
Dashboards
| Tool | Description |
| --------------------------- | ----------------------------------------- |
| metabase-list-dashboards | List all dashboards |
| metabase-get-dashboard | Get a dashboard and its cards |
| metabase-create-dashboard | Create a new dashboard |
| metabase-update-dashboard | Update a dashboard's details or dashcards |
Databases
| Tool | Description |
| -------------------------------- | ------------------------------------ |
| metabase-list-databases | List all connected databases |
| metabase-get-database-metadata | Get tables and fields for a database |
| metabase-get-database-schemas | Get available schemas for a database |
Tables & Fields
| Tool | Description |
| -------------------------------- | ------------------------------------------- |
| metabase-get-table-metadata | Get metadata for a specific table |
| metabase-update-table-metadata | Update metadata for a specific table |
| metabase-update-field-metadata | Update metadata for a specific field/column |
Collections
| Tool | Description |
| ------------------------------- | ----------------------------- |
| metabase-list-collections | List all collections |
| metabase-get-collection-items | Get all items in a collection |
Search
| Tool | Description |
| -------------------------- | ------------------------------------------------------------ |
| metabase-search-metabase | Search across questions, dashboards, collections, and tables |
Activity
| Tool | Description |
| ------------------------------ | ---------------------------------------------- |
| metabase-get-recent-activity | Get the recent activity feed |
| metabase-get-recent-views | Get recently viewed items for the current user |
Users
| Tool | Description |
| --------------------------- | ------------------------------------- |
| metabase-get-current-user | Get info about the authenticated user |
| metabase-list-users | List all users (requires admin) |
Credits
This project is a fork of @getnao/metabase-mcp-server by Nao Labs. The original design, MCP tool surface, and the bulk of the implementation are theirs — thank you. See the upstream repository for the canonical version and broader MCP server collection.
License
ISC. Copyright (c) Nao Labs (original work) and BeZero Carbon (fork modifications).
