Metabase MCP Server (sjcarrillo-bold/mcp-metabase-server) is an MCP server listed on the M8ven Trust Index. It scores 54 out of 100, grade D. It declares 95 tools. No publisher has claimed this listing.

D
Caution
54/100

Metabase MCP Server

Enables AI assistants to access and manage Metabase analytics through 96 tools for dashboards, cards, databases, tables, collections, and query execution.

Caution. Specific findings reduced this grade. They are listed on the page. Grades reflect the full trust pyramid: code, verification depth, and reputation. New projects cap at C until adoption is earned.

How we verified

Code Verified⚡ Live Monitored: not connected

Verified is a snapshot. Live keeps it current, and builds your track record.

⚡ Connect GitHub → continuous verification on every pushwhy connect →

Who stands behind it

sjcarrillo-bold

Source: Glama

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find. Or connect your repo for our deepest verification, Live Monitored: read-only, revoke anytime. What we access →

Install from

The grade above is for the source repository. Registries can serve a different version, so we mark the ones we were not able to read.

// key findings
⚠️
Known vulnerabilities in dependencies: 13 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
No credential exfiltration, no sensitive file access, no obfuscation
Static analysis found nothing flowing your secrets to unexpected places.
Open source with a license and README
Anyone can audit the code, the license is declared, and the publisher documents what it does.
🔐
You'll be asked for 3 credentials: METABASE_API_KEY, METABASE_PASSWORD, METABASE_SESSION_TOKEN
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// tools this server exposes95 tools

These names and descriptions are the publisher's own, read from the source code. We print them as written. Our assessment is the findings above, not this list.

list_cards

List all questions/cards in Metabase

get_card

Get a single Metabase question/card by ID with full details including the SQL query (dataset_query). Returns MBQL 5 by default.

create_card

Create a new Metabase question (card)

update_card

Update an existing Metabase question (card)

delete_card

Delete a Metabase question (card)

execute_card

Execute a Metabase question/card and get results

create_card_public_link

Create a public sharing link for a card/question. Returns the UUID for the public URL.

delete_card_public_link

Remove the public sharing link for a card/question

list_public_cards

List all cards that have public sharing links enabled

list_embeddable_cards

List all cards that are set up for embedding

export_card_result

Export a card's query results in the specified format (csv, json, xlsx)

copy_card

Duplicate an existing card/question

get_card_query_metadata

Get query metadata for a card including column types and display names

get_card_dashboards

List all dashboards that contain a specific card

move_cards

Move one or more cards to a different collection

move_cards_to_collection

Move all cards matching a filter to a specific collection

execute_pivot_card_query

Execute a card query and return results formatted as a pivot table

get_card_param_values

Get available values for a card parameter (for populating filter dropdowns)

search_card_param_values

Search and filter available values for a card parameter

get_card_param_remapping

Get how a card parameter's values are remapped for display (e.g. ID to name)

get_card_series

Get time series data or related card suggestions for a card

list_dashboards

List all dashboards in Metabase

create_dashboard

Create a new Metabase dashboard

update_dashboard

Update an existing Metabase dashboard

delete_dashboard

Delete a Metabase dashboard

get_dashboard_cards

Get all cards in a dashboard

add_card_to_dashboard

Add a card to a dashboard with positioning

remove_card_from_dashboard

Remove a card from a dashboard

update_dashboard_card

Update card position, size, and settings on a dashboard

create_dashboard_public_link

Create a public sharing link for a dashboard. Returns the UUID for the public URL.

delete_dashboard_public_link

Remove the public sharing link for a dashboard

list_public_dashboards

List all dashboards that have public sharing links enabled

list_embeddable_dashboards

List all dashboards that are set up for embedding

copy_dashboard

Duplicate a dashboard with all its cards

get_dashboard_revisions

Get revision history for a dashboard (audit trail)

revert_dashboard

Revert a dashboard to a previous revision

get_dashboard_related

Get related content suggestions for a dashboard

get_dashboard

Get a specific dashboard by ID with full details

search_dashboards

Search dashboards by name or description

execute_dashboard_card

Execute a specific card on a dashboard and return results

favorite_dashboard

Mark a dashboard as a favourite

unfavorite_dashboard

Remove a dashboard from favourites

add_text_block

Add a text or heading block to a dashboard

update_dashcard

Update a specific dashcard's position, size, or settings

update_dashboard_cards

Bulk-replace all cards on a dashboard. WARNING: replaces the entire card layout.

save_dashboard

Save a complete dashboard object including nested cards and settings

save_dashboard_to_collection

Move a dashboard into a specific collection

get_dashboard_queries

Extract all card queries from a dashboard with their resolved database IDs and SQL. Useful for auditing what data a dashboard queries.

list_databases

List all databases in Metabase

execute_query

Execute a SQL query against a Metabase database

get_database_schema

Get the schema information for a database

get_database_tables

Get all tables in a database

create_database_connection

Create a new database connection

test_database_connection

Test a database connection

sync_database_schema

Sync database schema metadata

get_database_sync_status

Get database schema sync status

check_database_health

Check the connection health of a database

validate_database

Validate a database connection before saving

list_database_schemas

List all schemas within a database

get_database_metadata

Get full metadata for a database including all tables and fields with their IDs. This is the authoritative source for field IDs needed in MBQL queries.

get_database

Get detailed information about a specific database connection

update_database

Update a database connection's configuration, credentials, or sync settings

delete_database

Permanently remove a database connection from Metabase

add_sample_database

Add the built-in Metabase sample database (H2) with demo data for testing

get_schema_cache
refresh_schema_cache
list_tables

List all tables across all databases in Metabase

get_table

