Read these mandatory configuration steps for using the Metabase MCP server before querying data, dashboards, questions, and related resources.
Location: The MCP configuration file is ../../mcp.json relative to this SKILL.md file — two directories up, in the same folder that contains the skills/ directory. Always resolve this path relative to this SKILL.md file, never relative to the user's open project.
Important Requirement: The url field in that file may contain {METABASE_INSTANCE_PLACEHOLDER} as the base URL (e.g. "{METABASE_INSTANCE_PLACEHOLDER}/api/mcp"). If so, it must be replaced with the user's actual Metabase instance URL before the MCP can work.
Valid Instance URL Formats
- Local development:
http://localhost:3000 - Metabase Cloud:
https://yourcompany.metabaseapp.com - Self-hosted:
https://metabase.yourcompany.com
Required Actions
Read
../../mcp.jsonrelative to this SKILL.md file.Check whether the
urlfield contains{METABASE_INSTANCE_PLACEHOLDER}.- If it does NOT contain
{METABASE_INSTANCE_PLACEHOLDER}: the MCP is already configured. Immediately proceed with using the Metabase MCP. Do not ask the user for a URL under any circumstances. - If it does contain
{METABASE_INSTANCE_PLACEHOLDER}: continue with the steps below.
- If it does NOT contain
Stop all other exploration immediately and ask the user for their Metabase instance URL. Do not search for tool schemas, read other files, or do anything else first.
Never mention
{METABASE_INSTANCE_PLACEHOLDER}or any placeholder to the user. Simply say the MCP needs their Metabase URL to connect.Ask the user: "Do you have a Metabase instance URL, or would you like to set up a local instance?"
- If they provide a URL: Continue with step 4.
- If they don't have one and want to set up a local instance: Invoke the
setup-metabase-instanceskill. Once the local instance is running, return here and usehttp://localhost:3000(or whatever port was chosen) as the instance URL.
Once the user provides the URL, run exactly this command and no other — do not try alternative endpoints or approaches:
curl -s <INSTANCE_URL>/api/session/properties | grep -o '"tag":"[^"]*"'This returns something like
"tag":"v1.60.0". Extract the major version number (e.g.60fromv1.60.0). If it is below 60, tell the user they need to upgrade and stop — do not updatemcp.json.Replace the placeholder in
../../mcp.jsonrelative to this SKILL.md with the user's instance URL. Strip any trailing slash before saving — do not mention this to the user.Only after updating the file, tell the user they need to reload the window.
Use the user's current OS to show the right shortcut: open the Command Palette (⌘⇧P on Mac or Ctrl+Shift+P on Windows/Linux) and run "Reload Window". Ask them to confirm once reloaded before continuing.
Once the user confirms the window has been reloaded, call the
mcp_authtool for the Metabase MCP server to authenticate. This will prompt the user to log in to their Metabase instance.Proceed with using the Metabase MCP
Important: Do not attempt to access MCP tools or schemas until the authentication is complete. Never reveal {METABASE_INSTANCE_PLACEHOLDER} or any internal placeholder names to the user.