
Demo chuyên nghiệp tích hợp AI an toàn sử dụng MCP (Model Context Protocol) với Next.js 15, PostgreSQL và DeepSeek V4 Pro - Perfect cho vlog content.
概览
Demo chuyên nghiệp tích hợp AI an toàn sử dụng MCP (Model Context Protocol) với Next.js 15, PostgreSQL và DeepSeek V4 Pro - Perfect cho vlog content. Khi tích hợp AI vào sản phẩm, nhiều dev gặp phải: - ❌ : AI tạo SQL sai hoặc nguy hiểm (DROP TABLE, DELETE) - ❌ : AI "ảo giác" tạo query sai data - ❌ : User truyền lệnh gây hại - ❌ : Không kiểm soát được AI tạo gì - 🧠 : Chỉ suy luận, quyết định gọi tool nào - 🛡️ : Security guards, chặn lệnh nguy hiểm - 💻 : Kiểm soát 100% SQL trong tools - 📊 : Trả về data an toàn Database sẽ được tự động seed với: - 115 sản phẩm (5 categories) - Inventory data - Sales records (30 ngày) - Orders data Generic SELECT query với security guards - ✅ Only SELECT/WITH allowed - ❌ Blocks: DROP, DELETE, UPDATE, INSERT, etc. - ✅ Result limit: 100 rows max - ✅ SQL injection prevention "Nhiều bạn dev hỏi: Khi tích hợp AI, làm sao để nó không phá database? Hôm nay mình share giải pháp production-ready!" "Thay vì để AI tự viết SQL, chúng ta dùng MCP Pattern.
README
以下为原文 README 节选,完整内容请查看原文。
🎬 AI Chatbot Demo: MCP + PostgreSQL + DeepSeek V4 Pro
“Don’t let AI write SQL. Let AI call your secure API.”
Demo chuyên nghiệp tích hợp AI an toàn sử dụng MCP (Model Context Protocol) với Next.js 15, PostgreSQL và DeepSeek V4 Pro - Perfect cho vlog content.
🎯 Vấn đề giải quyết
Khi tích hợp AI vào sản phẩm, nhiều dev gặp phải:
- ❌ Security risks: AI tạo SQL sai hoặc nguy hiểm (
DROP TABLE,DELETE) - ❌ Hallucination: AI “ảo giác” tạo query sai data
- ❌ Prompt injection: User truyền lệnh gây hại
- ❌ No control: Không kiểm soát được AI tạo gì
✅ Giải pháp: MCP Pattern
User Prompt → AI (DeepSeek V4 Pro) → MCP Tools → PostgreSQL
↑ ↓
└─────── JSON Response ←─────────────┘
Nguyên tắc:
- 🧠 AI: Chỉ suy luận, quyết định gọi tool nào
- 🛡️ MCP Server: Security guards, chặn lệnh nguy hiểm
- 💻 Dev: Kiểm soát 100% SQL trong tools
- 📊 PostgreSQL: Trả về data an toàn
🚀 Quick Start
1. Cài đặt dependencies
pnpm install
2. Cấu hình environment
# Copy file .env.example
cp .env.example .env
# Cập nhật DEEPSEEK_API_KEY
# Lấy API key tại: https://platform.deepseek.com/api_keys
3. Khởi động PostgreSQL
pnpm docker:up
Database sẽ được tự động seed với:
- 115 sản phẩm (5 categories)
- Inventory data
- Sales records (30 ngày)
- Orders data
4. Chạy development servers
# Terminal 1: MCP Server
pnpm dev:mcp
# Terminal 2: Next.js Web App
pnpm dev:web
# Or run both concurrently
pnpm dev
5. Mở browser
Truy cập: http://localhost:3000
🏗️ Architecture
Tech Stack
| Layer | Technology | Purpose |
|---|---|---|
| Presentation | Next.js 15 + React 19 | Chat UI, Markdown preview |
| Styling | Tailwind CSS 4 | Responsive, dark mode |
| Orchestrator | Next.js Route Handlers | AI + MCP coordination |
| AI Brain | DeepSeek V4 Pro | Tool calling, reasoning |
| MCP Server | Express + MCP SDK | Tool execution, security |
| Database | PostgreSQL 16 (Docker) | Data storage |
Project Structure
mcp-postgres-demo/
├── docker/
│ ├── docker-compose.yml # PostgreSQL setup
│ └── init.sql # Database seeding (115 products)
├── mcp-server/
│ ├── src/
│ │ ├── index.ts # Server entry + HTTP endpoints
│ │ ├── db.ts # Connection pooling
│ │ └── tools/
│ │ ├── schema-tools.ts # list_tables, get_table_schema
│ │ ├── query-tools.ts # query_inventory, get_top_sales
│ │ └── execute-tool.ts # execute_read_query (security guard)
│ ├── package.json
│ └── tsconfig.json
├── web/
│ ├── src/
│ │ ├── app/
│ │ │ ├── api/chat/route.ts # AI orchestration endpoint
│ │ │ ├── page.tsx # Chat UI
│ │ │ └── layout.tsx # Root layout
│ │ └── lib/
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →