Từ Ý Tưởng Đến MCP: Kết Nối AI Với Blog Cá Nhân
Vài tuần trước, tôi có một ý tưởng đơn giản nhưng đầy tham vọng: điều gì sẽ xảy ra nếu tôi có thể "nói chuyện" với blog của mình theo cách tôi nói chuyện với AI? Không chỉ đọc bài — mà còn liệt kê, tạo mới, và đăng bài — tất cả ngay trong Cursor hoặc Claude, mà không cần mở trình duyệt.
Ý tưởng đó trở thành ginbok-web — một MCP server tùy chỉnh được xây dựng riêng cho blog cá nhân của tôi tại ginbok.com.
MCP Là Gì và Tại Sao Nó Quan Trọng?
MCP (Model Context Protocol) là một tiêu chuẩn mở do Anthropic giới thiệu, cho phép các mô hình AI kết nối với các công cụ và nguồn dữ liệu bên ngoài theo cách có cấu trúc, an toàn và nhất quán. Hãy hình dung nó như một "ổ cắm vạn năng" — thay vì xây dựng tích hợp riêng cho từng công cụ AI, bạn chỉ cần expose dịch vụ của mình một lần dưới dạng MCP server, và bất kỳ AI client tương thích nào (Cursor, Claude Desktop, v.v.) đều có thể sử dụng.
Với developer, đây là một bước ngoặt. AI agent của bạn không còn là chatbot nữa — nó trở thành người vận hành thực sự của hệ thống bạn.
ginbok-web Có Thể Làm Gì?
MCP server ginbok-web cung cấp ba công cụ cốt lõi:
- list-posts — Duyệt các bài blog đã đăng với bộ lọc theo danh mục, tag, ngôn ngữ (EN/VI) và phân trang.
- create-post — Tạo bài blog song ngữ hoàn chỉnh (Tiếng Anh + Tiếng Việt) bằng AI, với khả năng cấu hình độ dài, giọng văn và mức độ sáng tạo.
- publish-post — Đẩy bài viết trực tiếp lên CMS với đầy đủ metadata: tiêu đề, nội dung, tác giả, danh mục, tag và mô tả SEO — bằng cả hai ngôn ngữ.
Thực tế, chính bài blog này được viết và đăng hoàn toàn thông qua công cụ publish-post — không cần trình duyệt, không cần đăng nhập CMS, chỉ là một cuộc hội thoại với Claude.
Stack Kỹ Thuật
Xây dựng MCP server đòi hỏi một số quyết định kỹ thuật quan trọng:
- Runtime: Node.js (v20) với
@modelcontextprotocol/sdkchính thức - Transport: stdio cho môi trường local, HTTP/SSE cho kết nối từ xa
- CMS backend: Episerver / Optimizely, kết nối qua REST API
- Triển khai: Đóng gói dưới dạng npx package để bất kỳ developer nào cũng có thể chạy ngay lập tức
Một bài học quan trọng: khi cấu hình đường dẫn Node.js qua NVM cho MCP trên Windows, hãy chú ý đúng path. NVM for Windows lưu các version dưới AppData\Local\nvm, không phải AppData\Roaming\nvm — một sự khác biệt nhỏ nhưng có thể làm hỏng toàn bộ cấu hình.
Tại Sao Tôi Xây Dựng Điều Này?
Câu trả lời thật lòng: tôi muốn trải nghiệm cảm giác khi các công cụ của mình là AI-native. Không phải AI-assisted — mà AI-native. Nơi một agent có thể tự quản lý pipeline nội dung, soạn bài, kiểm tra những gì đã đăng, và xuất bản bài mới — tất cả trong một cuộc hội thoại duy nhất.
ginbok-web là một dự án nhỏ, nhưng nó đại diện cho một sự chuyển dịch lớn hơn: những công cụ developer tốt nhất của thập kỷ tới sẽ không chỉ có API — chúng sẽ được thiết kế cho agent ngay từ đầu.
Kế Hoạch Tiếp Theo
Tôi đang dự định mở rộng ginbok-web với:
- Công cụ xóa / hủy đăng để quản lý vòng đời nội dung
- Công cụ analytics để truy vấn hiệu suất bài viết
- Tính năng đặt lịch đăng bài để agent có thể xếp hàng nội dung
Nếu bạn là developer tò mò về MCP, tôi thực sự khuyến khích bạn hãy tự xây dựng một server cho thứ gì đó bạn sở hữu — một blog, một ứng dụng to-do, một dashboard cá nhân. Đường cong học tập không quá dốc, và phần thưởng — khi AI thực sự trở thành người vận hành hệ thống của bạn — thực sự rất thú vị.
Tương lai không chỉ là AI trả lời câu hỏi. Đó là AI hành động — thay mặt bạn, thông qua các công cụ của chính bạn.