
Bigeye MCP Server
from bigeyedata
Interact with Bigeye's data quality monitoring platform via its Datawatch API. Supports dynamic API key authentication.
Bigeye MCP Server
An MCP (Model Context Protocol) server that provides tools for interacting with the Bigeye Data Observability platform.
Telemetry
To help us improve the server, anonymous usage analytics (tool name, duration,
success/error) are sent to Bigeye. No arguments, results, or data are ever
collected. Set BIGEYE_TELEMETRY=false to turn it off.
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 volumesAvailable Tools
Issue Management
list_issuesβ List data quality issues across the workspace (filter by status, schema, orassignee_ids)get_current_userβ Get the authenticated user (id, email, name, workspaces); pair withlist_issues(assignee_ids=[id])to find issues assigned to youget_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 Catalog
search_schemasβ Search the data catalog for schemas by name (returns ids + warehouse)search_tablesβ Search the data catalog for tables by name (returns ids, schema + warehouse)search_columnsβ Search the data catalog for columns by name (returns ids, type + parent table)
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.
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.
pip install -r requirements.txtPrerequisites
- Docker (Docker Desktop or Docker Engine)
Quick Start
-
Build the Docker image:
./build-docker.sh -
Create a
.envfile with your credentials (see.env.example):cp .env.example .env # Edit .env with your values -
Start the long-lived container:
./bigeye-mcp.sh start -
Add 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)
Optional Environment Variables
- BIGEYE_DEBUG β Set to
truefor verbose debug logging (default:false) - BIGEYE_TELEMETRY β Set to
falseto disable anonymous usage telemetry (default:true). See Telemetry.
Multi-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=false -
Use 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-app -
Add 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" ] } } }
Development Setup
For local development without Docker:
- Install Python 3.12+
- Create a virtual environment:
python -m venv venv source venv/bin/activate - Install dependencies:
pip install -r requirements.txt - Set 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
Troubleshooting
Missing Environment Variables
- Check your
.envfile or Claude Desktop config contains all required variables - Variable 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 info - Verify image exists:
docker images | grep bigeye - Check 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.