Data Recon MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| FASTAPI_URL | No | URL of the centralized backend FastAPI server (optional, defaults to embedded backend) | |
| DATASOURCE_MYSQL_PROD | No | JSON string with MySQL datasource configuration (example for pre-configured datasource) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| add_datasourceA | Register a new database connection (MySQL or Snowflake). AFTER USING: Always call test_datasource to verify the connection works. MySQL config: {host, port, username, password, database}. Snowflake config: {account, username, password, warehouse, database, schema}. |
| list_datasourcesA | List all registered data sources. FIRST STEP: Always check what data sources are available before doing any work. If empty, guide user to add data sources with add_datasource. |
| test_datasourceA | Test connection to a data source. USE: After adding a new data source, when user reports issues, or before starting reconciliation. |
| remove_datasourceA | Remove a registered data source. CAUTION: This deletes the configuration permanently. |
| get_databasesA | List all databases in a data source. USE: To discover available databases before listing tables. |
| get_tablesA | List all tables in a database/schema. PREFER search_tables if user mentions a specific table name pattern. |
| get_table_schemaB | Get column definitions (name, type, nullable, primary key). USE: To understand table structure, find numeric columns for aggregates, or find primary keys for sample checks. |
| get_metadata_catalogA | Get FULL metadata catalog (all databases, schemas, tables). USE: When starting with a data source to understand what's available. WARNING: Can be slow for large databases - prefer search_tables for targeted queries. |
| search_tablesA | 🔍 CRITICAL - USE FIRST when user mentions a table name. Search for tables by name pattern. NEVER assume table names exist - always search first. Example: User says 'orders table' → search pattern 'order' to find 'orders', 'order_items', etc. Then confirm with user which table they mean. |
| get_sample_dataA | Preview first N rows of a table. USE: To VERIFY you found the correct table before running expensive checks. Show user what data looks like. |
| validate_table_existsB | ⚠️ REQUIRED BEFORE CHECKS - Verify a table exists before running any reconciliation. ALWAYS call this for BOTH source AND target tables before run_row_count_check, run_aggregate_check, run_schema_check, or run_sample_check. Prevents wasted time and cryptic errors. |
| validate_columns_existB | ⚠️ REQUIRED FOR AGGREGATES - Verify columns exist before running aggregate checks. ALWAYS call this before run_aggregate_check to prevent errors from typos or missing columns. |
| get_table_statsB | Get quick statistics: row count, column count, size. USE: For sanity check before reconciliation, to estimate how long checks might take (large tables = longer). |
| compare_table_structuresA | 📊 RECOMMENDED FIRST STEP - Side-by-side comparison of source and target schemas BEFORE running data checks. Shows column differences and type mismatches that may cause false positives in data comparison. |
| run_row_count_checkA | ✅ FAST FIRST CHECK - Compare row counts. Run this FIRST - it's fast and catches major issues. PREREQUISITE: Call validate_table_exists for both tables first. For large tables, use partition_config to compare date ranges. |
| run_aggregate_checkA | Compare column-level aggregates: SUM, AVG, MIN, MAX, COUNT_DISTINCT. PREREQUISITES: 1) validate_table_exists 2) validate_columns_exist. USE: After row counts match, to verify numeric data integrity. |
| run_schema_checkC | Compare table schemas (column names, data types). USE: To identify structural differences that might cause data issues. |
| run_sample_checkA | 🔬 DETAILED CHECK - Compare actual row values by primary key. USE: After row counts and aggregates pass, for detailed validation. Identifies specific mismatched rows. PREREQUISITE: validate_table_exists, know the primary key. |
| create_recon_jobA | Create comprehensive reconciliation job with multiple checks. Runs asynchronously - use get_job_status to monitor. PREREQUISITES: validate_table_exists, compare_table_structures. |
| get_job_statusA | Get job progress: status, percent complete, current check. Poll every few seconds while running. Report to user: 'Job is 50% complete, running aggregate check...' |
| get_job_resultsA | Get detailed results after job completes. USE: After get_job_status shows status=completed. |
| list_jobsB | List recent reconciliation jobs. USE: To see job history or find previous results. |
| cancel_jobB | Cancel a running job. USE: When user wants to stop long-running reconciliation. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| quick_validation | Quick validation workflow for comparing two tables |
| full_reconciliation | Comprehensive reconciliation job with all check types |
| setup_datasources | Help setting up new data source connections |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/hindocharaj1997/data-recon-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server