{"_id":"@bossforce.ai/mcp-metabase","name":"@bossforce.ai/mcp-metabase","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@bossforce.ai/mcp-metabase","version":"0.1.0","type":"module","repository":{"type":"git","url":"git+https://github.com/bossforce-ai/bossforce-tools.git","directory":"mcps/bi-dashboards/metabase"},"publishConfig":{"access":"public"},"bin":{"bossforce-mcp-metabase":"dist/bin.js"},"dependencies":{"zod":"^4.4.3","@bossforce.ai/mcp-core":"0.3.0"},"devDependencies":{"@bossforce.ai/mcp-testkit":"0.0.0"},"scripts":{"build":"tsc -p tsconfig.json","test":"node --test \"dist/*.test.js\""},"_id":"@bossforce.ai/mcp-metabase@0.1.0","description":"MCP server for the [Metabase](https://www.metabase.com/) **REST API**, using API key authentication. A good fit for listing databases and saved questions, running a saved question, or running ad-hoc native SQL from an agent.","bugs":{"url":"https://github.com/bossforce-ai/bossforce-tools/issues"},"homepage":"https://github.com/bossforce-ai/bossforce-tools#readme","_integrity":"sha512-wlGFDOAgtrozuTKAA0lz6JdrqzqvutPSTNu6LsJLSMxdPxxXs5YhPJerfGH6FSRp58p1iEBqmRzZHcUhwXwsmg==","_resolved":"C:\\Users\\user\\AppData\\Local\\Temp\\783cfb6ab4087f2b8f604a77c54e4e57\\bossforce.ai-mcp-metabase-0.1.0.tgz","_from":"file:bossforce.ai-mcp-metabase-0.1.0.tgz","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-wlGFDOAgtrozuTKAA0lz6JdrqzqvutPSTNu6LsJLSMxdPxxXs5YhPJerfGH6FSRp58p1iEBqmRzZHcUhwXwsmg==","shasum":"65e2cff8668ba558070fc3e92120cff8633e6805","tarball":"https://registry.npmjs.org/@bossforce.ai/mcp-metabase/-/mcp-metabase-0.1.0.tgz","fileCount":26,"unpackedSize":23007,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDj5Mr4YYBHHIQo6y0NRC46RVWuaJLdYzgh6CF8/EoUDgIgW2OJb88lO9QUCZGekztVch/hzDE+wnifc1CMGxGAX9Q="}]},"_npmUser":{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"},"directories":{},"maintainers":[{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-metabase_0.1.0_1781069231753_0.4651520611610591"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-10T05:27:11.558Z","0.1.0":"2026-06-10T05:27:11.898Z","modified":"2026-06-10T05:27:12.123Z"},"maintainers":[{"name":"bossforce.ai","email":"bossforce.ai@gmail.com"}],"description":"MCP server for the [Metabase](https://www.metabase.com/) **REST API**, using API key authentication. A good fit for listing databases and saved questions, running a saved question, or running ad-hoc native SQL from an agent.","homepage":"https://github.com/bossforce-ai/bossforce-tools#readme","repository":{"type":"git","url":"git+https://github.com/bossforce-ai/bossforce-tools.git","directory":"mcps/bi-dashboards/metabase"},"bugs":{"url":"https://github.com/bossforce-ai/bossforce-tools/issues"},"readme":"# @bossforce.ai/mcp-metabase\n\nMCP server for the [Metabase](https://www.metabase.com/) **REST API**, using API\nkey authentication. A good fit for listing databases and saved questions,\nrunning a saved question, or running ad-hoc native SQL from an agent.\n\n## Credentials\n\n| Env                | Secret | How to obtain                                                                                                                   |\n| ------------------ | ------ | ------------------------------------------------------------------------------------------------------------------------------- |\n| `METABASE_URL`     | no     | Base URL of your Metabase instance, e.g. `https://metabase.acme.com` (no trailing `/api`).                                      |\n| `METABASE_API_KEY` | yes    | In Admin settings > Authentication > [API keys](https://www.metabase.com/docs/latest/people-and-groups/api-keys), create a key. |\n\nCredentials are read lazily, so the server boots and answers `tools/list`\nwithout them; calls fail with an `auth` error until they are set. The key\ninherits the data permissions of the group it belongs to, so running questions\nand native queries require that group to have access to the relevant databases.\n\nAuthentication sends the key in the `x-api-key` header (available in Metabase\nv0.47+). The API base URL is built from `METABASE_URL` as `{METABASE_URL}/api`.\n\n## Tools\n\n| Tool               | Arguments                                            | Returns                            |\n| ------------------ | ---------------------------------------------------- | ---------------------------------- |\n| `list_databases`   | —                                                    | List of connected databases        |\n| `list_cards`       | `f?`, `model_id?`                                    | List of saved questions (cards)    |\n| `run_card_query`   | `card_id`, `parameters?`                             | Result rows for the saved question |\n| `run_native_query` | `database`, `query`, `template_tags?`, `parameters?` | Query result (rows, columns)       |\n\nResponses are Metabase's native JSON payloads, returned as `structuredContent`.\n\n### Discovering ids\n\n`list_databases` returns the numeric `database` ids used by `run_native_query`.\n`list_cards` returns the numeric `card_id` ids used by `run_card_query`; filter\nthe set with `f` (defaults to `all`).\n\n### Running queries\n\n`run_card_query` runs a saved question by id and returns its rows as JSON\n(`POST /api/card/{card_id}/query/json`); pass `parameters` to fill in the card's\nparameters. `run_native_query` runs ad-hoc SQL via `POST /api/dataset` with a\n`{ database, type: \"native\", native: { query } }` body; use `template_tags` and\n`parameters` for parameterized SQL.\n\n## Develop\n\n```bash\npnpm --filter @bossforce.ai/mcp-metabase build\npnpm --filter @bossforce.ai/mcp-metabase test\n```\n\nRegenerate the tools/list snapshot after an intentional signature change:\n\n```bash\nUPDATE_SNAPSHOTS=1 pnpm --filter @bossforce.ai/mcp-metabase test\n```\n","readmeFilename":"README.md","_rev":"1-3335acc55e1780941687dec33058ff55"}