TROISINH
Sử dụng thực chiếnMCP — Kết nối công cụ bên ngoài

Cài đặt MCP Server đầu tiên: Kết nối Claude Code với Database và GitHub trong 15 phút

Hướng dẫn thực chiến kết nối Claude Code với GitHub, Database, Slack qua Model Context Protocol. Từ cài đặt đến chạy query đầu tiên trong 15 phút.

Định nghĩa

MCP (Model Context Protocol) là giao thức chuẩn hóa để Claude Code "nói chuyện" trực tiếp với thế giới bên ngoài — từ database PostgreSQL đến API GitHub hay thậm chí trình duyệt Chrome. Việc cài đặt MCP Server đầu tiên biến Claude từ một chatbot cục bộ thành AI agent có khả năng tương tác thực sự với toàn bộ hệ sinh thái công cụ của bạn, không cần qua tay người dùng.

Giải thích chi tiết

Tại sao cần MCP thay vì dùng lệnh thường?

Trước MCP, muốn Claude đọc dữ liệu từ PostgreSQL, bạn phải: viết script kết nối, copy kết quả, paste vào chat, rồi hỏi Claude phân tích. Quy trình này gọi là "human API" — bạn đóng vai trò cầu nối thủ công, copy-paste liên tục giữa AI và database.

MCP xóa bỏ bước trung gian: Claude tự động phát hiện cấu trúc bảng, viết query, và thực thi trực tiếp qua giao thức JSON-RPC. Bạn chỉ cần nói: "Cho tôi biết doanh thu tháng này", Claude lo phần còn lại — từ kết nối đến phân tích.

Kiến trúc 3 lớp của MCP

Khi cài đặt MCP Server, bạn đang thiết lập một trong ba thành phần sau:

  1. MCP Host: Chính là Claude Code (Desktop hoặc CLI) — nơi LLM chạy và đưa ra quyết định
  2. MCP Client: Lớp dịch bên trong Claude, chuyển đổi ý định của AI thành lệnh JSON-RPC
  3. MCP Server: Process độc lập bạn cài đặt, chuyên biệt cho từng dịch vụ (PostgreSQL, GitHub, Slack)

Server giao tiếp với Client qua STDIO (local) hoặc SSE (remote). Điểm then chốt: Server chỉ expose những capability cụ thể (read-only hoặc read-write) qua tools/list, và Claude phải xin phép người dùng trước mỗi lần gọi tool.

Chuẩn bị môi trường

Trước khi cài đặt server đầu tiên, bạn cần:

  • Claude Code phiên bản gần đây (hỗ trợ MCP)
  • Node.js (v18+) hoặc Python (v3.9+) tùy loại server bạn chọn
  • Transport layer: Hầu hết server đầu tiên dùng STDIO — đơn giản và không cần cấu hình network

Các bước cài đặt cơ bản

Dù bạn chọn server nào (SQLite, GitHub, hay Filesystem), quy trình đều gồm 3 bước:

  1. Cài package: npm install -g @modelcontextprotocol/server-sqlite hoặc tương đương
  2. Thêm vào Claude: Dùng lệnh claude mcp add hoặc sửa file ~/.claude/settings.json để đăng ký server
  3. Approve capabilities: Lần đầu Claude gọi tool, hệ thống sẽ hỏi bạn có cho phép không — đây là "human-in-the-loop" security model của MCP

Ví dụ thực tế

Kết nối SQLite để query chi tiêu cá nhân

Bạn có file expenses.db chứa chi tiêu cá nhân từ Grab, Shopee, VietQR. Thay vì mở TablePlus hay viết script Python, bạn muốn hỏi Claude trực tiếp trong terminal:

# Cài MCP server cho SQLite
npm install -g @modelcontextprotocol/server-sqlite

# Thêm vào Claude Code
claude mcp add --transport stdio sqlite -- npx @modelcontextprotocol/server-sqlite ~/finance/expenses.db

Giờ trong Claude, bạn gõ: "Tôi đã chi bao nhiêu cho cafe và Grab tháng này?". Claude tự động:

  1. Gọi list_tables để xem schema
  2. Gọi describe_table để hiểu cấu trúc bảng transactions
  3. Gọi execute_query với SELECT SUM(amount) FROM transactions WHERE category IN ('cafe', 'grab') AND date >= '2024-01-01'
  4. Trả lời bạn bằng tiếng Việt: "Bạn đã chi 1.250.000đ cho cafe và 3.800.000đ cho Grab, tăng 15% so với tháng trước"

