MCP server for accessing Metabase dashboards and executing queries against a Metabase database
Single tool 'metabase-tool' has a minimal description (58 chars) and a schema with only one parameter. The description lacks WHAT the tool does, WHEN to use it, and what it returns, it merely states 'Metabase mcp can access dashboards, execute queries' without clarity on which operation is performed or output structure. The 'query' parameter has a description but no type validation, format constraints, or examples. No output schema is documented. Error handling is present in code (mcp.NewToolResultError) but error messages are generic and do not guide recovery. The tool accepts raw SQL queries without sanitization warnings, creating injection risk. No pagination, result limits, or structured response documentation.
Metabase mcp can access dashboards, execute queries
Tool description is too short (58 chars) and lacks critical context. Does not explain WHAT the tool does (execute a query?), WHEN to use it, or WHAT it returns. LLMs cannot determine when to select this tool vs. alternatives.
No output schema documented. The code returns a MetabaseResponse struct with rows, cols, metadata, but the tool definition does not declare this structure. LLMs cannot plan downstream operations or extract required fields.
Tool name 'metabase-tool' is generic and does not start with an action verb. Should be 'execute_query' or 'query_database' to clarify intent. Current name forces LLMs to read description to understand purpose.
Query parameter accepts raw SQL strings with no sanitization guidance or injection warnings. Code does not validate or escape input before sending to Metabase API. Prompt injection risk: LLM could be tricked into passing malicious SQL.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 29 | 2026-07-28+ | v2 |
No pagination, result limits, or structured response documentation. If a query returns thousands of rows, all are returned unfiltered, risking context window exhaustion. No guidance on max result size or how to handle large datasets.