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) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/schachan/metabase-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server