MCP Blog Demo
Demo MCP Server kết nối Claude với ứng dụng Blog (Express + MongoDB).
🚀 Quick Start
Chạy với Docker (Recommended)
# Start MongoDB + App
docker compose -p trunglyson-mcp-blog up -d
Server sẽ chạy tại:
🔌 Kết nối với Claude
Claude Code (MCP URL)
http://localhost:3000/sse
🛠 MCP Tools Available
| Tool | Description |
|---|---|
list_posts | Lấy danh sách bài viết (filter: status, author, tag) |
get_post | Lấy chi tiết bài viết theo ID hoặc slug |
create_post | Tạo bài viết mới |
update_post | Cập nhật bài viết |
delete_post | Xóa bài viết |
search_posts | Tìm kiếm bài viết theo keyword |
get_blog_stats | Thống kê tổng quan blog |
📝 API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/posts | List posts |
| GET | /api/posts/:id | Get post detail |
| POST | /api/posts | Create post |
| PUT | /api/posts/:id | Update post |
| DELETE | /api/posts/:id | Delete post |
| GET | /api/posts/stats/overview | Blog statistics |
🧪 Test với cURL
# List posts
curl http://localhost:3000/api/posts
# Create post
curl -X POST http://localhost:3000/api/posts \
-H "Content-Type: application/json" \
-d '{"title":"Test Post","content":"Hello World","author":"Test"}'
# Search
curl "http://localhost:3000/api/posts?search=node"
📁 Project Structure
mcp-blog-demo/
├── docker-compose.yml
├── Dockerfile
├── package.json
├── src/
│ ├── index.js # Entry point
│ ├── config/
│ │ └── db.js # MongoDB connection
│ ├── models/
│ │ └── post.model.js # Mongoose schema
│ ├── routes/
│ │ └── post.routes.js # Express routes
│ ├── seed/
│ │ └── seed.js # Fake data seeder
│ └── mcp/
│ └── server.js # MCP Server (SSE)
🎯 Demo Scenarios
Sau khi kết nối MCP với Claude, thử các câu hỏi:
- "Cho tôi xem danh sách tất cả bài viết"
- "Tìm bài viết về Node.js"
- "Tạo bài viết mới về React với tiêu đề 'React Hooks Guide'"
- "Thống kê blog có bao nhiêu bài viết?"
- "Publish bài viết có ID xyz"