Skip to main content
Glama
itsnikhile

Claude MCP Data Engineer Server

by itsnikhile
README.md
# Claude MCP Data Engineer Server

A **Model Context Protocol (MCP)** server built for data engineers — gives Claude powerful tools to help with SQL, DBT, Snowflake, CSV analysis, pipeline validation, and ETL lineage.

## Tools Available

| Tool | Description |
|---|---|
| `format_sql` | Format & prettify SQL queries with proper indentation |
| `json_to_ddl` | Generate CREATE TABLE DDL from a JSON sample record |
| `analyze_csv` | Analyze CSV data — row count, column types, null counts |
| `generate_dbt_model` | Generate a dbt model SQL file with source + deduplication CTE |
| `validate_pipeline_config` | Validate a data pipeline JSON config for required fields |
| `generate_snowflake_table` | Generate a Snowflake CREATE TABLE with optional CLUSTER BY |
| `summarize_etl_lineage` | Summarize ETL lineage JSON into a human-readable pipeline flow |

## Setup

### 1. Install dependencies

```bash
pip install -r requirements.txt
```

### 2. Run the MCP server

```bash
python -m src.server
```

### 3. Connect to Claude Desktop

Add this to your `claude_desktop_config.json` (`~/AppData/Roaming/Claude/` on Windows):

```json
{
  "mcpServers": {
    "data-engineer": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "C:/Users/Nikhil/claude-mcp-data-engineer"
    }
  }
}
```

## Example Usage

### Format SQL
Ask Claude:
> "Format this SQL: select id,name from users where status='active' group by id"

### Generate DDL from JSON
Ask Claude:
> "Generate a CREATE TABLE DDL for this JSON: `{"id": 1, "name": "Nikhil", "salary": 95000.0, "joined": "2024-01-15"}`"

### Analyze CSV
Ask Claude:
> "Analyze this CSV data and tell me column types and null counts"

### Generate DBT Model
Ask Claude:
> "Generate a dbt model for source 'raw', table 'orders', columns: id, customer_id, amount, created_at"

### Validate Pipeline Config
Ask Claude:
> "Validate this pipeline config: `{"source": {"type": "snowflake"}, "destination": {"type": "s3"}, "schedule": "0 2 * * *"}`"

## Tech Stack

- **Python 3.10+**
- **MCP SDK** (`mcp[cli]`)
- **FastMCP** for server definition

## Author

**Nikhil E** — Sr. Data Engineer | BI Architect
GitHub: [itsnikhile](https://github.com/itsnikhile)