Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bigeye MCP Servershow me recent data quality issues for the sales schema"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Bigeye MCP Server
An MCP (Model Context Protocol) server that provides tools for interacting with the Bigeye Data Observability platform.
Prerequisites
Docker (Docker Desktop or Docker Engine)
Quick Start
Build the Docker image:
./build-docker.shCreate a
.envfile with your credentials (see.env.example):cp .env.example .env # Edit .env with your valuesStart the long-lived container:
./bigeye-mcp.sh startAdd the wrapper to your Claude Desktop config (
~/Library/Application Support/Claude/claude_desktop_config.jsonon macOS):{ "mcpServers": { "bigeye": { "command": "/absolute/path/to/mcp-wrapper.sh" } } }Restart Claude Desktop.
Getting Your Credentials
BIGEYE_API_KEY — Generate in Bigeye under Settings > API Keys
BIGEYE_BASE_URL — Your Bigeye instance URL (e.g.
https://app.bigeye.com)BIGEYE_WORKSPACE_ID — Found in your Bigeye URL after
/w/(e.g.https://app.bigeye.com/w/123/→123)
Container Modes
Long-Lived Container (Recommended)
Uses mcp-wrapper.sh + bigeye-mcp.sh with docker compose. The container stays running and Claude Desktop connects via docker exec.
Note:
mcp-wrapper.shrelies on Docker Compose automatically reading the.envfile from the project directory. Make sure your.envfile is in the same directory asdocker-compose.yml.
{
"mcpServers": {
"bigeye": {
"command": "/absolute/path/to/mcp-wrapper.sh"
}
}
}Ephemeral Container
A fresh container spins up for each Claude Desktop session and is removed when done.
{
"mcpServers": {
"bigeye": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "BIGEYE_API_KEY=your_api_key_here",
"-e", "BIGEYE_BASE_URL=https://app.bigeye.com",
"-e", "BIGEYE_WORKSPACE_ID=your_workspace_id_here",
"-e", "BIGEYE_DEBUG=false",
"bigeye-mcp-server:latest"
]
}
}
}Container Management
The bigeye-mcp.sh script manages the long-lived container:
./bigeye-mcp.sh start # Start the container
./bigeye-mcp.sh stop # Stop the container
./bigeye-mcp.sh restart # Restart the container
./bigeye-mcp.sh status # Show container status
./bigeye-mcp.sh logs # Follow container logs
./bigeye-mcp.sh rebuild # Rebuild image and recreate container
./bigeye-mcp.sh clean # Remove container and volumesMulti-Environment Setup
To connect to multiple Bigeye instances (e.g. demo and production), create separate environment files and compose overrides:
Create environment files for each instance. Note that the compose overrides expect prefixed variable names (
BIGEYE_DEMO_*/BIGEYE_APP_*):.env.demo:BIGEYE_DEMO_API_KEY=your_demo_api_key BIGEYE_DEMO_WORKSPACE_ID=your_demo_workspace_id BIGEYE_DEBUG=false.env.app:BIGEYE_APP_API_KEY=your_app_api_key BIGEYE_APP_WORKSPACE_ID=your_app_workspace_id BIGEYE_DEBUG=falseUse the environment-specific compose overrides:
# Demo docker compose -f docker-compose.yml -f docker-compose.demo.yml --env-file .env.demo up -d bigeye-mcp-demo # Production docker compose -f docker-compose.yml -f docker-compose.app.yml --env-file .env.app up -d bigeye-mcp-appAdd both to your Claude Desktop config:
{ "mcpServers": { "bigeye-demo": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "BIGEYE_API_KEY=your_demo_key", "-e", "BIGEYE_BASE_URL=https://demo.bigeye.com", "-e", "BIGEYE_WORKSPACE_ID=your_demo_workspace_id", "bigeye-mcp-server:latest" ] }, "bigeye-app": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "BIGEYE_API_KEY=your_app_key", "-e", "BIGEYE_BASE_URL=https://app.bigeye.com", "-e", "BIGEYE_WORKSPACE_ID=your_app_workspace_id", "bigeye-mcp-server:latest" ] } } }
Available Tools
Issue Management
list_issues— List data quality issues across the workspaceget_issue— Get full details for a single issue by its internal IDsearch_issues— Find issues by their display name/number (e.g. "10921")list_related_issues— List issues related to a given issue via lineagelist_table_issues— List data quality issues for a specific table by nameupdate_issue— Update an issue's status, priority, or add a timeline messagecreate_incident— Create an incident by merging related issuesdelete_incident_members— Remove issues from an incidentget_resolution_steps— Get recommended resolution steps for an issue
Metrics & Quality
list_table_metrics— List all metrics (monitors) configured on a tablelist_table_level_metrics— List metric types that are table-level (vs column-level)create_metric— Create a new metric (monitor) on a table with validation, enum mapping, and column-type compatibility checksget_table_profile— Get data profile report including column statistics and distributioncreate_profile_job— Queue a new data profiling job for a tableget_profile_job_status— Check the status of a profiling job
Sensitive Data Scanning
list_data_classes— List data classification categories (e.g., "Email Address", "US SSN") with sensitivity levelsget_scan_findings— Get column-level classification scan results showing where sensitive data was detected
Data Lineage
get_lineage_graph— Get the full lineage graph (upstream/downstream/both) from a starting nodeget_lineage_node— Get details for a specific lineage nodelist_lineage_node_issues— List issues for a lineage node by its node IDsearch_lineage_nodes— Find lineage node IDs by path pattern (e.g. "WAREHOUSE/SCHEMA/TABLE")lineage_explore_catalog— Explore tables in Bigeye's cataloglineage_delete_node— Delete a custom lineage node
Root Cause & Impact Analysis
get_upstream_root_causes— Analyze upstream lineage to identify root causes of issuesget_downstream_impact— Analyze downstream impact of issues at a lineage nodeget_issue_lineage_trace— Trace a data quality issue end-to-end through lineagelist_report_upstream_issues— List upstream issues affecting a BI report or dashboard
Agent Lineage Tracking
lineage_track_data_access— Track data assets accessed by an AI agentlineage_commit_agent— Commit tracked data access to Bigeye's lineage graphlineage_get_tracking_status— Get the current status of lineage trackinglineage_clear_tracked_assets— Clear all tracked data assets without committinglineage_cleanup_agent_edges— Clean up old lineage edges for the AI agent
Data Dimensions
list_dimensions— List all data-quality dimensions with their metric type mappingsget_dimension— Get full details for a single dimension by IDcreate_dimension— Create a new Data Dimensionupdate_dimension— Update a dimension's name or descriptiondelete_dimension— Delete a Data Dimensionget_table_dimension_coverage— Analyze dimension coverage gaps for a table (recommended for "what monitoring is missing?")get_column_dimension_coverage— Analyze dimension coverage for specific columns in a table
Tags
list_tags— List or search workspace tagscreate_tag— Create a new tag with optional colorupdate_tag— Update a tag's name or colordelete_tag— Delete a tagtag_entity— Apply a tag to any entity (metric, table, column, etc.)untag_entity— Remove a tag from an entitylist_entity_tags— List all tags on a specific entity
System
get_health_status— Check the health and connectivity of the Bigeye APIlist_resources— List all available MCP resourceslist_data_sources— List all data sources/warehouses connected to Bigeye
Resources & Prompts
Resources:
bigeye://auth/status— Current authentication statusbigeye://health— API health statusbigeye://config— Current server configurationbigeye://issues— All issues from the configured workspacebigeye://issues/active— Active issues with filteringbigeye://issues/recent— Recently resolved or updated issues
Prompts:
authentication_flow— Guide for setting up authenticationcheck_connection_info— Guide for verifying API connectionmerge_issues_example— Examples for merging issueslineage_analysis_examples— Examples for lineage analysis
Agent Lineage Tracking
The server includes comprehensive lineage tracking for AI agents. Use the lineage_track_data_access tool to record data assets accessed during an agent session, then lineage_commit_agent to persist them to Bigeye's lineage graph. See the tool descriptions above for full details.
Development Setup
For local development without Docker:
Install Python 3.12+
Create a virtual environment:
python -m venv venv source venv/bin/activateInstall dependencies:
pip install -r requirements.txtSet environment variables:
export BIGEYE_API_KEY="your_api_key" export BIGEYE_BASE_URL="https://app.bigeye.com" export BIGEYE_WORKSPACE_ID="your_workspace_id"Run the server:
python server.py
Testing
# Run basic container tests
./scripts/test.sh
# Run basic tests + MCP protocol tests
./scripts/test.sh --mcp
# Run MCP protocol tests standalone (with optional --debug)
./scripts/test-mcp-protocol.shSee tests/README.md for details on the test suite.
Troubleshooting
Missing Environment Variables
Check your
.envfile or Claude Desktop config contains all required variablesVariable names are case-sensitive
Restart Claude Desktop after config changes
Authentication Errors
Verify your API key is valid with appropriate permissions
Workspace ID must be a number
Instance URL should have no trailing slash
Connection Issues
Verify the Bigeye instance URL is accessible
Check for firewall/proxy settings
Enable debug mode:
BIGEYE_DEBUG=true
Container Not Starting
Check Docker is running:
docker infoVerify image exists:
docker images | grep bigeyeCheck logs:
./bigeye-mcp.sh logs
~/.bigeye-mcp Directory
The docker-compose.yml mounts ~/.bigeye-mcp into the container for persistent credential storage. Docker will create this directory automatically if it doesn't exist. You don't need to put anything in it manually — it's used internally by the server.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.