MCP Data Integration Server
Provides the ability to connect to various databases using SQLAlchemy, enabling the MCP server to read data from multiple database backends.
Integrates with SQLite databases, allowing the MCP server to read employee data from SQLite files.
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., "@MCP Data Integration Servermerge employee data from Excel, CSV, and JSON sources and export to CSV"
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.
Multi-Source Lakehouse Pipeline
An end-to-end, orchestrated data pipeline that uses FastMCP to ingest mocked PostgreSQL, CSV, Excel, and JSON sales data into an AWS S3 landing zone, standardizes it into a common model as Parquet, builds it up through a Databricks (Unity Catalog + Delta Lake) lakehouse into business-ready Gold tables, and serves those tables two ways: a 5-page Databricks AI/BI dashboard and a Genie Space for natural-language Q&A. A Databricks Job chains the full lakehouse build and dashboard refresh into a single, repeatable, on-demand or scheduled run — from raw files to a query-ready agent, following each step automatically.
All files insample_data/ are mocked demo data and are intentionally kept in the repository. Credentials are read only from a local .env file, which is ignored by Git.
Contents
Related MCP server: PySqlitMCP
Architecture
BRONZE — RAW INGESTION
PostgreSQL table ──┐
CSV file ──────────┼──> FastMCP tools ───> Amazon S3 landing/
Excel workbook ────┤ ├── sql/
JSON API payload ──┘ ├── csv/
├── excel/
└── json/
│
▼
SILVER — STANDARDIZATION AND PARQUET
Python transformers normalize, combine,
and deduplicate mocked source data
│
▼
Amazon S3 silver/
├── fact_sales_transactions/
├── dim_customers/
└── dim_products/
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ DATABRICKS JOB: MCP_Data_Pipeline_Run (orchestration) │
│ │
│ Setup_CatalogSchema → Load_StagingData → Clean_StagingData → │
│ Creating_GoldLayer → Customer_Sales_Report │
│ │
│ DATABRICKS LAKEHOUSE — UNITY CATALOG (mcp_lakehouse) │
│ │
│ silver_staging (external Delta tables over S3 silver/ Parquet) │
│ │ │
│ ▼ │
│ silver_clean (managed Delta tables — deduped, │
│ surrogate keys, standardized types & currency) │
│ │ │
│ ▼ │
│ gold (business-ready Delta marts) │
│ ├── customer_segmentation │
│ ├── product_performance │
│ ├── regional_sales │
│ ├── regional_product_performance │
│ └── monthly_sales │
└─────────────────────────┬─────────────────────────┬─────────────┘
│ │
▼ ▼
DATABRICKS AI/BI DASHBOARD GENIE SPACE (natural-
(Customer Sales Report) language Q&A over
Executive Summary · Regional Analysis the Gold tables)
Product Performance · Customer Analytics
· Global FiltersFeatures
Multi-source ingestion: PostgreSQL, CSV, Excel, and JSON inputs.
MCP tool interface: FastMCP exposes ingestion and transformation routines as callable tools.
Schema normalization: Source-specific column names are mapped into common sales, customer, and product entities.
In-memory S3 processing: Landing files are read from S3 and Parquet is written through memory buffers.
Lakehouse layer on Databricks: Unity Catalog (
mcp_lakehouse) withsilver_staging,silver_clean, andgoldschemas built on Delta Lake.Business-ready Gold marts: PySpark aggregations for customer segmentation (RFM-style recency/frequency/monetary with Active/Risky/Inactive status), product performance, and regional/monthly sales.
Databricks AI/BI dashboard: A 5-page Lakeview dashboard (
Customer_Sales_Report.lvdash.json) built directly on the Gold tables, with KPI counters, trend and regional charts, and an interactively sortable top-customers table.End-to-end orchestration: A Databricks Job (
MCP_Data_Pipeline_Run) chains catalog setup, staging, cleaning, Gold-layer build, and dashboard refresh into a single on-demand or scheduled run, with Unity Catalog lineage tracked automatically.Genie Space: A natural-language analytics agent over the Gold tables, letting non-technical users ask sales, customer, and regional questions directly without writing SQL.
Mocked data included: The repository can be inspected without sharing real business data.
Repository structure
.
├── sample_data/ # Mocked CSV, Excel, and JSON source files
├── src/
│ ├── config.py # Reads AWS and PostgreSQL variables from .env
│ ├── database.py # PostgreSQL table-to-CSV extraction
│ ├── storage.py # Amazon S3 client and upload helper
│ ├── parquet_utils.py # S3 reads and Snappy Parquet writes
│ ├── server.py # FastMCP server and public tools
│ └── transformers/
│ ├── sql_source.py # PostgreSQL landing-data transformer
│ ├── spreadsheet_source.py # CSV and Excel transformer
│ ├── json_source.py # JSON order transformer
│ └── base.py # Shared name-cleaning helper
├── DDL/
│ ├── all_schemas_access.sql # Catalog + schema bootstrap (silver_staging, silver_clean, gold)
│ ├── silver_staging/ # External Delta table definitions over S3 silver/ Parquet
│ ├── silver_clean/ # Managed Delta table definitions (cleaned, keyed)
│ └── gold/ # Business mart table definitions
├── Notebooks/
│ ├── 1_Creating mcp pipeline catalog and schema.ipynb # Unity Catalog + external table setup
│ ├── 2_Loading and viewing staging silver schema data.ipynb # Sanity-check silver_staging
│ ├── 3_Cleaning and Transforming silver staging and loading in silver clean.ipynb
│ └── 4_Business Ready Gold Layer.ipynb # Builds all 5 Gold tables
├── Customer_Analytical_Report/
│ └── Customer_Sales_Report.lvdash.json # Databricks AI/BI (Lakeview) dashboard definition
├── assets/
│ └── screenshots/ # README screenshots (orchestration Job, Genie Space)
├── test_connections.py # Optional AWS and PostgreSQL connectivity test
├── requirements.txt
├── .gitignore
└── README.mdQuick start
Prerequisites
Python 3.10 or later
An AWS account, S3 bucket, and IAM credentials with bucket access
A reachable PostgreSQL instance containing the configured source table
A Databricks workspace with Unity Catalog enabled, and access to the same S3 bucket (for the lakehouse layer, dashboard, orchestration Job, and Genie Space)
Install
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
python -m pip install -r requirements.txtpython3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -r requirements.txtConfiguration
Create a .env file in the project root. Never commit this file.
# AWS / S3
AWS_ACCESS_KEY_ID=your_access_key_id
AWS_SECRET_ACCESS_KEY=your_secret_access_key
AWS_REGION=eu-north-1
S3_BUCKET_NAME=your_s3_bucket_name
# PostgreSQL
POSTGRES_HOST=localhost
POSTGRES_PORT=5433
POSTGRES_DB=etl_pipeline
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_postgres_password.env and .env.* are ignored by Git. You can safely keep local credentials there; use .env.example for a commit-safe template if you add one later.
The S3 location referenced by DDL/silver_staging/*.sql must point at the same bucket configured in S3_BUCKET_NAME — update the LOCATION clause in those files if you use a different bucket name.
Verify connectivity
python test_connections.pyThis tests the configured PostgreSQL connection and lists objects in the configured S3 bucket.
Run the pipeline
1. Stage every source in the Bronze layer
python -c "from src.server import batch_ingest_all_sources; print(batch_ingest_all_sources())"This stages the mocked local CSV, Excel, and JSON files plus the configured PostgreSQL table under landing/ in S3.
2. Build the Silver layer (S3 Parquet)
python -c "from src.server import build_complete_silver_layer; print(build_complete_silver_layer())"This reads the landing files, normalizes them, removes duplicates, and writes three Parquet datasets to silver/ in S3.
3. Start the FastMCP server
python src/server.pyAn MCP-compatible client can then discover and call the project tools.
4. Build the Databricks lakehouse layer
Run the following notebooks, in order, against a Databricks cluster or SQL warehouse with Unity Catalog access:
Notebook | Purpose |
| Creates the |
| Sanity-checks that |
| Cleans, dedupes, and adds surrogate keys, writing managed Delta tables to |
| Builds the 5 Gold Delta tables from |
The DDL under DDL/ mirrors what these notebooks create and can be run directly (e.g. DDL/all_schemas_access.sql) to bootstrap or inspect the catalog independently of the notebooks.
5. Import the AI/BI dashboard
In a Databricks workspace with access to the mcp_lakehouse.gold schema, import Customer_Analytical_Report/Customer_Sales_Report.lvdash.json as a new Lakeview dashboard (Dashboards → Create → Import). See AI/BI dashboard below for what it contains.
6. Automate steps 4–5 with the orchestration Job
Steps 4 and 5 don't have to be run by hand every time — the MCP_Data_Pipeline_Run Databricks Job chains catalog setup, staging, cleaning, the Gold build, and the dashboard refresh into one on-demand or scheduled run. See Orchestration below.
7. Ask questions in the Genie Space
Once the Gold tables exist, the MCP Data Pipeline Sales Analytics Agent Genie Space can answer sales, customer, and regional questions directly in natural language. See Genie Space below.
MCP tools
Tool | Purpose | Default behavior |
| Extracts a PostgreSQL table as CSV and uploads it to S3. | Reads |
| Uploads one local raw file to a category in the landing layer. | Caller supplies a path and category. |
| Runs the PostgreSQL, CSV, Excel, and JSON Bronze ingestion steps. | Uses the files in |
| Builds and uploads the normalized Silver Parquet datasets. | Writes sales, customer, and product tables. |
Data layers and outputs
Bronze: raw S3 landing files
landing/sql/customer_transactions.csv
landing/csv/source_regional_sales.csv
landing/excel/raw_regional_sales.xlsx
landing/json/source_api_orders.jsonSilver: standardized Parquet datasets (S3)
silver/fact_sales_transactions/data.parquet
silver/dim_customers/data.parquet
silver/dim_products/data.parquetDataset | Description | Key fields |
| Individual sales transactions from every source. |
|
| Deduplicated customer records. |
|
| Deduplicated product and category records. |
|
silver_staging: external Delta tables (Databricks, mcp_lakehouse.silver_staging)
Read directly off the S3 silver/ Parquet output — same shape as above, with the addition of data_source for lineage back to the originating system.
silver_clean: cleaned, keyed Delta tables (Databricks, mcp_lakehouse.silver_clean)
Table | Key fields | Notes |
|
| Surrogate key added; missing emails backfilled from name; |
|
|
|
|
| Invalid rows (non-positive amount/quantity, missing customer ID) filtered out; only |
gold: business-ready Delta marts (Databricks, mcp_lakehouse.gold)
Table | Description | Key fields |
| Per-customer recency/frequency/monetary summary with a lifecycle status. |
|
| Revenue and volume by product type. |
|
| Revenue and volume by sales region. |
|
| Revenue and volume by region × product type. |
|
| Revenue and volume by calendar month. |
|
PostgreSQL column variants such as
id/transaction_idandtotal/amountare handled by the SQL transformer.CSV and Excel headers are lowercased, trimmed, and converted to underscore-separated names before their records are combined.
JSON orders are flattened with
pandas.json_normalize().Customer names are cleaned into first name, last name, and full name fields.
Sales are deduplicated by
transaction_idplusdata_source; customers and products are deduplicated by their IDs.In
silver_clean, onlypostgresql_legacyamounts are converted from INR to USD — other sources are already in USD and pass through unchanged. Surrogate keys (*_key) are added, and invalid rows (non-positive amount/quantity, missing customer ID) are dropped before the Gold layer is built.
AI/BI dashboard
Customer_Analytical_Report/Customer_Sales_Report.lvdash.json is a Databricks AI/BI (Lakeview) dashboard built directly on the 5 Gold tables. It ships as 5 pages:
Page | Contents |
Executive Summary | KPI counters (total revenue, customers, transactions, quantity), a monthly revenue trend chart, and a regional sales bar chart. |
Regional Analysis | Regional quantity trend, revenue/average-revenue counters, a region-by-metric heatmap, and average-transactions counter. |
Product Performance | Top-5-products table, a product trend chart, revenue/transaction counters, and a product-revenue-by-customer-type bar chart. |
Customer Analytics | Customer status breakdown (Active/Risky/Inactive) as a pie chart, purchase-frequency distribution, customer/value/frequency counters, and a top-10-customers table. |
Global Filters | Shared filter definitions applied across pages. |
The Customer Analytics page's top-customers table is parameter-driven rather than statically sorted: sort_by (Monetary Value / Purchase Frequency) and sort_order (Highest to Lowest / Lowest to Highest) filter widgets are bound to SQL CASE expressions in the underlying query, so the ranking updates live as a viewer changes the filters — no static "top N" assumption baked into the query.
Orchestration

MCP_Data_Pipeline_Run is a Databricks Job that chains the entire lakehouse build into a single run, in dependency order:
Setup_CatalogSchema → Load_StagingData → Clean_StagingData → Creating_GoldLayer → Customer_Sales_ReportTask | What it does |
| Runs Notebook 1 — creates the |
| Runs Notebook 2 — verifies |
| Runs Notebook 3 — cleans and loads |
| Runs Notebook 4 — builds all 5 Gold tables. |
| Refreshes the AI/BI dashboard so it reflects the latest Gold data. |
Unity Catalog tracks lineage across the whole run automatically — the job currently reports 13 upstream tables and 11 downstream tables — and Photon performance optimization is enabled on the job cluster. The job can be triggered on demand (Run now) or put on a recurring schedule from the same Jobs & Pipelines UI.
Genie Space

MCP Data Pipeline Sales Analytics Agent is a Databricks Genie Space built directly on the Gold tables, letting anyone — not just SQL users — ask sales, customer, and regional questions in plain English and get answered from governed, business-ready data. Capabilities include:
Identifying high-value customers via RFM segmentation, lifetime value, and activity status.
Tracking monthly sales trends, revenue, customer counts, and product quantities for forecasting and year-over-year comparisons.
Analyzing product-level performance (customer reach, units sold, revenue) to inform portfolio decisions.
Comparing product performance and sales across regions for distribution and marketing planning.
Example questions it answers directly: "Give me Top Customers data who has higher monetary value based on their status," "In which region there was maximum number of transactions?", and "What is the monthly trend of total sales revenue?"
Because it sits on top of the same Gold tables the dashboard and orchestration Job maintain, the Genie Space always reflects the latest successful pipeline run — no separate data prep required.
Troubleshooting
Symptom | Likely cause | Resolution |
| AWS values are missing or invalid. | Check the |
Connection refused on PostgreSQL | PostgreSQL is unavailable or using another port. | Check |
Missing landing object during Silver build | Bronze ingestion has not run successfully. | Run |
Parquet engine error |
| Run |
| External table created before S3 | Run the Python Silver step first, confirm the |
| Catalog/schemas not yet created in this workspace. | Run |
Dashboard imports with broken/empty visuals | Gold tables haven't been built yet, or the importing workspace can't reach | Run Notebook 4 first, and confirm Unity Catalog permissions on the |
Orchestration Job task fails partway through | An upstream task (e.g. | Check the failed task's run logs in Jobs & Pipelines; task dependencies mean a fix only requires re-running from the failed step, not the whole job. |
Genie Space gives an outdated or empty answer | The Gold tables haven't been refreshed since the last data change. | Trigger |
Security
.env,.env.*, private keys, certificates, and common credential-file names are excluded in.gitignore.Do not paste access keys or passwords into source code, issues, commits, or README examples.
The included
sample_data/files are mocked; replace them with governed data sources for production use.For production, use short-lived IAM roles or a managed secret store instead of long-lived local access keys where possible.
Roadmap
Add automated tests for transformations and S3 integrations.
Add structured logging, run IDs, and data-quality reports.
Add data-quality checks in
silver_cleanbefore Gold aggregation runs.Add a configurable metadata layer for source mappings.
Add secure deployment configuration and managed secret integration.
Expand Genie Space instructions/examples to cover product- and region-level drill-downs.
License
Add a license file before distributing or reusing this project outside its current scope.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -license-quality-maintenanceEnables interaction with MySQL databases through MCP tools for querying table structures, searching data across single or multiple tables, and managing database information. Built with FastMCP framework for secure database operations using environment-based configuration.
- Alicense-qualityCmaintenanceEnables comprehensive SQLite database management through natural language including database creation, table operations, data CRUD operations, backup/restore, and CSV import/export functionality. Built on FastMCP framework with PySqlit library for reliable database interactions.1MIT
- Flicense-qualityDmaintenanceFast, multi-sheet Excel retrieval and writing via MCP, supporting efficient data access with patch-based navigation and formula support.
- Alicense-qualityDmaintenanceEnables reading and writing Excel workbooks (.xlsx) through MCP. Supports listing sheets, tables, pivot tables, reading cell data, exporting to CSV/text/Markdown, and creating/modifying Excel files.GPL 3.0
Related MCP Connectors
UN FAOSTAT global food & agriculture statistics over a local SQLite mirror, via MCP.
CSV <-> JSON MCP.
Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.
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/RJrohan47/MCP_Data_Pipeline'
If you have feedback or need assistance with the MCP directory API, please join our Discord server