metabase-mcp-navi
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| METABASE_URL | Yes | Required. The URL of your Metabase instance, e.g., https://your-metabase-instance.com | |
| METABASE_API_KEY | No | Your Metabase API key (alternative to session ID or username/password) | |
| METABASE_TIMEOUT | No | Request timeout in seconds, e.g., '60' (optional, defaults to '60') | |
| METABASE_PASSWORD | No | Your Metabase password (requires METABASE_USER_EMAIL) | |
| METABASE_SESSION_ID | No | Your Metabase session ID obtained from cookies (alternative to API key or username/password) | |
| METABASE_USER_EMAIL | No | Your Metabase user email (requires METABASE_PASSWORD) | |
| METABASE_VERIFY_SSL | No | Disable SSL verification, e.g., 'false' (optional, defaults to 'true') |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_dashboardsA | List all dashboards accessible to the current user. Args: collection_id: Optional collection ID to filter by limit: Maximum number of dashboards to return (default 100) Returns: Markdown formatted list of dashboards |
| get_dashboardA | Get detailed information about a specific dashboard. Args: dashboard_id: The ID of the dashboard Returns: Dashboard details including all cards |
| get_dashboard_cardsA | Get all cards (questions) from a specific dashboard. Args: dashboard_id: The ID of the dashboard Returns: List of cards with their details |
| search_dashboardsC | Search for dashboards by name or description. Args: query: Search term limit: Maximum results to return (default 20) Returns: Matching dashboards |
| list_cardsA | List saved questions (cards) accessible to the current user. Args: collection_id: Optional collection ID to filter by database_id: Optional database ID to filter by limit: Maximum number of cards to return (default 100) Returns: Markdown formatted list of cards |
| get_cardB | Get detailed information about a specific card (saved question). Args: card_id: The ID of the card Returns: Card details including query information |
| execute_cardA | Execute a saved question (card) and return results. Args: card_id: The ID of the card to execute parameters: Optional JSON string of parameters (e.g., '{"param1": "value1"}') max_rows: Maximum rows to return (default 100) Returns: Query results in markdown table format |
| search_cardsA | Search for cards (saved questions) by name or description. Args: query: Search term limit: Maximum results to return (default 20) Returns: Matching cards |
| list_databasesA | List all databases connected to Metabase. Returns: Markdown formatted list of databases |
| get_databaseC | Get detailed information about a specific database. Args: database_id: The ID of the database Returns: Database details |
| list_tablesA | List all tables in a database. Args: database_id: The ID of the database schema: Optional schema name to filter by Returns: List of tables in the database |
| get_table_metadataB | Get detailed metadata about a specific table including columns. Args: database_id: The ID of the database table_id: The ID of the table Returns: Table metadata including columns |
| sync_databaseB | Trigger a sync of a database's metadata. Args: database_id: The ID of the database to sync Returns: Sync status |
| execute_queryC | Execute a native SQL query against a database. Args: database_id: The ID of the database to query query: SQL query to execute max_rows: Maximum rows to return (default 100) Returns: Query results in markdown table format |
| test_queryA | Test a SQL query with automatic LIMIT (for exploration). Automatically adds LIMIT to prevent large result sets. Args: database_id: The ID of the database to query query: SQL query to test limit: Maximum rows to return (default 10) Returns: Query results preview |
| get_query_suggestionsA | Get AI-suggested queries for a table based on its structure. Args: database_id: The ID of the database table_name: Name of the table Returns: Suggested SQL queries |
| explain_queryB | Get the query execution plan (EXPLAIN) for a SQL query. Args: database_id: The ID of the database query: SQL query to explain Returns: Query execution plan |
| get_card_imageA | Get a card/question as a PNG image (base64 encoded). Args: card_id: The ID of the card to export Returns: Base64 encoded image data or error message |
| download_card_imageC | Download a card/question image and save it to disk. Args: card_id: The ID of the card to download output_dir: Directory to save the image (default: mcp-servers/output) filename: Optional custom filename without extension Returns: Success message with file path or error message |
| get_dashboard_cards_as_imagesA | Get all card images from a dashboard. Returns information about which cards can be exported as images. Args: dashboard_id: The ID of the dashboard Returns: List of cards and their image export status |
| download_all_dashboard_cardsA | Download all exportable card images from a dashboard. Args: dashboard_id: The ID of the dashboard output_dir: Directory to save images (default: output/) Returns: Summary of downloaded images |
| create_collectionA | Create a new collection (folder) to organize dashboards and cards. Args: name: Name of the collection description: Optional description parent_id: Optional parent collection ID (for nested collections) Returns: Created collection details |
| create_cardA | Create a new card (saved question) with a native SQL query. Args: name: Name of the card/question database_id: ID of the database to query query: SQL query string display: Visualization type: table, line, bar, pie, scalar, row, area, combo, pivot, funnel, map description: Optional description collection_id: Optional collection ID to save the card in Returns: Created card details |
| create_dashboardA | Create a new empty dashboard. Args: name: Name of the dashboard description: Optional description collection_id: Optional collection ID to save the dashboard in Returns: Created dashboard details |
| add_card_to_dashboardB | Add an existing card to a dashboard. Args: dashboard_id: ID of the dashboard card_id: ID of the card to add row: Row position (default: 0) col: Column position (default: 0, max: 17) size_x: Width in grid units (default: 8, max: 18) size_y: Height in grid units (default: 6) Returns: Success message with dashcard details |
| remove_card_from_dashboardA | Remove a card from a dashboard. Args: dashboard_id: ID of the dashboard dashcard_id: ID of the dashcard (not the card ID - get this from dashboard info) Returns: Success message |
| update_cardB | Update an existing card's properties. Args: card_id: ID of the card to update name: New name (optional) description: New description (optional) query: New SQL query (optional) display: New visualization type (optional) collection_id: Move to different collection (optional) Returns: Updated card details |
| delete_cardB | Delete a card (saved question). WARNING: This action cannot be undone! Args: card_id: ID of the card to delete Returns: Confirmation message |
| delete_dashboardA | Delete a dashboard. WARNING: This action cannot be undone! Args: dashboard_id: ID of the dashboard to delete Returns: Confirmation message |
| delete_collectionA | Delete a collection (folder). WARNING: This may affect items inside the collection! Args: collection_id: ID of the collection to delete Returns: Confirmation message |
| test_connectionA | Test the connection to Metabase. Use this to verify connectivity and authentication. Returns: Connection status and user information |
| list_collectionsA | List all collections (folders) in Metabase. Args: parent_id: Optional parent collection ID to list children Returns: List of collections |
| get_collection_itemsA | Get items (dashboards, cards, collections) in a collection. Args: collection_id: The ID of the collection (use "root" for root collection) item_type: Type of items to return: "all", "dashboard", "card", "collection" Returns: Items in the collection |
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/manish-coder-1007/metabase-mcp-navi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server