io.github.enessari/metabase-ai-assistant
NPM · METABASE-AI-ASSISTANT · SCANNED AUG 3
MCP Server for Metabase - 111 tools for SQL generation, dashboards & PostgreSQL
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security84
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (250 of 289), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (250 of 289), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (Apache-2.0).Pass
- Actively maintained (last published 172 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability0
- Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess.Unverified
Stability & Change Management0
- Stability not yet verified: our sandbox run of this package did not complete, so we have no schema to compare.Unverified
Tool Coverage0
- Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess.Unverified
Capabilities0
- Protocol version not yet verified: our sandbox run of this package did not complete, so we never saw its MCP handshake.Unverified
Unverified: 4 categories
Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you. How we score packages →
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · metabase-ai-assistant
claude mcp add enessari-metabase-ai-assistant -- npx -y metabase-ai-assistant
codex mcp add enessari-metabase-ai-assistant -- npx -y metabase-ai-assistant
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"enessari-metabase-ai-assistant": {
"type": "local",
"command": [
"npx",
"-y",
"metabase-ai-assistant"
],
"enabled": true
}
}
} openclaw mcp add enessari-metabase-ai-assistant --command npx --arg -y --arg metabase-ai-assistant
mcp_servers:
enessari-metabase-ai-assistant:
command: "npx"
args: ["-y", "metabase-ai-assistant"] {
"mcpServers": {
"enessari-metabase-ai-assistant": {
"command": "npx",
"args": [
"-y",
"metabase-ai-assistant"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +29
- Provenance: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Security disclosure: fail → unverified ▼ functional
- Dependency health: unverified → partial ▲ functional
- Maintenance: unverified → pass ▲ functional
- License: unverified → pass ▲ functional
- Schema quality: Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. functional
- Capabilities: Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet. functional
- Tool coverage: Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet. functional
- Licence: Apache-2.0 functional
- 31 Jul 26 −19
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 28 Jul 26 0
- Tool coverage: Tool coverage not yet verified: our sandbox run of this package did not complete, so we have no tool definitions to assess. functional
- Schema quality: Schema quality not yet verified: our sandbox run of this package did not complete, so we have no schema to assess. functional
- 27 Jul 26 24
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Dependencies 250 packages
250 packages in the resolved dependency tree · 244 deprecated · 81 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
activity_cleanup ~56
Clean up old activity logs to maintain performance and storage efficiency
| Name | Type | Req | Description |
|---|---|---|---|
| dry_run | boolean | — | Preview what would be deleted without actually deleting |
| retention_days | number | — | Keep logs newer than this many days (default: 90) |
No output schema declared.
No examples provided.
activity_database_usage ~39
Get database usage patterns and statistics showing which databases are most active
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | — | Number of days to analyze (default: 30) |
No output schema declared.
No examples provided.
activity_error_analysis ~38
Analyze error patterns and common failure points to identify improvement opportunities
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | — | Number of days to analyze (default: 7) |
No output schema declared.
No examples provided.
activity_log_init ~55
Initialize activity logging system for a database - creates log table and starts tracking operations
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to initialize logging for |
| schema | string | — | Schema name for log table (default: public) |
No output schema declared.
No examples provided.
activity_operation_stats ~36
Analyze operation statistics and patterns over specified time period
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | — | Number of days to analyze (default: 7) |
No output schema declared.
No examples provided.
activity_performance_insights ~38
Get performance insights showing slow operations and optimization opportunities
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | — | Number of days to analyze (default: 7) |
No output schema declared.
No examples provided.
activity_session_summary ~40
Get comprehensive summary of current or specified session activities and performance
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | — | Session ID to analyze (optional, defaults to current session) |
No output schema declared.
No examples provided.
activity_timeline ~55
Get chronological timeline of recent activities for debugging and monitoring
| Name | Type | Req | Description |
|---|---|---|---|
| days | number | — | Number of days to show (default: 7) |
| limit | number | — | Maximum number of activities to return (default: 100) |
No output schema declared.
No examples provided.
ai_relationships_suggest ~68
AI-powered virtual relationship discovery using naming patterns and data analysis - finds implicit connections between tables
| Name | Type | Req | Description |
|---|---|---|---|
| confidence_threshold | number | — | Minimum confidence level (0.0-1.0) |
| database_id | number | yes | Database ID |
| schema_name | string | yes | Schema name |
No output schema declared.
No examples provided.
ai_sql_explain ~40
Break down complex SQL queries into plain English - explains joins, aggregations, and business logic
| Name | Type | Req | Description |
|---|---|---|---|
| sql | string | yes | SQL query to explain |
No output schema declared.
No examples provided.
ai_sql_generate ~54
Convert natural language requests into SQL queries - understands business context and table relationships
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to generate query for |
| description | string | yes | Natural language description of what you want to query |
No output schema declared.
No examples provided.
ai_sql_optimize ~39
Analyze and improve SQL query performance - suggests indexes, query restructuring, and execution optimizations
| Name | Type | Req | Description |
|---|---|---|---|
| sql | string | yes | SQL query to optimize |
No output schema declared.
No examples provided.
db_ai_drop ~101
Safely remove AI-created database objects - only works on objects with claude_ai_ prefix for security
| Name | Type | Req | Description |
|---|---|---|---|
| approved | boolean | — | Set to true to confirm deletion |
| database_id | number | yes | Database ID |
| dry_run | boolean | — | Set to true to preview without executing |
| object_name | string | yes | Object name to drop (must have claude_ai_ prefix) |
| object_type | string | yes | Type of object to drop |
No output schema declared.
No examples provided.
db_ai_list ~38
List all database objects created by AI (with claude_ai_ prefix)
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to list objects from |
No output schema declared.
No examples provided.
db_connection_info ~36
Get database connection information from Metabase (requires admin permissions)
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to get connection info for |
No output schema declared.
No examples provided.
db_index_create ~128
Create database index for query performance - improves search and join operations on specified columns
| Name | Type | Req | Description |
|---|---|---|---|
| approved | boolean | — | Set to true to confirm execution |
| columns | array | yes | Array of column names or single column name |
| database_id | number | yes | Database ID to create index in |
| dry_run | boolean | — | Set to true to preview without executing |
| index_name | string | yes | Index name (claude_ai_ prefix will be added automatically) |
| table_name | string | yes | Table name to create index on |
| unique | boolean | — | Whether to create unique index |
No output schema declared.
No examples provided.
db_index_usage ~63
Analyze index usage statistics - find unused or rarely used indexes
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
| min_size_mb | number | — | Minimum index size in MB to include |
| schema_name | string | — | Schema name to analyze (default: public) |
No output schema declared.
No examples provided.
db_list ~23
Get list of all databases in Metabase instance with IDs and connection types
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
db_matview_create ~125
Create a new materialized view directly in the database (PostgreSQL only)
| Name | Type | Req | Description |
|---|---|---|---|
| approved | boolean | — | Set to true to confirm execution |
| database_id | number | yes | Database ID to create materialized view in |
| dry_run | boolean | — | Set to true to preview without executing |
| schema | string | — | Target schema name (optional, uses database default if not specified) |
| select_sql | string | yes | SELECT statement for the materialized view |
| view_name | string | yes | Materialized view name (claude_ai_ prefix will be added) |
No output schema declared.
No examples provided.
db_query_explain ~89
Get execution plan for a SQL query - shows how PostgreSQL will execute the query
| Name | Type | Req | Description |
|---|---|---|---|
| analyze | boolean | — | Actually run the query to get real execution times |
| database_id | number | yes | Database ID |
| format | string | — | Output format for the plan |
| sql | string | yes | SQL query to analyze |
| verbose | boolean | — | Include additional details in the plan |
No output schema declared.
No examples provided.
db_relationships_detect ~66
Detect existing foreign key relationships between tables - finds explicitly defined database constraints
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
| schema_name | string | yes | Schema name to analyze |
| table_names | array | — | Specific tables to analyze (optional, analyzes all if not provided) |
No output schema declared.
No examples provided.
db_schema_analyze ~99
Deep schema analysis with column details, keys, constraints - requires direct DB connection for comprehensive insights
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
| include_columns | boolean | — | Include detailed column information |
| limit | number | — | Maximum number of tables to analyze (default: 10) |
| schema_name | string | yes | Schema name to explore |
| timeout_seconds | number | — | Maximum execution time in seconds (default: 30) |
No output schema declared.
No examples provided.
db_schema_explore ~67
Fast schema exploration with table counts and basic info - lightweight method for discovering data structure
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
| limit | number | — | Maximum number of tables to return (default: 20) |
| schema_name | string | yes | Schema name to explore |
No output schema declared.
No examples provided.
db_schemas ~37
Get all schema names in specified database - useful for data exploration and finding business data locations
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
No output schema declared.
No examples provided.
db_sync_schema ~28
Trigger schema sync for a database
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to sync |
No output schema declared.
No examples provided.
db_table_create ~117
Create new table directly in database with security controls - requires schema selection and approval
| Name | Type | Req | Description |
|---|---|---|---|
| approved | boolean | — | Set to true to confirm execution |
| columns | array | yes | Array of column definitions |
| database_id | number | yes | Database ID to create table in |
| dry_run | boolean | — | Set to true to preview without executing |
| schema | string | — | Target schema name (optional, uses database default if not specified) |
| table_name | string | yes | Table name (claude_ai_ prefix will be added automatically) |
No output schema declared.
No examples provided.
db_table_ddl ~47
Get the DDL (CREATE statement) for a table
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
| table_name | string | yes | Table name to get DDL for |
No output schema declared.
No examples provided.
db_table_stats ~65
Get table statistics including row count, size, dead tuples, last vacuum/analyze times
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
| schema_name | string | — | Schema name (default: public) |
| table_name | string | yes | Table name to get stats for |
No output schema declared.
No examples provided.
db_tables ~35
Get comprehensive table list across all schemas with field counts - provides overview of data structure
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
No output schema declared.
No examples provided.
db_test_speed ~39
Check database response time and performance - run this before heavy operations to determine optimal timeout settings
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to test |
No output schema declared.
No examples provided.
db_test_speed ~31
Quick test to check database connection and response time
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to test |
No output schema declared.
No examples provided.
db_vacuum_analyze ~106
Run VACUUM and ANALYZE on PostgreSQL tables to optimize storage and update statistics (PostgreSQL only)
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
| dry_run | boolean | — | Preview command without executing |
| schema_name | string | — | Schema name (default: public) |
| table_name | string | — | Table name to vacuum/analyze (optional, all tables if not specified) |
| vacuum_type | string | — | Type of maintenance operation |
No output schema declared.
No examples provided.
db_view_create ~119
Create a new view directly in the database (with claude_ai_ prefix)
| Name | Type | Req | Description |
|---|---|---|---|
| approved | boolean | — | Set to true to confirm execution |
| database_id | number | yes | Database ID to create view in |
| dry_run | boolean | — | Set to true to preview without executing |
| schema | string | — | Target schema name (optional, uses database default if not specified) |
| select_sql | string | yes | SELECT statement for the view |
| view_name | string | yes | View name (claude_ai_ prefix will be added automatically) |
No output schema declared.
No examples provided.
db_view_ddl ~47
Get the DDL (CREATE statement) for a view
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID |
| view_name | string | yes | View name to get DDL for |
No output schema declared.
No examples provided.
definition_get_metric ~44
Get metric definition with calculation formula and business context
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to search in |
| metric_name | string | yes | Metric name to lookup |
No output schema declared.
No examples provided.
definition_get_template ~57
Get dashboard or question template with layout and configuration
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to search in |
| template_name | string | yes | Template name to lookup |
| template_type | string | yes | Type of template to retrieve |
No output schema declared.
No examples provided.
definition_global_search ~66
Search across all definition tables with unified results
| Name | Type | Req | Description |
|---|---|---|---|
| content_types | array | — | Filter by content types (business_terms, metrics, templates, etc.) |
| database_id | number | yes | Database ID to search in |
| search_term | string | yes | Term to search across all definitions |
No output schema declared.
No examples provided.
definition_search_terms ~63
Search business terms and definitions with relevance ranking
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | — | Optional category filter (customer_metrics, revenue_metrics, etc.) |
| database_id | number | yes | Database ID to search in |
| search_term | string | yes | Term to search for in definitions |
No output schema declared.
No examples provided.
definition_tables_init ~39
Initialize definition lookup tables system for documentation, metrics, templates, and search
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to create definition tables in |
No output schema declared.
No examples provided.
mb_action_create ~111
Create a Metabase Action for data modification (INSERT, UPDATE, DELETE)
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | — | Database ID for query actions |
| dataset_query | object | — | Query definition for query actions |
| description | string | — | Action description |
| model_id | number | yes | Model ID the action belongs to |
| name | string | yes | Action name |
| parameters | array | — | Action parameters |
| type | string | yes | Action type |
| visualization_settings | object | — | Form visualization settings |
No output schema declared.
No examples provided.
mb_action_execute ~41
Execute a Metabase action with parameters
| Name | Type | Req | Description |
|---|---|---|---|
| action_id | number | yes | Action ID to execute |
| parameters | object | yes | Parameter values for the action |
No output schema declared.
No examples provided.
mb_action_list ~30
List all actions for a model
| Name | Type | Req | Description |
|---|---|---|---|
| model_id | number | yes | Model ID to get actions for |
No output schema declared.
No examples provided.
mb_alert_create ~88
Create an alert for a question that triggers on specified conditions
| Name | Type | Req | Description |
|---|---|---|---|
| alert_above_goal | boolean | — | Alert when above goal (for goal condition) |
| alert_condition | string | — | Alert condition type |
| alert_first_only | boolean | — | Only alert on first occurrence |
| card_id | number | yes | Question/Card ID to create alert for |
| channels | array | — | Notification channels |
No output schema declared.
No examples provided.
mb_alert_list ~33
List all alerts, optionally filtered by question
| Name | Type | Req | Description |
|---|---|---|---|
| card_id | number | — | Filter alerts by question ID (optional) |
No output schema declared.
No examples provided.
mb_auto_describe ~68
Automatically generate AI-powered descriptions for databases, tables, and fields with timestamp signatures
| Name | Type | Req | Description |
|---|---|---|---|
| database_id | number | yes | Database ID to generate descriptions for |
| force_update | boolean | — | Update existing descriptions (default: false) |
| target_type | string | — | What to generate descriptions for |
No output schema declared.
No examples provided.
mb_bookmark_create ~39
Bookmark an item for quick access
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Item ID to bookmark |
| type | string | yes | Item type to bookmark |
No output schema declared.
No examples provided.
mb_bookmark_delete ~32
Remove a bookmark
| Name | Type | Req | Description |
|---|---|---|---|
| id | number | yes | Item ID |
| type | string | yes | Item type |
No output schema declared.
No examples provided.
mb_bookmark_list ~15
List all bookmarked items
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
mb_cache_invalidate ~52
Invalidate cache for specific items or entire database
| Name | Type | Req | Description |
|---|---|---|---|
| card_id | number | — | Specific card ID to invalidate |
| database_id | number | — | Database ID (optional, invalidates all if provided alone) |
No output schema declared.
No examples provided.
mb_card_archive ~31
Archive a card/question (soft delete)
| Name | Type | Req | Description |
|---|---|---|---|
| card_id | number | yes | Card/Question ID to archive |
No output schema declared.
No examples provided.