Skip to main content

Data Recon MCP Server

An MCP (Model Context Protocol) server for data reconciliation between MySQL and Snowflake databases. Enables LLM agents like Claude, Antigravity, and Perplexity to validate data integrity during migrations, ETL processes, and ongoing monitoring.

🚀 Quick Start

Installation

pip install data-recon-mcp

Configuration

Add to your MCP client configuration:

For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "data-recon": {
      "command": "python3",
      "args": ["-m", "mcp_server"]
    }
  }
}

For Antigravity (~/.gemini/antigravity/mcp_config.json):

{
  "data-recon": {
    "command": "python3",
    "args": ["-m", "mcp_server"]
  }
}

For Perplexity (MCP Settings):

{
  "data-recon": {
    "command": "python3",
    "args": ["-m", "mcp_server"]
  }
}

That's it! Restart your LLM client and start using the tools.

✨ Features

  • All-in-One - Single command starts everything (MCP server + FastAPI backend)
  • 23 MCP Tools for comprehensive data reconciliation
  • MySQL and Snowflake support
  • Async job execution with progress tracking
  • SQLite metadata storage - datasource configs persist locally

🔧 Advanced Configuration

Using a Centralized Backend

For team environments where you want everyone to share the same datasources:

1. Start the centralized backend:

git clone https://github.com/hindocharaj1997/data-recon-mcp.git
cd data-recon-mcp
pip install -e .
uvicorn data_recon.main:app --host 0.0.0.0 --port 8000

2. Configure clients to use it:

{
  "data-recon": {
    "command": "python3",
    "args": ["-m", "mcp_server"],
    "env": {
      "FASTAPI_URL": "http://your-server.company.com:8000"
    }
  }
}

Pre-configured Data Sources

Register data sources via environment variables:

{
  "data-recon": {
    "command": "python3",
    "args": ["-m", "mcp_server"],
    "env": {
      "DATASOURCE_MYSQL_PROD": "{\"type\":\"mysql\",\"host\":\"localhost\",\"port\":3306,\"username\":\"user\",\"password\":\"pass\",\"database\":\"mydb\"}"
    }
  }
}

📊 MCP Tools

Category Tools Description
Data Source Management 7 Add, list, test, remove datasources
Discovery & Validation 7 Search tables, validate existence, preview data
Individual Checks 4 Row count, aggregates, schema, sample rows
Job Management 5 Create/monitor reconciliation jobs

Key Tools

  • add_datasource - Register a MySQL or Snowflake connection
  • search_tables - Find tables by pattern
  • run_row_count_check - Compare row counts between source and target
  • run_aggregate_check - Compare SUM, AVG, MIN, MAX values
  • create_recon_job - Run comprehensive reconciliation with all checks

🏗️ Architecture

┌─────────────────────────────────────────────────────────┐
│                    LLM Client                           │
│              (Claude, Antigravity, etc.)                │
└─────────────────────┬───────────────────────────────────┘
                      │ MCP Protocol (stdio)
                      ▼
┌─────────────────────────────────────────────────────────┐
│                 MCP Server                              │
│            (python3 -m mcp_server)                      │
├─────────────────────────────────────────────────────────┤
│  Embedded FastAPI Backend (or external via FASTAPI_URL) │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────┐ │
│  │   SQLite    │  │   MySQL     │  │   Snowflake     │ │
│  │  (metadata) │  │  Connector  │  │   Connector     │ │
│  └─────────────┘  └─────────────┘  └─────────────────┘ │
└─────────────────────────────────────────────────────────┘

🧪 Development

# Clone and setup
git clone https://github.com/hindocharaj1997/data-recon-mcp.git
cd data-recon-mcp
pip install -e ".[dev]"

# Run tests
pytest

# Start local MySQL for testing
docker compose -f tests/docker-compose.yml up -d

📝 License

MIT

🤝 Contributing

Contributions welcome! Please open an issue first to discuss proposed changes.

Metadata

Release files for data-recon-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for data-recon-mcp 0.2.0
File Size Uploaded
data_recon_mcp-0.2.0.tar.gz 33.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for data-recon-mcp 0.2.0
File Interpreter ABI Platform
data_recon_mcp-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 72.9 kB

Release files / data_recon_mcp-0.2.0.tar.gz

Download URL data_recon_mcp-0.2.0.tar.gz
Size 33.9 kB
Tags Source
SHA-256 checksum
How to use checksums
147a964ce8b666c89f31d48b9a19a1120338e25fe2720ed8520c027443e870cf
BLAKE2b-256 checksum
How to use checksums
db693a1c8af7db94d94aec3405add396d757a84535e76f57d3d5a43ec4bde946
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / data_recon_mcp-0.2.0-py3-none-any.whl

Download URL data_recon_mcp-0.2.0-py3-none-any.whl
Size 39.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d6f9d3c9fba2bbb5c5ce3a5c687bd08a3741cdc93030aa590e3f2815c4751a25
BLAKE2b-256 checksum
How to use checksums
f09c86c83f4dc5fc256234cec6dcc9bdc52ceb4d79f69733fc3f96331f32b59b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page