Get metadata for a specific table by ID

get_table_metadata

Get full query metadata for a table including all fields with their IDs, types, and semantic types. Use this to get field IDs needed for MBQL queries.

get_table_fks

Get all foreign key relationships for a table

get_field_id

Look up the Metabase field ID for a column by table ID and column name. Essential for building MBQL queries.

update_table

Update table metadata (display name, description, visibility)

sync_table_schema

Trigger a schema sync for a specific table

rescan_table_field_values

Rescan field values for a table (updates filter dropdowns)

discard_table_field_values

Discard cached field values for a table

update_tables

Bulk-update multiple tables with the same configuration (e.g. hide all at once)

get_table_related

Find tables and entities related to this table through foreign key relationships

get_card_table_fks

Get foreign key relationships for a card's virtual table

get_card_table_query_metadata

Get query metadata (fields, types) for a card's virtual table

get_table_data

Get a sample data preview from a table

append_csv_to_table

Append new rows to a table from CSV content (for Metabase-managed tables)

replace_table_csv

Replace all data in a table with new CSV content (for Metabase-managed tables)

reorder_table_fields

Change the display order of fields in a table

list_collections

List all collections in Metabase

create_collection

Create a new Metabase collection

get_collection

Get details of a specific collection

update_collection

Update a collection's name, description, color, or parent

delete_collection

Delete a collection and all its contents

get_collection_items

List items (cards, dashboards, sub-collections) inside a collection

list_users

List all users in Metabase

create_user

Create a new Metabase user

list_permission_groups

List all permission groups

create_permission_group

Create a new permission group

move_to_collection

Move a card or dashboard to a different collection

search_content

Search across all Metabase content

// known CVEs in dependencies13 high5 medium12 low

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

high@modelcontextprotocol/sdk@0.6.1GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

highaxios@1.8.2GHSA-35jp-ww65-95wh

axios Vulnerable to Full Man-in-the-Middle via Prototype Pollution Gadget in `config.proxy`

highaxios@1.8.2GHSA-3g43-6gmg-66jw

axios Vulnerable to Credential Theft and Response Hijacking via Prototype Pollution Gadget in Config Merge

highaxios@1.8.2GHSA-43fc-jf86-j433

Axios is Vulnerable to Denial of Service via __proto__ Key in mergeConfig

highaxios@1.8.2GHSA-4hjh-wcwx-xvwj

Axios is vulnerable to DoS attack through lack of data size check

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// environment variables
To run this server yourself, you supply these values. They go in your own MCP client configuration and stay on your machine. The secret label means the value is sensitive, not that the server mishandles it.
🔐 secretMETABASE_API_KEYexport =your_metabase_api_key
configMETABASE_AUTH_METHODPrecedence when more than one credential is set: API key > session token > username/password. Pin a strategy explicitly with =api_keysession_tokenpassword.
configMETABASE_MCP_MAX_ROWS
🔐 secretMETABASE_PASSWORDyour_password
🔐 secretMETABASE_SESSION_TOKENyour_metabase_session_cookie_value
configMETABASE_URLexport =https://your-metabase-instance.com
configMETABASE_USERNAMEyour_username
configTOOL_MODE## Tool Filtering ()
// quality suggestions

Tool annotations

No tools have read-only/destructive annotations

Add readOnlyHint or destructiveHint annotations to every tool so hosts can warn users before invoking.

All four hints declared on every tool

95/95 tools missing one or more hints — list_cards (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_card (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint); create_card (missing: readOnlyHint, destructiveHint, idempotentHint, openWorldHint), +92 more. OpenAI's directory rejects tools where any of the four hints are missing or non-boolean.

For every tool, set all four hints (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to explicit true/false values that match the handler’s actual behaviour.

Tests exist

No test files found

Add tests that exercise each declared tool.

Production dependencies are patched

0 critical, 13 high severity in production deps — @modelcontextprotocol/sdk@0.6.1 (high), axios@1.8.2 (high)

Run npm audit fix, or upgrade the affected packages to a non-vulnerable version.

Dependency freshness

1/3 production deps stale: abort-controller@2023-07-12 (3.1y)

Claim the listing to review these findings one by one and send us a correction where you disagree, straight to the team. Claiming also means we tell you when the grade moves, and reach you first if we find anything urgent.

// full audit trail
The findings above are the summary. The full trail, every check we ran, each deduction, the network hosts observed and the dependency advisories, goes to verified publishers, along with an alert whenever a new one lands. Verified publishers can also review each finding and dispute it in one click. Publisher corrections have sharpened several of our checks this month, because the maintainer knows the codebase better than any scanner.
// improvement guidance — verified publishers only
We have 4 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Verified](https://m8ven.ai/badge/mcp/sjcarrillo-bold/mcp-metabase-server?variant=verified)](https://m8ven.ai/mcp/sjcarrillo-bold/mcp-metabase-server)
Shows verification status without the grade. Want the grade badge instead? Remove ?variant=verified from the URL.
commit: e63e35eef524e2e4bf1ea5c1a08777fed26982d7
code hash: dbc2788e4334bc750a0c06ba98fbf420f7e6ad1460325288f9513f5e1e7ecdb4
view raw JSON →
Check MCPs from inside your assistant
Tool Check · MCP

Vetting this one by hand? Tool Check is an MCP that scores other MCPs. Add it once and ask Claude, ChatGPT, or any MCP client to grade a server, surface CVEs, check the publisher, and suggest safer alternatives — before you install.

https://m8ven.ai/api/mcp/tool-check
check_toolsearch_toolscompare_toolsrecommend_alternativescheck_publisherreport_concern
How to add it →Free · no account needed · works in any MCP client