Open-source Metabase includes Metabot, an AI agent that answers natural language questions about your data and lets you open the query behind each chart it builds. It also includes an MCP server, so Claude, Cursor, ChatGPT, and other MCP clients can query your data through Metabase and its permissions. You can opt to run Metabot on your own AI provider, such as Anthropic, OpenAI, Amazon Bedrock, or Google Gemini Enterprise, and MCP clients bring their own model.
Metabot and the MCP server are part of every plan, including the free Open Source edition, since Metabase 60. Connecting your own AI provider doesn’t require a paid Metabase plan, and restricting Metabot to verified or curated content is part of the Pro and Enterprise plans. The steps below follow the current Metabase docs, for Metabase 64.
How Metabot answers a natural language question
To ask questions, open the chat with Cmd+E on Mac or Ctrl+E on Windows, or click the Metabot icon. When you ask for a chart, Metabot first looks for an existing question that answers it and points you there if it finds one. Otherwise, it builds a new question with the query builder. You can then drill through the chart, save it to a dashboard, or open the query builder or the SQL editor to check and change the query.
Metabot also does text to SQL. In the SQL editor, ask Metabot to write a query, and it generates the SQL without running it, so you can read the code first. Press Cmd+Shift+I (Ctrl+Shift+I on Windows) to generate or edit SQL inline, and click Have Metabot fix it when a query returns an error.
To start without a chart, open + New > AI exploration and ask a question. Metabot can only search for tables, metrics, questions, models, and dashboards, and it can still use segments and measures in the queries it builds. The docs recommend that you name the tables or fields you have in mind, and that you double-check results as you would with any generative AI.
Turn on Metabot with your own AI provider
- Go to Admin > AI.
- In Connect to an AI provider, click Add a provider.
- Pick a provider and fill in its credentials.
- Click Connect.
- In the Models card, pick the Default model, which Metabot, AI exploration, and SQL generation run on.
Supported providers include Anthropic, OpenAI, OpenRouter, Mistral, Z.AI, Moonshot AI, DeepSeek, Google Gemini Enterprise, Microsoft Azure, Amazon Bedrock, and vLLM. Supported AI providers lists the models and the credentials each one takes. Most providers take an API key. Amazon Bedrock takes an AWS access key pair, or the AWS default credentials chain on a self-hosted Metabase, and vLLM only needs a key if you started your server with one.
A self-hosted Metabase, including the open-source edition, needs its own AI provider connection. You can also set the credentials with environment variables, such as MB_LLM_ANTHROPIC_API_KEY for Anthropic. On Metabase Cloud, you can connect your own provider, use the Metabase AI service at $3.75 per million tokens after 1 million included tokens, or both.
With your own provider, Metabase sends your prompts, table and field names, and a sample of field values to that provider, and you track usage and cost in the provider’s dashboard. AI features reached the open-source edition in Metabase 60, released in April 2026.
Metrics, models, and the glossary: the semantic layer for AI answers
Metabot gives better answers when your Metabase describes your business. Metrics define the official way to calculate a number, such as revenue, so everyone uses one formula. Transforms turn raw tables into curated starting points with column descriptions. The glossary defines your terms, so if you define MRR as monthly recurring revenue, Metabot knows what “What’s our MRR for Q4?” means.
Add descriptions to your tables, fields, models, metrics, and dashboards, and check that each field has the right semantic type. Admins can also pick a collection for natural language querying, which limits what AI exploration searches. If dbt builds your tables, connect Metabase to the warehouse that holds them, and define the numbers people ask about as Metabase metrics.
Verified or curated content (Pro and Enterprise)
On Pro and Enterprise, admins can verify questions, models, metrics, and dashboards to mark them as accurate and up to date. Admins can then turn on Verified or curated content, so Metabot only uses content that’s verified, in an official collection, or published to the Library. The setting has separate toggles for your internal Metabase and for embedded Metabot. If someone changes the query of a verified item, Metabase removes the verification, so a changed metric goes back for review.
Permissions: Metabot sees what the person can see
Metabot inherits the permissions of the person who chats with it. It can only see the data and collections that person can see, so you control it with the data and collection permissions you already use. The MCP server works the same way: each person signs in through OAuth, and the client gets an access token scoped to that person’s Metabase permissions.
On Pro and Enterprise, admins can also turn AI features on or off for each group and cap tokens per user and per group. They can write system prompts and see AI usage analytics too.
Connect Claude, Cursor, Codex, or ChatGPT to the Metabase MCP server
An admin turns on the MCP server in Admin > AI > MCP with the MCP server toggle. AI features must be on for the instance, but you don’t need to connect an AI provider, because the MCP client brings its own model. The server lives at /api/metabase-mcp on your Metabase’s address, and each client opens a Metabase sign-in page the first time it connects:
https://metabase.example.com/api/metabase-mcp
Claude Code. Add the server, start claude, run /mcp, select the Metabase server, and choose Authenticate:
claude mcp add --transport http metabase https://metabase.example.com/api/metabase-mcp
Claude on the web and Claude Desktop. Open Claude’s connector directory at https://claude.ai/directory/connectors/metabase and enter your Metabase’s MCP URL. If Claude asks you to choose authentication options, keep Sign in now and Register automatically, and leave the request headers empty.
Cursor. Add the server to .cursor/mcp.json in your project, or to ~/.cursor/mcp.json for every project. Cursor supports OAuth for remote servers, so it takes you to the Metabase sign-in page:
{
"mcpServers": {
"metabase": {
"url": "https://metabase.example.com/api/metabase-mcp"
}
}
}
Codex. Add the server, then sign in with OAuth:
codex mcp add metabase --url https://metabase.example.com/api/metabase-mcp
codex mcp login metabase
ChatGPT. Go to ChatGPT’s plugins page, select the plus button, choose Add custom MCP server, enter the MCP URL, and complete the authentication step. Account and workspace policies decide who can add custom MCP servers.
To show inline charts, an admin turns on the client under Show inline charts in these MCP clients, which lists Claude, Cursor and VS Code, and ChatGPT. Clients that run outside the browser, like Claude Code, don’t need this setting. Admins can see which clients connected, and who approved them, in the Authorizations tab of Admin > AI > MCP.
MCP server tools lists every tool and the permission scope it needs. Read-only tools search and browse your content and data, and execute_query runs queries that Metabase’s query language can express. execute_sql runs raw SQL for people with native query permission on that database. Both return up to row_limit rows per call, 100 by default and at most 2,000, and execute_query takes a cursor to fetch the next page of a truncated result. Write tools create and change questions, dashboards, collections, metrics, measures, segments, documents, alerts, and subscriptions. Every tool runs as the signed-in person, and query results go to your MCP client, which may send them on to its AI provider.
If Metabase runs in Docker on your machine, set MB_SITE_URL to the address your client uses, such as http://localhost:3000, so the OAuth handshake works.
Ask Metabot in Slack
After an admin connects Slack and turns on natural language questions in Slack, people can message Metabot directly or @mention it in a channel. The Slack settings page lists the prerequisites: Slack connected to Metabase, Metabot set up, and encryption at rest turned on. Each person links their Slack account to their Metabase account the first time, so Metabot answers with that person’s permissions. In a public channel, everyone in that channel sees the answer.
Build natural language answers into your app with the Agent API
If you want a natural language feature inside your own product, use the Agent API. It’s a REST API for searching tables and metrics, inspecting their fields, and constructing and running queries. It’s versioned, and it powers the MCP server. Each request runs with the signed-in user’s permissions, or with the permissions of the key’s group when you authenticate with an API key. Admins turn it on in Admin > AI > MCP.
What each plan includes
Metabot, SQL generation, your own AI provider, the MCP server, and the Agent API are part of every plan, including the free Open Source edition. The Metabase AI service runs on Metabase Cloud, at $3.75 per million tokens on Starter and Pro, with Enterprise pricing through sales. Verified or curated content, per-group AI access controls, token limits, system prompts, and AI usage analytics are part of Pro and Enterprise.
| Feature | Open Source | Starter | Pro | Enterprise |
|---|---|---|---|---|
| Metabot and SQL generation | Yes, with your own provider | Yes | Yes | Yes |
| Your own AI provider | Yes | Yes | Yes | Yes |
| MCP server and Agent API | Yes | Yes | Yes | Yes |
| Metabase AI service | No | $3.75 per million tokens | $3.75 per million tokens | Talk to sales |
| Verified or curated content for Metabot | No | No | Yes | Yes |
| Per-group AI controls and token limits | No | No | Yes | Yes |