Tôi còn nhớ cách đây vài tháng, khi mới bắt đầu tìm hiểu về MCP (Model Context Protocol), tôi đã ngồi trước màn hình gần 3 ngày mà không biết bắt đầu từ đâu. Tài liệu trên mạng toàn tiếng Anh, thuật ngữ chuyên ngành dày đặc, và code mẫu thì chạy trên máy tác giả nhưng không chạy trên máy tôi. Bài viết này ra đời vì tôi muốn bạn – người chưa từng viết một dòng API nào – vẫn có thể tự tay dựng được một MCP server kết nối với Claude Code chỉ trong một buổi sáng. Mọi thứ sẽ đi từng bước nhỏ, kèm gợi ý chỗ cần chụp màn hình để bạn không bị lạc.

MCP Server Là Gì? (Giải Thích Không Dùng Thuật Ngữ)

Hãy tưởng tượng Claude Code giống như một đầu bếp giỏi – nó có thể nấu nhiều món, nhưng đôi khi cần nguyên liệu từ bên ngoài (dữ liệu nội bộ công ty, file Excel trong máy bạn, cơ sở dữ liệu khách hàng…). MCP server chính là người giao hàng: mỗi khi đầu bếp cần, người giao hàng chạy đi lấy đúng nguyên liệu đó và mang về. Bạn chỉ cần dạy cho người giao hàng biết “đi đâu, lấy cái gì” – và Claude Code sẽ tự động gọi khi cần.

Thuật ngữ chính thức thì MCP là Model Context Protocol do Anthropic công bố, nhưng bạn cứ hiểu nôm na là “chuẩn cắm” giúp hai phần mềm nói chuyện được với nhau. Trong bài này ta sẽ tự dựng một custom data connector – tức là một người giao hàng do chính bạn viết.

Trước Khi Bắt Đầu Cần Chuẩn Bị Gì?

📸 Ảnh chụp gợi ý: cửa sổ Terminal/PowerShell đã mở – bạn nên chụp ở đây để khẳng định môi trường đã sẵn sàng.

Bước 1: Tạo Thư Mục Dự Án Trong 30 Giây

Bạn mở Terminal (hoặc PowerShell trên Windows) rồi dán nguyên khối dưới đây. Mỗi dòng là một “câu lệnh” – máy tính sẽ tự làm cho bạn:

# 1. Tạo thư mục dự án và vào trong đó
mkdir my-first-mcp
cd my-first-mcp

2. Tạo môi trường ảo để cài thư viện riêng cho dự án

python -m venv .venv

3. Kích hoạt môi trường ảo

Trên macOS/Linux:

source .venv/bin/activate

Trên Windows PowerShell:

.venv\Scripts\activate

4. Cài hai thư viện cần thiết

pip install mcp requests

📸 Ảnh chụp gợi ý: Terminal hiển thị dòng “Successfully installed mcp-… requests-…” – đây là dấu hiệu cài đặt thành công.

Bước 2: Viết MCP Server Đầu Tiên

Bạn mở trình soạn thảo bất kỳ (Notepad, VS Code, Sublime…), tạo file mới đặt tên là server.py, rồi dán nguyên nội dung bên dưới. Đừng lo nếu chưa hiểu hết – ở đoạn sau tôi sẽ giải thích từng dòng.

# server.py

Đây là MCP server của bạn – chạy một lần là nó "đứng đường" chờ Claude Code gọi.

from mcp.server.fastmcp import FastMCP import requests

1. Khởi tạo server với cái tên dễ nhớ

mcp = FastMCP("holy-sheep-connector")

2. Khai báo "công cụ" đầu tiên: hỏi đáp bằng tiếng Việt

@mcp.tool() def hoi_dap_vi(cau_hoi: str) -> str: """Trả lời câu hỏi tiếng Việt bằng mô hình DeepSeek V3.2 qua HolySheep AI.""" resp = requests.post( "https://api.holysheep.ai/v1/chat/completions", headers={ "Authorization": "Bearer YOUR_HOLYSHEEP_API_KEY", "Content-Type": "application/json", }, json={ "model": "deepseek-chat", "messages": [ {"role": "system", "content": "Bạn trợ lý thân thiện, trả lời ngắn gọn bằng tiếng Việt."}, {"role": "user", "content": cau_hoi}, ], }, timeout=15, ) data = resp.json() return data["choices"][0]["message"]["content"]

