analytics
Metabase MCP Integration for Codex
Connect Metabase to Codex through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Metabase to Codex
Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy.
Register kosmo mcp:serve as a local stdio server and choose the integration allowlist. The gateway is local, scoped to this integration, and starts with
--write=deny so Codex can inspect read-capable tools without receiving write access by default.
Metabase MCP Config for Codex
Keep write access denied or ask-based unless the workspace is trusted.
{
"mcpServers": {
"kosmokrator-metabase": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=metabase",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=metabase --write=deny Why Use KosmoKrator Here
Expose only Metabase instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
Metabase Tools Visible to Codex
Codex sees stable MCP tool names generated from the Metabase integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__metabase__metabase_list_dashboards | metabase.metabase_list_dashboards | Read | List all dashboards available in Metabase. Returns dashboard IDs, names, and basic metadata. Use metabase_get_dashboard to retrieve the full dashboard with cards. |
integration__metabase__metabase_get_dashboard | metabase.metabase_get_dashboard | Read | Get a single Metabase dashboard by ID, including all cards (questions), layout, and parameters. Use metabase_list_dashboards to find dashboard IDs. |
integration__metabase__metabase_list_cards | metabase.metabase_list_cards | Read | List all cards (questions/saved questions) in Metabase. Returns card IDs, names, collection info, and display types. Use metabase_get_card for full definitions or metabase_query_card to run a card. |
integration__metabase__metabase_get_card | metabase.metabase_get_card | Read | Get the full definition of a Metabase card (question) by ID, including the query, display settings, and parameters. Use metabase_list_cards to find card IDs. |
integration__metabase__metabase_query_card | metabase.metabase_query_card | Read | Execute a saved Metabase card (question) and return the query results as rows. Use metabase_list_cards or metabase_get_card to find card IDs. The card must be a question (not a model or metric). |
integration__metabase__metabase_list_databases | metabase.metabase_list_databases | Read | List all databases connected to Metabase. Returns database IDs, names, engine types, and metadata. Use metabase_get_database to retrieve tables and fields for a specific database. |
integration__metabase__metabase_get_database | metabase.metabase_get_database | Read | Get detailed metadata for a Metabase database by ID, including its tables, fields, and schema information. Use metabase_list_databases to find database IDs. |
integration__metabase__metabase_get_current_user | metabase.metabase_get_current_user | Read | Get the currently authenticated Metabase user profile, including name, email, and group memberships. Useful for verifying which account the integration is using. |