MCP server for Metabase that provides tools to interact with Metabase APIs for managing cards, dashboards, collections, databases, tables, and executing queries
Metabase-mcp has 12 tools with consistent naming (verb_noun pattern) and basic descriptions. All tools have input schemas with type definitions. However, descriptions are minimal (10-50 chars, well below the 194-char baseline), parameter descriptions lack context and constraints, output schemas are undocumented, and error handling provides no recovery guidance. No tool annotations (readOnlyHint/destructiveHint). The create_card tool accepts optional SQL/collection params but lacks validation rules or format guidance. Most tools are READ_ONLY but this is not formally declared in the tool definition. Composition is reasonable, tools chain via IDs, but responses lack pagination support and field documentation.
Create a new card (saved question) in Metabase
Execute a native SQL or MongoDB query
Get details of a specific card by ID
Get details of a specific dashboard by ID
List all cards (saved questions) in Metabase
List items in a specific collection
List all collections in Metabase
List all dashboards in Metabase
Descriptions are 10 - 50 characters, far below the 194-char baseline. LLMs cannot determine when to select tools or understand nuanced differences (e.g., run_card vs execute_query both execute queries but descriptions don't explain the distinction).
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., does list_cards return card_id, name, database_id?). Responses are inferred from code but not formally specified.
create_card and execute_query accept optional 'sql' and 'collection' parameters but lack validation rules, format guidance, or constraints. LLMs cannot determine valid SQL syntax or MongoDB pipeline format.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | 2026-07-28+ | v2 |
List all databases in Metabase
List tables in a database or all tables
Execute a card and return the query results
Search for cards, dashboards, and other items in Metabase
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). create_card is marked WRITE but the tool definition lacks destructiveHint. Agents cannot distinguish safe from risky operations.
No pagination support. list_* tools return unbounded results; large Metabase instances could return hundreds of items, exhausting context windows. No limit, offset, or cursor parameters.