Ahmed-M-Elevate/elevate-mcp
If you are the rightful owner of elevate-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The Elevate MCP Database Tools provide an MCP server for querying Elevate AB Testing databases, offering AI-powered access to MySQL (PlanetScale) and ClickHouse analytics databases.
Elevate MCP Database Tools
MCP (Model Context Protocol) server for querying Elevate AB Testing databases. Provides AI-powered access to MySQL (PlanetScale) and ClickHouse analytics databases.
Quick Start
Option 1: Connect to Remote Server (Recommended)
If your team has deployed the MCP server, simply configure your AI client:
Claude Code
Add to ~/.claude/settings.json:
{
"mcpServers": {
"elevate-db": {
"type": "sse",
"url": "https://mcp.elevateab.com/sse",
"headers": {
"Authorization": "Basic <base64-encoded-credentials>"
}
}
}
}
Claude Desktop
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"elevate-db": {
"type": "sse",
"url": "https://mcp.elevateab.com/sse",
"headers": {
"Authorization": "Basic <base64-encoded-credentials>"
}
}
}
}
Cursor
Add to Cursor settings (Settings → MCP Servers):
{
"elevate-db": {
"type": "sse",
"url": "https://mcp.elevateab.com/sse",
"headers": {
"Authorization": "Basic <base64-encoded-credentials>"
}
}
}
GitHub Copilot (VS Code)
MCP support in Copilot is experimental. Check the latest documentation for configuration.
Option 2: Local Installation
Prerequisites
- Go 1.21+ or download pre-built binary
- Database credentials (see
.env.example)
Step 1: Install MCP Toolbox
Option A: Install via Go
go install github.com/googleapis/genai-toolbox@latest
Option B: Download Binary
# Linux
wget https://github.com/googleapis/genai-toolbox/releases/latest/download/toolbox-linux-amd64 -O toolbox
chmod +x toolbox
sudo mv toolbox /usr/local/bin/
# macOS (Intel)
wget https://github.com/googleapis/genai-toolbox/releases/latest/download/toolbox-darwin-amd64 -O toolbox
# macOS (Apple Silicon)
wget https://github.com/googleapis/genai-toolbox/releases/latest/download/toolbox-darwin-arm64 -O toolbox
chmod +x toolbox
sudo mv toolbox /usr/local/bin/
Step 2: Configure Environment
cd databases/
cp .env.example .env
# Edit .env with your credentials
Step 3: Run the Server
# Using the wrapper script
./toolbox-wrapper.sh
# Or directly
toolbox --tools-file tools.yaml --address 0.0.0.0 --port 5000
Step 4: Configure AI Client
For local installation, use command mode instead of SSE:
Claude Code (~/.claude/settings.json):
{
"mcpServers": {
"elevate-db": {
"command": "toolbox",
"args": ["--tools-file", "/path/to/databases/tools.yaml"]
}
}
}
Claude Desktop:
{
"mcpServers": {
"elevate-db": {
"command": "/usr/local/bin/toolbox",
"args": ["--tools-file", "/path/to/databases/tools.yaml"],
"env": {
"DB_USERNAME": "your-username",
"DB_PASSWORD": "your-password",
"CLICKHOUSE_USERNAME": "your-ch-username",
"CLICKHOUSE_PASSWORD": "your-ch-password"
}
}
}
}
Available Tools
MySQL Tools (27 tools)
| Tool | Description |
|---|---|
list_tables | List all database tables |
query | Execute SELECT queries |
execute | Execute any SQL statement |
get_all_shops | Get all shops with subscription info |
get_active_shops | Get active (not uninstalled) shops |
search_shop_by_domain | Search shop by domain |
get_shop_by_id | Get shop details by ID |
get_shops_by_plan | Get shops by subscription plan |
get_test_by_id | Get test/experiment details |
list_tests_by_store | List tests for a store |
get_test_variations | Get test variations |
get_active_tests | Get all running tests |
get_tests_by_status | Filter tests by status |
get_tests_by_type | Filter tests by type |
get_test_history | Get test lifecycle history |
get_test_suggestions | Get test recommendations |
update_test_status | Update test status |
get_orders_by_visitor | Get orders by visitor ID |
get_orders_by_date_range | Get orders in date range |
get_order_variations | Get test variant for order |
get_line_items_by_order | Get order line items |
get_shop_stats | Get shop statistics |
get_test_stats | Get test statistics |
get_recent_activity | Get recent test activity |
get_promo_codes | Get active promo codes |
get_product_variants_by_test | Get price variants |
get_shipping_by_variation | Get shipping configs |
ClickHouse Analytics Tools (19 tools)
| Tool | Description |
|---|---|
ch_list_tables | List ClickHouse tables |
ch_describe_table | Describe table schema |
ch_query | Execute SELECT queries |
ch_execute | Execute any SQL statement |
ch_get_events_summary | Event counts by type |
ch_get_daily_traffic | Daily pageviews & visitors |
ch_get_hourly_traffic | Hourly traffic patterns |
ch_get_top_pages | Top pages by traffic |
ch_get_device_breakdown | Traffic by device type |
ch_get_browser_breakdown | Traffic by browser |
ch_get_geo_breakdown | Traffic by country |
ch_get_traffic_sources | Traffic by source |
ch_get_conversion_funnel | Conversion funnel metrics |
ch_get_cart_abandonment | Cart abandonment rates |
ch_get_order_revenue | Revenue metrics |
ch_get_daily_revenue | Daily revenue breakdown |
ch_get_product_performance | Product sales metrics |
ch_get_test_analytics | Test event breakdown |
ch_get_test_variant_performance | Variant performance |
See for detailed documentation of all tools.
Usage Examples
Ask Claude to query data
"Show me all active tests for mystore.myshopify.com"
"What's the conversion funnel for elevate-demo.myshopify.com last month?"
"Find orders from January 2025 with test variations"
"Compare device breakdown for our top 3 stores"
Common workflows
Check store health:
1. Get store details: get_shop_by_id
2. List active tests: list_tests_by_store
3. Check conversion: ch_get_conversion_funnel
4. Review traffic: ch_get_daily_traffic
Analyze test performance:
1. Get test info: get_test_by_id
2. Get variations: get_test_variations
3. Get analytics: ch_get_test_analytics
4. Compare variants: ch_get_test_variant_performance
Files
| File | Description |
|---|---|
tools.yaml | MCP tool definitions and SQL queries |
.env.example | Environment variables template |
README.md | This file |
TOOLS.md | Detailed tools documentation |
DEPLOYMENT.md | Server deployment guide |
toolbox-wrapper.sh | Startup script with env loading |
Toolsets & Read-Only Mode
Using the Wrapper Script
The toolbox-wrapper.sh script automatically loads .env and supports toolsets:
# Run with all tools (default)
./toolbox-wrapper.sh
# Run in READ-ONLY mode (safe for production)
READ_ONLY=true ./toolbox-wrapper.sh
# Or set in .env file
# READ_ONLY=true
Manual Toolset Selection
# Read-only (safe for production) - excludes execute, update tools
toolbox --tools-file tools.yaml --toolset readonly
# MySQL only
toolbox --tools-file tools.yaml --toolset mysql
# ClickHouse only
toolbox --tools-file tools.yaml --toolset clickhouse
# All tools (default)
toolbox --tools-file tools.yaml --toolset all
Read-Only Toolset
The readonly toolset excludes these write operations:
execute- MySQL write operationsch_execute- ClickHouse write operationsupdate_test_status- Test status updates
Use this for safe production access.
Security
- Never commit
.env- Contains database credentials - Use read-only toolset for production queries
- Enable authentication when exposing via URL
- Restrict IP access in production deployments
See for security configuration.
Troubleshooting
Connection refused
# Check if server is running
curl http://localhost:5000/health
# Check environment variables
cat .env
Database errors
# Test MySQL connection
mysql -h aws.connect.psdb.cloud -u $DB_USERNAME -p
# Test ClickHouse connection
curl "https://$CLICKHOUSE_HOST:8443/?query=SELECT%201"
Tool not found
Ensure tools.yaml is in the correct path and restart the MCP server.
Support
- Documentation:
- Deployment:
- Issues: Contact the engineering team