Enterprise-MCP-Data-Agent
README.md
# P4: Enterprise MCP Data Agent (Local LLM + Secure PostgreSQL Integration)
An enterprise-grade, secure, and privacy-first Autonomous Data Agent built using the **Model Context Protocol (MCP)**, **FastMCP**, **LlamaIndex Workflows**, and a localized **LLaMA 3.2** model via Ollama. This agent acts as an automated SQL assistant that interacts securely with an on-premise PostgreSQL database using dynamic tool-calling capability, ensuring no database schemas are exposed raw to the external world.
## 🚀 Key Features
- **Model Context Protocol (MCP):** Implements modern 2026 standardized client-server architecture (FastMCP) over Server-Sent Events (SSE).
- **Privacy-First Architecture:** Utilizes local `llama3.2:1b` for zero-data leak enterprise compliances.
- **Dynamic Tool Calling:** Built-in SQL execution layer protecting database context via strict system prompting (`list_tables`, `read_data`, `add_data`).
- **Streamlit User Interface:** A production-style, dynamic chat interface supporting streaming statuses of agent thoughts and backend tool invocations.
## 🛠️ Tech Stack
- **AI Framework:** LlamaIndex (FunctionAgent Workflows)
- **MCP Server Framework:** FastMCP (Python)
- **Database Driver:** Psycopg3 (Modern PostgreSQL)
- **Local LLM Engine:** Ollama (LLaMA 3.2 1B)
- **Frontend UI:** Streamlit
## 📁 Project Structure
- `server.py` - The standalone FastMCP server exposing database query and schema capabilities securely.
- `agent_notebook.ipynb` - Core testing and modular workflow pipeline using LlamaIndex client specs.
- `app.py` - Production-ready UI frontend wrapping the async agent loop.
## 🏃 How to Run
### Step 1: Start the FastMCP Server
Ensure your local PostgreSQL database is up and matching the config, then run:
```bash
python server.py --server_type sse --port 8000This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues