teradata-mcp-poc

hanaahammad/teradata-mcp-poc
0 starsCommunity

Install to Claude Code

This server doesn't publish a one-line install command. Follow the setup in the source repository.

Summary

Enables natural language interaction with Teradata databases through Claude, allowing data exploration, profiling, and in-database KMeans clustering via MCP.

README.md

🏦 AI-Powered Customer Intelligence PoC

Claude + Teradata ClearScape Analytics via Model Context Protocol (MCP)

---

What Is This?

This project demonstrates how Claude AI can be connected directly to Teradata to enable:

  • 🔍 Natural language data exploration — Ask Claude about your data in plain English
  • 🤖 In-database ML — Run KMeans clustering inside Teradata via Claude, no data movement
  • 📊 Progressive segmentation — Show how richer features reveal richer customer segments
  • 🔗 MCP as a data engineering framework — A reusable pattern for AI + enterprise data

---

The Business Story

"We started with 50,000 customers and 2 years of transactions. By asking Claude natural language questions, we profiled our data, identified quality issues, and ran customer segmentation — all without writing a single line of SQL manually. Everything ran inside Teradata. No data left the platform."

Three Phases of Segmentation

| Phase | Features Used | What It Reveals | |---|---|---| | 1. Behavioral | RFM (Recency, Frequency, Monetary) | How customers transact | | 2. + Risk | RFM + Credit Score | Who is financially at-risk | | 3. + Demographics | RFM + Risk + Age + Income | Full customer identity |

Each phase finds a different optimal number of clusters — proving that richer data = richer insight.

---

Architecture

┌─────────────────────────────────────────────────────┐
│                  Claude Desktop                      │
│          (Natural Language Interface)                │
└────────────────────┬────────────────────────────────┘
                     │ MCP Protocol
┌────────────────────▼────────────────────────────────┐
│              MCP Server (server.py)                  │
│   13 Tools: query, profile, skew, PI, KMeans...     │
└────────────────────┬────────────────────────────────┘
                     │ teradatasql
┌────────────────────▼────────────────────────────────┐
│         Teradata ClearScape Analytics                │
│   transactions │ demographics │ credit_risk          │
│   segmentation_*_scaled │ val.tda_kmeans             │
└─────────────────────────────────────────────────────┘

---

Project Structure

teradata-mcp-poc/
│
├── config.example.yaml        ← Copy this → config.yaml and add credentials
├── requirements.txt           ← Python dependencies
│
├── mcp/
│   └── server.py              ← MCP server (15 tools for Teradata)
│
├── notebooks/
│   └── 01_poc_walkthrough.ipynb  ← Full PoC narrative (run this first)
│
├── scripts/
│   └── kmeans_experiment.py   ← Standalone Python experiment runner
│
└── docs/
    └── mcp_tools_reference.md ← All 15 MCP tools explained

---

Quick Start

Prerequisites

1. Clone the repo

git clone https://github.com/YOUR_USERNAME/teradata-mcp-poc.git
cd teradata-mcp-poc

2. Install dependencies

pip install -r requirements.txt

3. Configure credentials

cp config.example.yaml config.yaml
# Edit config.yaml with your Teradata host, username, and password

4. Connect Claude Desktop to Teradata

Add this to your Claude Desktop config file:

  • Mac: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "teradata": {
      "command": "python",
      "args": ["C:\\path\\to\\teradata-mcp-poc\\mcp\\server.py"]
    }
  }
}

Restart Claude Desktop — you'll see teradata appear in Settings → Connectors.

5. Talk to your data

Open Claude Desktop and ask: `` List all my Teradata databases Show me the tables in demo_user Profile the transactions table Check for data skew on the customer_demographics table Run a data quality check on demo_user.credit_risk ``

6. Run the notebook

jupyter notebook notebooks/01_poc_walkthrough.ipynb

---

MCP Tools Reference

| Tool | What it does | |---|---| | run_sql | Execute any Teradata SQL | | list_databases | Show all accessible databases | | list_tables | Show tables in a database | | get_schema | Column definitions via DBC.ColumnsV | | get_table_ddl | Full CREATE TABLE statement | | profile_table | Row count, nulls, distinct values, size | | check_duplicates | Find duplicate rows on key columns | | get_table_stats | Optimizer statistics (COLLECT STATS) | | check_data_skew | AMP distribution analysis | | get_pi_info | Primary Index definition | | find_table_references | Views/macros that use a table | | export_to_csv | Save query results to CSV | | get_space_usage | Perm space usage per database | | run_kmeans_experiment | Elbow analysis for k=2..N | | run_kmeans_final | Save final KMeans model to table |

---

Example Conversations with Claude

Data exploration: > "Profile the transactions table and tell me if there are any data quality issues"

Segmentation: > "Run a KMeans experiment on segmentation_rfm_scaled using monetary_scaled, frequency_scaled, recency_scaled for k=2 to 8"

Performance: > "Check if the customer_demographics table has any skew issues and review its Primary Index"

Lineage: > "Find everything that references the transactions table"

---

Dataset

The PoC uses a synthetic customer dataset with:

  • 799,477 transactions across 50,000 customers (Jan 2023 – Dec 2024)
  • Customer demographics: age, income, employment years
  • Credit risk: credit score (400–849), loan exposure, late payments
  • Pre-built features: RFM aggregations, multiple scaled tables for clustering

---

Tech Stack

| Component | Technology | |---|---| | AI Interface | Claude Desktop | | AI ↔ Data Protocol | MCP (Model Context Protocol) | | Database | Teradata ClearScape Analytics | | In-Database ML | Teradata VAL (val.tda_kmeans) | | Python ML | teradataml, scikit-learn | | Visualization | matplotlib, seaborn |

---

License

MIT — free to use and adapt for your own PoC.

---

Built with Claude Desktop + Teradata ClearScape Analytics

Related MCP servers

Browse all →