analytics
Metabase MCP Integration for LangChain
Connect Metabase to LangChain through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect Metabase to LangChain
Bridge LangChain agents to local KosmoKrator integration tools through MCP or headless CLI calls.
Use the MCP gateway when the agent should discover tools, or wrap kosmo integrations:call for fixed chains. The gateway is local, scoped to this integration, and starts with
--write=deny so LangChain can inspect read-capable tools without receiving write access by default.
Metabase MCP Config for LangChain
Keep the gateway scoped to the integration and operation class needed by the chain.
{
"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 LangChain
LangChain 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. |