Metabase Analytics Integration Server

Remote
Scanned

API Integration

Integrate this MCP server into your applications.

Get your API Key

You'll need to login and generate a Smithery API key to connect to this server.

Installation

Install the official MCP SDKs using npm:

bash
npm install @modelcontextprotocol/sdk

TypeScript SDK

typescript

import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js"

const serverUrl = new URL("https://server.smithery.ai/@cheukyin175/metabase-mcp/mcp")
const config = {
  "metabaseUrl": "string",
  "metabaseApiKey": "string",
  "metabasePassword": "string",
  "metabaseUserEmail": "string"
}
const configString = JSON.stringify(config)
serverUrl.searchParams.set("config", btoa(configString))
serverUrl.searchParams.set("api_key", "your-smithery-api-key")

const transport = new StreamableHTTPClientTransport(serverUrl)

// Create MCP client
import { Client } from "@modelcontextprotocol/sdk/client/index.js"

const client = new Client({
	name: "Test client",
	version: "1.0.0"
})
await client.connect(transport)

// Use the server tools with your LLM application
const tools = await client.listTools()
console.log(`Available tools: ${tools.map(t => t.name).join(", ")}`)

Configuration Schema

Full JSON Schema for server configuration:

json
{
  "type": "object",
  "required": [
    "metabaseUrl"
  ],
  "properties": {
    "metabaseUrl": {
      "type": "string",
      "description": "URL of the Metabase instance (e.g. https://your-metabase-instance.com)"
    },
    "metabaseApiKey": {
      "type": "string",
      "description": "API Key for authenticating with Metabase (alternative to email/password)"
    },
    "metabasePassword": {
      "type": "string",
      "description": "Password for authenticating with Metabase (required if not using API key)"
    },
    "metabaseUserEmail": {
      "type": "string",
      "description": "Email address for authenticating with Metabase (required if not using API key)"
    }
  }
}