Metabase MCP Plus
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Host for SSE/HTTP transport (default: 0.0.0.0) | 0.0.0.0 |
| PORT | No | Port for SSE/HTTP transport (default: 8000) | 8000 |
| METABASE_URL | Yes | The URL of your Metabase instance (e.g., https://your-metabase-instance.com) | |
| METABASE_API_KEY | No | Your Metabase API key (alternative to email/password) | |
| METABASE_PASSWORD | No | Your Metabase password (for email/password authentication) | |
| METABASE_USER_EMAIL | No | Your Metabase user email (for email/password authentication) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_cardsB | List all saved questions/cards in Metabase. Returns: Dictionary containing all cards with their metadata. |
| get_cardA | Get detailed information about a specific card/question. Args: card_id: The ID of the card to retrieve. Returns: Dictionary with full card metadata including query, visualization settings, and collection info. |
| execute_cardB | Execute a saved Metabase question/card and retrieve results. Args: card_id: The ID of the card to execute. parameters: Optional parameters for the card execution. Returns: Card execution results. |
| create_cardB | Create a new question/card in Metabase. Args: name: Name of the card. database_id: ID of the database to query. query: SQL query for the card. description: Optional description. collection_id: Optional collection to place the card in. visualization_settings: Optional visualization configuration. Returns: The created card object. |
| update_cardA | Update an existing card/question in Metabase. Args: card_id: The ID of the card to update. name: New name for the card. description: New description. query: New SQL query (requires database_id). database_id: Database ID for the query. collection_id: Move card to this collection. visualization_settings: New visualization configuration. Returns: The updated card object. |
| archive_cardA | Archive a card/question in Metabase (soft delete). This sets the card's archived status to true, which hides it from normal views but preserves the data. Safer than permanent deletion. Args: card_id: The ID of the card to archive. Returns: The updated card object with archived status. |
| list_collectionsA | List all collections in Metabase. Returns: Dictionary containing all collections with their metadata. |
| get_collection_itemsA | List items inside a specific collection. Args: collection_id: The ID of the collection to browse. models: Optional filter for item types (e.g., ["card", "dashboard", "collection"]). Returns: Dictionary containing the items in the collection. |
| create_collectionB | Create a new collection in Metabase. Args: name: Name of the collection. description: Optional description. color: Optional color for the collection. parent_id: Optional parent collection ID. Returns: The created collection object. |
| list_dashboardsA | List all dashboards in Metabase. Returns: A list of dashboard metadata dictionaries. |
| get_dashboardB | Get detailed information about a specific dashboard. Args: dashboard_id: The ID of the dashboard. Returns: Dictionary with full dashboard metadata including cards, parameters, and layout. |
| create_dashboardA | Create a new dashboard in Metabase. Args: name: Name of the dashboard. description: Optional description. collection_id: Optional collection to place the dashboard in. parameters: Optional dashboard filter parameters. Returns: The created dashboard object. |
| update_dashboardA | Update an existing dashboard in Metabase. Args: dashboard_id: The ID of the dashboard to update. name: New name for the dashboard. description: New description. collection_id: Move dashboard to this collection. parameters: New dashboard filter parameters. Returns: The updated dashboard object. |
| delete_dashboardC | Delete a dashboard from Metabase. Args: dashboard_id: The ID of the dashboard to delete. Returns: Confirmation of the deletion. |
| list_databasesA | List all databases configured in Metabase. Returns: A dictionary containing all available databases with their metadata. |
| list_tablesB | List all tables in a specific database. Args: database_id: The ID of the database to query. Returns: Formatted markdown table showing table details. |
| get_table_fieldsB | Get all fields/columns in a specific table. Args: table_id: The ID of the table. limit: Maximum number of fields to return (default: 20). Returns: Dictionary with field metadata, truncated if necessary. |
| get_databaseA | Get detailed information about a specific database. Args: database_id: The ID of the database. Returns: Dictionary with full database metadata including engine, features, and settings. |
| list_database_schemasA | List all schemas in a specific database. Args: database_id: The ID of the database. Returns: A list of schema names available in the database. |
| get_schema_tablesA | List all tables within a specific schema of a database. Args: database_id: The ID of the database. schema_name: The name of the schema. Returns: A list of table metadata dictionaries for the given schema. |
| execute_queryC | Execute a native SQL query against a Metabase database. Args: database_id: The ID of the database to query. query: The SQL query to execute. native_parameters: Optional parameters for the query. Returns: Query execution results. |
| searchA | Search across Metabase entities by keyword. Searches cards (questions), dashboards, collections, and tables for matching results. Args: query: The search keyword or phrase. models: Optional filter for entity types (e.g., ["card", "dashboard", "collection", "table"]). Returns: Dictionary containing search results with matched entities. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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/schachan/metabase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server