3. Khai báo công cụ thứ hai: tóm tắt văn bản dài

@mcp.tool() def tom_tat(van_ban: str) -> str: """Tóm tắt văn bản tiếng Việt trong 3 gạch đầu dòng.""" resp = requests.post( "https://api.holysheep.ai/v1/chat/completions", headers={ "Authorization": "Bearer YOUR_HOLYSHEEP_API_KEY", "Content-Type": "application/json", }, json={ "model": "deepseek-chat", "messages": [ {"role": "system", "content": "Bạn chuyên tóm tắt văn bản thành 3 gạch đầu dòng bằng tiếng Việt."}, {"role": "user", "content": f"Hãy tóm tắt văn bản sau:\n\n{van_ban}"}, ], }, timeout=15, ) return resp.json()["choices"][0]["message"]["content"]

4. Chạy server ở chế độ stdio (chuẩn MCP)

if __name__ == "__main__": mcp.run()

Giải thích nhanh: FastMCP(...) tạo ra “tiệm giao hàng” của bạn; mỗi hàm có @mcp.tool() chính là một “món hàng” mà Claude Code có thể yêu cầu. Hai hàm trên đều dùng HolySheep AI làm bộ não xử lý, vì vậy bạn không cần tốn tiền mua key từ OpenAI hay Anthropic.

📸 Ảnh chụp gợi ý: cửa sổ VS Code đang mở file server.py với highlight cú pháp – giúp người đọc hình dung cấu trúc dự án.

Bước 3: Kết Nối MCP Server Với Claude Code

Claude Code đọc một file cấu hình JSON để biết cần khởi động server nào. Bạn tạo file claude_desktop_config.json (nếu chưa có) rồi dán nội dung sau. Nhớ thay /duong-dan-that bằng đường dẫn tuyệt đối đến file server.py trên máy bạn.

{
  "mcpServers": {
    "holy-sheep-connector": {
      "command": "python",
      "args": ["C:/Users/TEN-BAN/my-first-mcp/server.py"],
      "env": {
        "PYTHONPATH": "C:/Users/TEN-BAN/my-first-mcp"
      }
    }
  }
}

Sau khi lưu xong, bạn khởi động lại Claude Code. Trong ô chat, gõ thử: “Dùng công cụ hoi_dap_vi để giải thích MCP là gì trong 2 câu.” Nếu Claude Code hiển thị hai công cụ hoi_dap_vitom_tat trong danh sách – bạn đã thành công.

📸 Ảnh chụp gợi ý: cửa sổ Claude Code hiển thị danh sách MCP tools đã được nạp – đây là bằng chứng trực quan rõ nhất.

So Sánh Chi Phí: HolySheep AI vs Các Nền Tảng Quốc Tế

Một trong những lý do tôi chuyển sang HolySheep là vì giá. Bảng dưới thống kê giá công bố năm 2026 (đơn vị USD / 1 triệu token – gọi là MTok) cho cùng một lượng xử lý:

Mô hìnhGiá quốc tếGiá qua HolySheep (¥1=$1)Tiết kiệm
GPT-4.1$8.00~$1.2085%
Claude Sonnet 4.5$15.00~$2.2585%
Gemini 2.5 Flash$2.50~$0.3885%
DeepSeek V3.2$0.42~$0.0685%

Nếu mỗi tháng bạn tiêu tốn khoảng 20 triệu token qua Claude Sonnet 4.5, cước quốc tế sẽ là 20 × $15 = $300. Qua HolySheep AI với cùng khối lượng thì chỉ tốn khoảng $45 – tức là tiết kiệm $255 mỗi tháng. Cộng thêm việc thanh toán bằng WeChat / Alipay quen thuộc, tổng chi phí vận hành MCP server của tôi giảm đáng kể so với lúc đầu dùng Anthropic trực tiếp.

Hiệu Năng Thực Tế (Benchmark Của Tôi Trên Máy Cá Nhân)

Đây là số liệu tôi đo bằng lệnh time curl … gọi lặp lại 100 lần giữa máy local và HolySheep AI, môi trường mạng gia đình tại TP. HCM:

So với con số 120 – 180 ms khi tôi thử gọi Anthropic trực tiếp từ Vi