The ultimate Metabase CLI — SQL, natural language queries, and MCP server
The ultimate Metabase CLI — SQL queries, natural language queries, and MCP server in one tool.
pip install mbqueryFor MCP server support:
pip install mbquery[mcp]# Set up your first profile
mbquery config init
# Run SQL queries
mbquery query "SELECT COUNT(*) FROM users"
# Ask in natural language
mbquery ask "how many users signed up last week"
# Browse schema
mbquery schema tables
mbquery schema fields users
# Run saved questions
mbquery card list
mbquery card run 42
# Search
mbquery search "revenue"from mbquery.core.client import MetabaseClientmbquery query "SELECT * FROM users LIMIT 5" --format table
mbquery query "SELECT * FROM users LIMIT 5" --format csv
mbquery query "SELECT * FROM users LIMIT 5" --format json
mbquery query "SELECT * FROM users LIMIT 5" --format jsonl
mbquery query "SELECT * FROM users LIMIT 5" --format markdownmbquery config set-llm
mbquery ask "top 10 customers by revenue"
mbquery ask "how many orders last month" --show-sqlSupports: OpenAI, Google Gemini, Anthropic Claude, Ollama (local), any OpenAI-compatible API.
mbquery config add prod --url https://metabase.example.com --api-key mb_xxx
mbquery config add staging --url https://staging.metabase.com --api-key mb_yyy
mbquery config switch staging
mbquery config listmbquery serveAdd to Claude Desktop config:
{
"mcpServers": {
"mbquery": {
"command": "mbquery",
"args": ["serve"]
}
}
}mbquery config set-hints users "plan_type values are 'free', 'pro', 'enterprise'"
mbquery config set-hints orders "status values are 'pending', 'completed', 'refunded'"MBQUERY_URL=https://metabase.example.com
MBQUERY_API_KEY=mb_xxx
MBQUERY_DEFAULT_DB=2
MBQUERY_LLM_PROVIDER=openai
MBQUERY_LLM_API_KEY=sk-xxx
MBQUERY_LLM_MODEL=gpt-4o
MBQUERY_FORMAT=json
MBQUERY_REDACT_PII=falseMIT
shubhamattri/mbquery
April 7, 2026
April 13, 2026
Python