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') |
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": 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
- 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/manish-coder-1007/metabase-mcp-navi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server