A server for managing ClickHouse databases and ClickHouse Cloud services.
A comprehensive Model Context Protocol (MCP) server that provides two distinct capabilities:
Start with our step-by-step tutorial:
š Complete Setup Tutorial - Transform Claude into a powerful ClickHouse data agent
For experienced users, jump to the Quick Configuration section below.
This MCP server supports two independent use cases. You can use one or both:
For: Data analysis, querying, and exploration of ClickHouse databases
For: Managing ClickHouse Cloud infrastructure programmatically
For: Complete ClickHouse workflow from infrastructure to data
This repository significantly improves over the original ClickHouse MCP server:
Feature | Original Server (v0.1.10) | This Server |
---|---|---|
Database Operations | 3 basic tools | 3 enhanced tools with safety features |
Query Security | ā run_select_query allows ANY SQL operation | ā Proper query filtering and readonly mode |
Cloud Management | ā None | ā 50+ comprehensive tools (100% API coverage) |
Safety Controls | ā No protection against destructive operations | ā Advanced readonly modes for both database and cloud operations |
Code Quality | Basic | Production-ready with proper structure |
Configuration | Limited options | Flexible setup for any use case |
Error Handling | Basic | Robust with detailed error messages |
SSL Support | Limited | Full SSL configuration options |
[!WARNING] Security Notice: The original ClickHouse MCP server (v0.1.10) has a critical security flaw where
run_select_query
can execute ANY SQL operation including DROP, DELETE, INSERT, etc., despite its name suggesting it only runs SELECT queries. This server implements proper query filtering and safety controls.
Connect to and query any ClickHouse database:
Complete ClickHouse Cloud API integration:
This MCP server includes comprehensive safety controls to prevent accidental data modification or infrastructure changes:
readonly = 1
by defaultCLICKHOUSE_READONLY=false
to enable write operations when neededCLICKHOUSE_CLOUD_READONLY=false
to allow infrastructure changesOpen your Claude Desktop configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
Choose your configuration based on your use case:
{
"mcpServers": {
"chmcp": {
"command": "/path/to/uv",
"args": ["run", "--with", "chmcp", "--python", "3.13", "chmcp"],
"env": {
"CLICKHOUSE_HOST": "your-server.com",
"CLICKHOUSE_PORT": "8443",
"CLICKHOUSE_USER": "your-username",
"CLICKHOUSE_PASSWORD": "your-password",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_READONLY": "true"
}
}
}
}
{
"mcpServers": {
"chmcp": {
"command": "/path/to/uv",
"args": ["run", "--with", "chmcp", "--python", "3.13", "chmcp"],
"env": {
"CLICKHOUSE_HOST": "your-instance.clickhouse.cloud",
"CLICKHOUSE_USER": "default",
"CLICKHOUSE_PASSWORD": "your-database-password",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_READONLY": "true"
}
}
}
}
{
"mcpServers": {
"chmcp": {
"command": "/path/to/uv",
"args": ["run", "--with", "chmcp", "--python", "3.13", "chmcp"],
"env": {
"CLICKHOUSE_HOST": "sql-clickhouse.clickhouse.com",
"CLICKHOUSE_PORT": "8443",
"CLICKHOUSE_USER": "demo",
"CLICKHOUSE_PASSWORD": "",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_READONLY": "true"
}
}
}
}
{
"mcpServers": {
"chmcp": {
"command": "/path/to/uv",
"args": ["run", "--with", "chmcp", "--python", "3.13", "chmcp"],
"env": {
"CLICKHOUSE_CLOUD_KEY_ID": "your-cloud-key-id",
"CLICKHOUSE_CLOUD_KEY_SECRET": "your-cloud-key-secret"
}
}
}
}
Note:
CLICKHOUSE_CLOUD_READONLY
defaults totrue
(monitoring-only mode). Add"CLICKHOUSE_CLOUD_READONLY": "false"
for full access.
{
"mcpServers": {
"chmcp": {
"command": "/path/to/uv",
"args": ["run", "--with", "chmcp", "--python", "3.13", "chmcp"],
"env": {
"CLICKHOUSE_HOST": "your-instance.clickhouse.cloud",
"CLICKHOUSE_USER": "default",
"CLICKHOUSE_PASSWORD": "your-database-password",
"CLICKHOUSE_SECURE": "true",
"CLICKHOUSE_READONLY": "true",
"CLICKHOUSE_CLOUD_KEY_ID": "your-cloud-key-id",
"CLICKHOUSE_CLOUD_KEY_SECRET": "your-cloud-key-secret"
}
}
}
}
Note: This enables database analysis (readonly) + full cloud management. Add
"CLICKHOUSE_CLOUD_READONLY": "true"
for monitoring-only mode.
Important: Replace /path/to/uv
with the absolute path to your uv
executable (find it with which uv
on macOS/Linux)
Restart Claude Desktop to apply the changes
# Install via uv (used by Claude Desktop)
uv add chmcp
# Clone the repository
git clone https://github.com/oualib/chmcp.git
cd chmcp
# Install core dependencies
pip install .
# Install with development dependencies
pip install ".[dev]"
# Install with test dependencies
pip install ".[test]"
# Install with documentation dependencies
pip install ".[docs]"
# Install with all optional dependencies
pip install ".[dev,test,docs]"
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration
Set these environment variables to enable database operations:
CLICKHOUSE_HOST=your-clickhouse-host.com # ClickHouse server hostname
CLICKHOUSE_USER=your-username # Username for authentication
CLICKHOUSE_PASSWORD=your-password # Password for authentication
CLICKHOUSE_READONLY=true # Enable read-only mode (recommended)
# true: Only SELECT/SHOW/DESCRIBE queries allowed
# false: All SQL operations permitted
CLICKHOUSE_PORT=8443 # 8443 for HTTPS, 8123 for HTTP
CLICKHOUSE_SECURE=true # Enable HTTPS connection
CLICKHOUSE_VERIFY=true # Verify SSL certificates
CLICKHOUSE_CONNECT_TIMEOUT=30 # Connection timeout in seconds
CLICKHOUSE_SEND_RECEIVE_TIMEOUT=300 # Query timeout in seconds
CLICKHOUSE_DATABASE=default # Default database to use
[!CAUTION] Security Best Practice: Always use
CLICKHOUSE_READONLY=true
in production environments. Create a dedicated database user with minimal privileges for MCP connections. Avoid using administrative accounts.
Set these environment variables to enable cloud management:
CLICKHOUSE_CLOUD_KEY_ID=your-cloud-key-id # From ClickHouse Cloud Console
CLICKHOUSE_CLOUD_KEY_SECRET=your-cloud-key-secret # From ClickHouse Cloud Console
CLICKHOUSE_CLOUD_READONLY=false # Cloud operation mode (default: false)
# true: Only read operations (list, get, metrics)
# false: All cloud operations permitted (create, update, delete)
CLICKHOUSE_CLOUD_API_URL=https://api.clickhouse.cloud # API endpoint
CLICKHOUSE_CLOUD_TIMEOUT=30 # Request timeout
CLICKHOUSE_CLOUD_SSL_VERIFY=true # SSL verification
[!WARNING] Cloud Safety: By default,
CLICKHOUSE_CLOUD_READONLY=false
allows all infrastructure operations. Set totrue
in production to prevent accidental infrastructure changes. When disabled, Claude can create, modify, and delete cloud services, which may incur costs or cause service disruptions.
# Database - read-only queries only
CLICKHOUSE_HOST=your-instance.clickhouse.cloud
CLICKHOUSE_USER=readonly_user
CLICKHOUSE_PASSWORD=secure-password
CLICKHOUSE_SECURE=true
CLICKHOUSE_READONLY=true
# Cloud - monitoring and inspection only (explicitly set to true)
CLICKHOUSE_CLOUD_KEY_ID=your-cloud-key-id
CLICKHOUSE_CLOUD_KEY_SECRET=your-cloud-key-secret
CLICKHOUSE_CLOUD_READONLY=true
# Database - all operations allowed
CLICKHOUSE_HOST=localhost
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=clickhouse
CLICKHOUSE_SECURE=false
CLICKHOUSE_READONLY=false
# Cloud - full infrastructure management
CLICKHOUSE_CLOUD_KEY_ID=dev-key-id
CLICKHOUSE_CLOUD_KEY_SECRET=dev-key-secret
CLICKHOUSE_CLOUD_READONLY=false
# Database - read-only for data analysis
CLICKHOUSE_HOST=analytics.company.com
CLICKHOUSE_USER=analyst
CLICKHOUSE_PASSWORD=analyst-password
CLICKHOUSE_SECURE=true
CLICKHOUSE_READONLY=true
# Cloud - monitoring only, no infrastructure changes
CLICKHOUSE_CLOUD_KEY_ID=monitoring-key-id
CLICKHOUSE_CLOUD_KEY_SECRET=monitoring-key-secret
CLICKHOUSE_CLOUD_READONLY=true
# Database only - full access for development
CLICKHOUSE_HOST=localhost
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=clickhouse
CLICKHOUSE_SECURE=false
CLICKHOUSE_PORT=8123
CLICKHOUSE_READONLY=false
# Database connection - read-only
CLICKHOUSE_HOST=your-instance.clickhouse.cloud
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=your-database-password
CLICKHOUSE_SECURE=true
CLICKHOUSE_READONLY=true
# Cloud management - monitoring only (explicitly set to true)
CLICKHOUSE_CLOUD_KEY_ID=your-cloud-key-id
CLICKHOUSE_CLOUD_KEY_SECRET=your-cloud-key-secret
CLICKHOUSE_CLOUD_READONLY=true
If you encounter SSL certificate verification issues:
# Disable SSL verification for database
CLICKHOUSE_VERIFY=false
CLICKHOUSE_SECURE=false # Use HTTP instead of HTTPS
CLICKHOUSE_PORT=8123 # HTTP port instead of 8443
# Disable SSL verification for cloud API
CLICKHOUSE_CLOUD_SSL_VERIFY=false
These tools work with any ClickHouse database when database configuration is provided:
list_databases()
- List all available databaseslist_tables(database, like?, not_like?)
- List tables with detailed metadata including schema, row counts, and column informationrun_query(query)
- Execute queries with safety controls:
CLICKHOUSE_READONLY=true
): Only SELECT, SHOW, DESCRIBE, EXPLAIN queriesCLICKHOUSE_READONLY=false
): All SQL operations including INSERT, UPDATE, DELETE, CREATE, DROP[!NOTE] Query Safety: When
CLICKHOUSE_READONLY=true
, all queries automatically run withreadonly = 1
setting and are filtered to prevent data modification operations.
These tools work with ClickHouse Cloud when API credentials are provided. Tool availability depends on the CLICKHOUSE_CLOUD_READONLY
setting:
CLICKHOUSE_CLOUD_READONLY=true
)Organization Monitoring (3 tools)
cloud_list_organizations()
- List available organizationscloud_get_organization(organization_id)
- Get organization detailscloud_get_organization_metrics(organization_id, filtered_metrics?)
- Get Prometheus metricsService Monitoring (3 tools)
cloud_list_services(organization_id)
- List all services in organizationcloud_get_service(organization_id, service_id)
- Get detailed service informationcloud_get_service_metrics(organization_id, service_id, filtered_metrics?)
- Get service performance metricsResource Inspection (8 tools)
cloud_list_api_keys(organization_id)
- List all API keys (metadata only)cloud_get_api_key(organization_id, key_id)
- Get API key detailscloud_list_members(organization_id)
- List organization memberscloud_get_member(organization_id, user_id)
- Get member detailscloud_list_invitations(organization_id)
- List pending invitationscloud_get_invitation(organization_id, invitation_id)
- Get invitation detailscloud_list_backups(organization_id, service_id)
- List service backupscloud_get_backup(organization_id, service_id, backup_id)
- Get backup detailsConfiguration Inspection (5 tools)
cloud_get_backup_configuration(organization_id, service_id)
- Get backup configurationcloud_get_private_endpoint_config(organization_id, service_id)
- Get private endpoint configurationcloud_list_clickpipes(organization_id, service_id)
- List ClickPipescloud_get_clickpipe(organization_id, service_id, clickpipe_id)
- Get ClickPipe detailscloud_get_available_regions()
- Get supported regionsAnalytics & Monitoring (3 tools)
cloud_list_activities(organization_id, from_date?, to_date?)
- Get audit logscloud_get_activity(organization_id, activity_id)
- Get activity detailscloud_get_usage_cost(organization_id, from_date, to_date)
- Get usage analyticsCLICKHOUSE_CLOUD_READONLY=false
)Organization Management (2 tools)
cloud_update_organization(organization_id, name?, private_endpoints?)
- Update organization settingscloud_get_organization_private_endpoint_info(organization_id, cloud_provider, region)
- Get private endpoint infoService Management (9 tools)
cloud_create_service(organization_id, name, provider, region, ...)
- Create new servicecloud_update_service(organization_id, service_id, ...)
- Update service settingscloud_update_service_state(organization_id, service_id, command)
- Start/stop servicescloud_update_service_scaling(organization_id, service_id, ...)
- Configure scaling (legacy)cloud_update_service_replica_scaling(organization_id, service_id, ...)
- Configure replica scalingcloud_update_service_password(organization_id, service_id, ...)
- Update service passwordcloud_create_service_private_endpoint(organization_id, service_id, id, description)
- Create private endpointcloud_delete_service(organization_id, service_id)
- Delete serviceAPI Key Management (3 tools)
cloud_create_api_key(organization_id, name, roles, ...)
- Create new API keycloud_update_api_key(organization_id, key_id, ...)
- Update API key propertiescloud_delete_api_key(organization_id, key_id)
- Delete API keyUser Management (3 tools)
cloud_update_member_role(organization_id, user_id, role)
- Update member rolecloud_remove_member(organization_id, user_id)
- Remove membercloud_create_invitation(organization_id, email, role)
- Send invitationcloud_delete_invitation(organization_id, invitation_id)
- Cancel invitationInfrastructure Management (12 tools)
cloud_update_backup_configuration(organization_id, service_id, ...)
- Update backup settingscloud_create_clickpipe(organization_id, service_id, name, description, source, destination, field_mappings?)
- Create ClickPipecloud_update_clickpipe(organization_id, service_id, clickpipe_id, ...)
- Update ClickPipecloud_update_clickpipe_scaling(organization_id, service_id, clickpipe_id, replicas?)
- Scale ClickPipecloud_update_clickpipe_state(organization_id, service_id, clickpipe_id, command)
- Control ClickPipe statecloud_delete_clickpipe(organization_id, service_id, clickpipe_id)
- Delete ClickPipecloud_list_reverse_private_endpoints(organization_id, service_id)
- List reverse private endpointscloud_create_reverse_private_endpoint(organization_id, service_id, ...)
- Create reverse private endpointcloud_get_reverse_private_endpoint(organization_id, service_id, reverse_private_endpoint_id)
- Get detailscloud_delete_reverse_private_endpoint(organization_id, service_id, reverse_private_endpoint_id)
- Delete endpointcloud_create_query_endpoint_config(organization_id, service_id, roles, open_api_keys, allowed_origins)
- Create query configcloud_delete_query_endpoint_config(organization_id, service_id)
- Delete query config[!CAUTION] Production Warning: Write operations can create billable resources, modify running services, or delete infrastructure. Always use
CLICKHOUSE_CLOUD_READONLY=true
in production unless infrastructure changes are specifically required.
# With CLICKHOUSE_READONLY=true (recommended for production)
# Only analytical queries are allowed
# Explore database structure
databases = list_databases()
print(f"Available databases: {[db['name'] for db in databases]}")
# Get detailed table information
tables = list_tables("my_database")
for table in tables:
print(f"Table: {table['name']}, Rows: {table['total_rows']}")
# Execute analytical queries safely
result = run_query("""
SELECT
date_trunc('day', timestamp) as day,
count(*) as events,
avg(value) as avg_value
FROM my_table
WHERE timestamp >= '2024-01-01'
GROUP BY day
ORDER BY day
""")
# These queries would be blocked in readonly mode:
# run_query("DROP TABLE my_table") # ā Blocked
# run_query("INSERT INTO my_table VALUES (1)") # ā Blocked
# run_query("UPDATE my_table SET value = 0") # ā Blocked
# With CLICKHOUSE_READONLY=false (development only)
# All SQL operations are allowed
# Data modification operations
run_query("""
CREATE TABLE test_table (
id UInt32,
name String,
created_at DateTime
) ENGINE = MergeTree()
ORDER BY id
""")
run_query("INSERT INTO test_table VALUES (1, 'test', now())")
run_query("UPDATE test_table SET name = 'updated' WHERE id = 1")
# With CLICKHOUSE_CLOUD_READONLY=true (recommended for production)
# Only monitoring and inspection operations
# Monitor organization resources
orgs = cloud_list_organizations()
for org in orgs:
services = cloud_list_services(org['id'])
print(f"Organization: {org['name']}, Services: {len(services)}")
# Get service metrics
for service in services:
metrics = cloud_get_service_metrics(org['id'], service['id'])
print(f"Service {service['name']} metrics: {metrics}")
# Monitor costs and usage
usage = cloud_get_usage_cost(
organization_id="org-123",
from_date="2024-01-01",
to_date="2024-01-31"
)
print(f"Monthly cost: ${usage['total_cost']}")
# Audit recent activities
activities = cloud_list_activities(
organization_id="org-123",
from_date="2024-01-01T00:00:00Z"
)
print(f"Recent activities: {len(activities)} events")
# These operations would be blocked in readonly mode:
# cloud_create_service(...) # ā Blocked
# cloud_delete_service(...) # ā Blocked
# cloud_update_service_state(...) # ā Blocked
# With CLICKHOUSE_CLOUD_READONLY=false (use with caution)
# All infrastructure operations allowed
# Create a production service with full configuration
service = cloud_create_service(
organization_id="org-123",
name="analytics-prod",
provider="aws",
region="us-east-1",
tier="production",
min_replica_memory_gb=32,
max_replica_memory_gb=256,
num_replicas=3,
idle_scaling=True,
idle_timeout_minutes=10,
ip_access_list=[
{"source": "10.0.0.0/8", "description": "Internal network"},
{"source": "203.0.113.0/24", "description": "Office network"}
]
)
# Start the service and monitor status
cloud_update_service_state(
organization_id="org-123",
service_id=service['id'],
command="start"
)
# Set up automated backups
cloud_update_backup_configuration(
organization_id="org-123",
service_id=service['id'],
backup_period_in_hours=24,
backup_retention_period_in_hours=168, # 7 days
backup_start_time="02:00"
)
# Production-safe configuration for monitoring and analysis
# CLICKHOUSE_READONLY=true + CLICKHOUSE_CLOUD_READONLY=true
# 1. Monitor existing cloud infrastructure
orgs = cloud_list_organizations()
org_id = orgs[0]['id']
services = cloud_list_services(org_id)
active_services = [s for s in services if s['state'] == 'running']
print(f"Active services: {len(active_services)}")
# 2. Analyze data from running services
for service in active_services:
# Check service health
metrics = cloud_get_service_metrics(org_id, service['id'])
# Analyze data (read-only queries)
if service['endpoints']:
# Connect to database (would use service endpoint)
result = run_query("""
SELECT
database,
table,
sum(rows) as total_rows,
sum(bytes_on_disk) as disk_usage
FROM system.parts
WHERE active = 1
GROUP BY database, table
ORDER BY total_rows DESC
LIMIT 10
""")
print(f"Top tables in {service['name']}: {result}")
# 3. Generate usage report
usage = cloud_get_usage_cost(
organization_id=org_id,
from_date="2024-01-01",
to_date="2024-01-31"
)
activities = cloud_list_activities(org_id)
recent_changes = [a for a in activities if 'create' in a.get('action', '').lower()]
print(f"""
Monthly Report:
- Total Cost: ${usage.get('total_cost', 'N/A')}
- Active Services: {len(active_services)}
- Recent Infrastructure Changes: {len(recent_changes)}
""")
Start ClickHouse for testing:
cd test-services
docker compose up -d
Create environment file:
cat > .env << EOF
# Database configuration (development mode)
CLICKHOUSE_HOST=localhost
CLICKHOUSE_PORT=8123
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=clickhouse
CLICKHOUSE_SECURE=false
CLICKHOUSE_READONLY=false
# Cloud configuration (optional, safe mode)
CLICKHOUSE_CLOUD_KEY_ID=your-key-id
CLICKHOUSE_CLOUD_KEY_SECRET=your-key-secret
CLICKHOUSE_CLOUD_READONLY=true
EOF
Install and run:
uv sync # Install dependencies
source .venv/bin/activate # Activate virtual environment
mcp dev chmcp/mcp_server.py # Start for testing
# OR
python -m chmcp.main # Start normally
# Test read-only database mode
CLICKHOUSE_READONLY=true python -m chmcp.main
# Test cloud monitoring mode
CLICKHOUSE_CLOUD_READONLY=true python -m chmcp.main
# Test full access mode (development only)
CLICKHOUSE_READONLY=false CLICKHOUSE_CLOUD_READONLY=false python -m chmcp.main
chmcp/
āāā __init__.py # Package initialization
āāā main.py # Entry point
āāā mcp_env.py # Database environment configuration
āāā mcp_server.py # Main server + database tools (3 tools)
āāā cloud_config.py # Cloud API configuration
āāā cloud_client.py # HTTP client for Cloud API
āāā cloud_tools.py # Cloud MCP tools (50+ tools)
uv sync --all-extras --dev # Install dev dependencies
uv run ruff check . # Run linting
docker compose up -d # Start test ClickHouse
uv run pytest tests # Run tests
Problem: Can't connect to ClickHouse database
CLICKHOUSE_HOST
, CLICKHOUSE_USER
, and CLICKHOUSE_PASSWORD
telnet your-host 8443
CLICKHOUSE_VERIFY=false
Problem: SSL certificate verification fails
# Temporarily disable SSL verification
CLICKHOUSE_VERIFY=false
CLICKHOUSE_SECURE=false # Use HTTP instead of HTTPS
CLICKHOUSE_PORT=8123 # HTTP port instead of 8443
Problem: Queries are being blocked
CLICKHOUSE_READONLY=true
is preventing write operationsCLICKHOUSE_READONLY=false
Problem: Cloud tools not working
CLICKHOUSE_CLOUD_KEY_ID
and CLICKHOUSE_CLOUD_KEY_SECRET
are correctCLICKHOUSE_CLOUD_SSL_VERIFY=false
Problem: "Operation not permitted" errors
CLICKHOUSE_CLOUD_READONLY=true
is blocking write operationsCLICKHOUSE_CLOUD_READONLY=false
Problem: "Organization not found" errors
cloud_list_organizations()
Problem: Tools missing in Claude
CLICKHOUSE_HOST
, etc.)CLICKHOUSE_CLOUD_KEY_ID
, etc.)uv
path is absolute in configurationProblem: Safety features not working as expected
echo $CLICKHOUSE_READONLY
"true"
not true
in JSON configProblem: Import errors or missing dependencies
# Reinstall with latest dependencies
uv sync --force
# Core dependencies with force reinstall
pip install . --force-reinstall
# With development dependencies
pip install ".[dev]" --force-reinstall
# With all optional dependencies
pip install ".[dev,test,docs]" --force-reinstall
# Editable install with force reinstall
pip install -e ".[dev]" --force-reinstall
Problem: Want to enable write operations temporarily
# For database operations
export CLICKHOUSE_READONLY=false
# For cloud operations
export CLICKHOUSE_CLOUD_READONLY=false
# Restart MCP server
Problem: Accidentally enabled write mode in production
# Immediately disable write operations
export CLICKHOUSE_READONLY=true
export CLICKHOUSE_CLOUD_READONLY=true
# Restart MCP server
# Review audit logs: cloud_list_activities()
Problem: Unclear which operations are blocked
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Developed by Badr Ouali
Access Mina blockchain data, including events, actions, and network state, through the Mina Archive Node API.
Access Human Protein Atlas data, including protein expression, localization, and pathology.
A read-only MCP server for CSV files from CData, requiring an external JDBC driver for connection.
Access Dungeons & Dragons 5th Edition content, including spells, classes, and monsters, via the Open5e API.
A C# MCP server for interacting with databases via ADO.NET, compatible with Virtuoso.
Integrate with Metabase to query databases and visualize data. Requires Metabase URL and API key for authentication.
Access the OSV (Open Source Vulnerabilities) database for vulnerability information. Query vulnerabilities by package version or commit, batch query multiple packages, and get detailed vulnerability information by ID.
Neo4j graph database server (schema + read/write-cypher) and separate graph database backed memory
Interact with the microCMS headless CMS API, enabling AI assistants to manage content.
Query and analyze data with MotherDuck and local DuckDB