MCP GitHub để review PR từ terminal

Developer tại startup Việt Nam đang cần review PR của đồng nghiệp nhưng không muốn rời khỏi terminal để mở browser:

# Cài GitHub MCP server
npm install -g @modelcontextprotocol/server-github

# Thêm với GitHub token (lưu trong env)
claude mcp add --transport stdio github --env GITHUB_PERSONAL_ACCESS_TOKEN=$GH_TOKEN -- npx @modelcontextprotocol/server-github

Trong Claude: "Review PR #45 cho tôi, xem có lỗi logic không". Claude sẽ:

  • Gọi get_pull_request để đọc diff
  • Gọi get_file_contents để kiểm tra context của những file bị sửa
  • Phân tích và đưa ra nhận xét: "Dòng 23 có thể gây race condition vì không dùng transaction. Nên thêm index vào bảng orders để tránh full table scan."

MCP Filesystem để tổ chức hóa đơn hàng loạt

Freelancer thiết kế ở Hà Nội có 500 file hóa đơn PDF và ảnh chụp từ các quán cà phê coworking space cần đổi tên theo ngày và di chuyển vào thư mục theo tháng. Thay vì viết script bash phức tạp:

claude mcp add --transport stdio filesystem -- npx @modelcontextprotocol/server-filesystem ~/Documents/Invoices

Rồi hỏi Claude: "Tổ chức file trong ~/Documents/Invoices theo cấu trúc 2024/Thang-01/, đọc timestamp trong filename để phân loại". Claude sẽ dùng read_file để kiểm tra metadata, write_file để tạo thư mục, và move_file để di chuyển — tất cả qua giao thức MCP với quyền chỉ trong thư mục bạn chỉ định.

Ứng dụng

Developer muốn "code trong database"

  • Use case: Query PostgreSQL/SQLite trực tiếp từ Claude Code mà không cần context-switch sang DataGrip hay psql
  • Lợi ích: Claude nhìn thấy schema thực tế, không cần bạn mô tả cấu trúc bảng, giảm 90% thời gian viết query cho báo cáo nội bộ

Product Manager cần báo cáo nhanh

  • Use case: Kết nối MCP với Slack hoặc Google Sheets để pull dữ liệu daily standup từ team ở TP.HCM và Hà Nội
  • Lợi ích: Hỏi bằng tiếng Việt "Tình hình bug tuần này thế nào?", Claude tự động truy vấn Linear/Jira qua MCP rồi tóm tắt gửi channel Slack

Data Analyst làm việc với CSV lớn

  • Use case: Dùng MCP Filesystem để Claude "nhìn" vào file CSV 100MB chứa dữ liệu bán hàng từ Shopee/Lazada, phân tích pattern, và suggest cleaning steps
  • Lợi ích: Không cần load file vào context window (tốn token), chỉ gửi schema và sample data qua MCP

So sánh

Tiêu chíMCP (Model Context Protocol)API truyền thống (REST/GraphQL)
Cách thức kết nốiChuẩn hóa qua JSON-RPC, auto-discoveryViết code integration riêng cho từng API
Context windowTiết kiệm ~90% token (chỉ gửi kết quả query, không gửi toàn bộ docs)Phải nhét API docs vào prompt để AI hiểu
Bảo mậtUser approve từng tool call, sandboxed directoryPhụ thuộc vào API key permissions, rủi ro cao hơn
Thời gian setup5 phút (npm install + 1 lệnh add)30 phút - 2 giờ (đọc docs, viết wrapper)
Khả năng mở rộngMột server chạy được với mọi MCP-compatible client (Claude, Cursor, Zed)Lock-in vào từng platform

Kết luận: MCP không thay thế API — nó là lớp "USB-C" giúp AI agent giao tiếp với API mà không cần bạn viết glue code. Nếu chỉ cần AI đọc dữ liệu từ 1-2 nguồn cố định, REST API truyền thống vẫn ổn. Nhưng khi muốn AI tự động khám phá và tương tác với nhiều tools động, MCP là tiêu chuẩn bắt buộc.

Bài viết liên quan

Cùng cụm MCP

Đọc tiếp

On this page