Nếu bạn đang theo dõi xu hướng AI trong thời gian gần đây, chắc hẳn bạn đã nghe đến cụm từ MCP server. Đây là một trong những khái niệm đang được cộng đồng lập trình viên thảo luận sôi nổi nhất. Bài viết này sẽ giải thích MCP là gì, tại sao nó quan trọng và cách bạn — dù là sinh viên — cũng có thể bắt đầu sử dụng ngay hôm nay.

MCP Là Gì?

MCP (Model Context Protocol) là một giao thức mã nguồn mở do Anthropic (công ty tạo ra Claude AI) phát triển và công bố vào cuối năm 2024. MCP định nghĩa một chuẩn thống nhất để các mô hình AI có thể kết nối và tương tác với các công cụ, dữ liệu bên ngoài.

Nói đơn giản hơn: trước đây, AI chỉ trả lời dựa trên dữ liệu nó được huấn luyện. Với MCP, AI có thể đọc file, gọi API, truy vấn database, thực thi lệnh terminal… tất cả thông qua một chuẩn giao tiếp chung.

MCP giống như một “ổ cắm điện chuẩn” — bất kỳ thiết bị nào (AI model) cũng có thể cắm vào bất kỳ nguồn điện nào (công cụ/dữ liệu) mà không cần adapter riêng.


Tại Sao MCP Quan Trọng?

Trước MCP, mỗi AI assistant có cách tích hợp công cụ riêng:

  • GitHub Copilot dùng plugin riêng
  • ChatGPT dùng function calling riêng
  • Claude dùng tool use riêng

Điều này khiến lập trình viên phải viết code tích hợp khác nhau cho từng AI. MCP giải quyết vấn đề này bằng cách chuẩn hóa giao tiếp giữa AI và công cụ.

Lợi ích chính:

Đặc điểm Không có MCP Có MCP
Tích hợp công cụ Mỗi AI một cách Một chuẩn duy nhất
Bảo mật Khó kiểm soát Người dùng kiểm soát quyền truy cập
Khả năng mở rộng Hạn chế Dễ thêm công cụ mới
Cộng đồng Phân tán Sinh thái chung

Kiến Trúc MCP Hoạt Động Như Thế Nào?

MCP có ba thành phần chính:

┌─────────────────┐         ┌─────────────────┐         ┌──────────────────┐
│   MCP Client    │ ◄─────► │   MCP Server    │ ◄─────► │  Dữ liệu/Công cụ │
│ (AI Assistant)  │  JSON-  │ (do bạn hoặc   │         │  (GitHub, DB,    │
│ Claude/Copilot  │  RPC    │  cộng đồng tạo) │         │  File system...) │
└─────────────────┘         └─────────────────┘         └──────────────────┘
  • MCP Client: AI model (Claude, GitHub Copilot, Cursor…) — bên yêu cầu thông tin
  • MCP Server: Chương trình trung gian — nhận yêu cầu từ AI, thực thi và trả kết quả
  • Dữ liệu/Công cụ: Nguồn tài nguyên thực tế (GitHub repo, database, API…)

Ví dụ luồng hoạt động:

Người dùng: "Hãy xem file README.md trong project của tôi"
     ↓
AI (Claude): Gửi yêu cầu đến MCP Server (read_file)
     ↓
MCP Server: Đọc file README.md từ hệ thống
     ↓
AI (Claude): Nhận nội dung và trả lời người dùng

Các MCP Server Phổ Biến Hiện Nay

Cộng đồng đã xây dựng hàng trăm MCP server cho nhiều mục đích khác nhau. Dưới đây là một số server hữu ích nhất cho lập trình viên:

1. Filesystem MCP Server

Cho phép AI đọc/ghi file trên máy tính của bạn.

# Cài đặt qua npx
npx @modelcontextprotocol/server-filesystem /path/to/workspace

2. GitHub MCP Server

Cho phép AI tương tác với GitHub: đọc code, tạo issue, review PR…

npx @modelcontextprotocol/server-github

3. SQLite MCP Server

Cho phép AI truy vấn và thao tác với database SQLite.

npx @modelcontextprotocol/server-sqlite /path/to/database.db

4. Brave Search MCP Server

Tích hợp tìm kiếm web vào AI.

npx @modelcontextprotocol/server-brave-search

Bạn có thể xem danh sách đầy đủ tại: github.com/modelcontextprotocol/servers


Cách Cấu Hình MCP Server với Claude Desktop

Đây là ví dụ thực tế cách thêm Filesystem MCP Server vào Claude Desktop:

Bước 1: Cài đặt Node.js (nếu chưa có)

# Kiểm tra Node.js
node --version
# Nếu chưa có, cài tại https://nodejs.org

Bước 2: Mở file cấu hình Claude Desktop

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Bước 3: Thêm cấu hình MCP server

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/your-username/Documents/projects"
      ]
    },
    "github": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your_token_here"
      }
    }
  }
}

Bước 4: Khởi động lại Claude Desktop và kiểm tra

Sau khi cấu hình xong, Claude sẽ có biểu tượng công cụ (🔧) ở góc dưới cửa sổ chat — đó là dấu hiệu MCP đang hoạt động.


Cách Tự Viết MCP Server Đơn Giản

Bạn hoàn toàn có thể tự tạo MCP server bằng Python hoặc TypeScript. Dưới đây là ví dụ server đơn giản bằng Python:

# server.py
from mcp.server import Server
from mcp.server.stdio import stdio_server
from mcp.types import Tool, TextContent
import mcp.types as types

# Khởi tạo server
app = Server("my-first-mcp")

@app.list_tools()
async def list_tools() -> list[Tool]:
    """Khai báo các tool mà server cung cấp"""
    return [
        Tool(
            name="say_hello",
            description="Chào người dùng bằng tiếng Việt",
            inputSchema={
                "type": "object",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Tên người dùng"
                    }
                },
                "required": ["name"]
            }
        )
    ]

@app.call_tool()
async def call_tool(name: str, arguments: dict) -> list[TextContent]:
    """Xử lý khi AI gọi tool"""
    if name == "say_hello":
        user_name = arguments.get("name", "bạn")
        return [TextContent(
            type="text",
            text=f"Xin chào {user_name}! Đây là MCP server đầu tiên của bạn."
        )]
    raise ValueError(f"Tool không tồn tại: {name}")

async def main():
    async with stdio_server() as (read_stream, write_stream):
        await app.run(read_stream, write_stream, app.create_initialization_options())

if __name__ == "__main__":
    import asyncio
    asyncio.run(main())

Cài đặt thư viện cần thiết:

pip install mcp

Thêm vào file cấu hình Claude:

{
  "mcpServers": {
    "my-server": {
      "command": "python",
      "args": ["/path/to/server.py"]
    }
  }
}

MCP Trong Hệ Sinh Thái AI Hiện Tại

Hiện tại, nhiều AI assistant và IDE đã hỗ trợ MCP:

  • Claude Desktop (Anthropic) — hỗ trợ đầy đủ, là client gốc
  • GitHub Copilot (Microsoft/GitHub) — hỗ trợ từ đầu 2025
  • Cursor — IDE AI phổ biến, hỗ trợ MCP
  • Zed — editor hiện đại, hỗ trợ MCP
  • Continue.dev — extension VS Code mã nguồn mở

Với tốc độ phát triển hiện tại, MCP đang trở thành tiêu chuẩn không thể thiếu cho bất kỳ lập trình viên nào làm việc với AI.


Những Điều Cần Lưu Ý Về Bảo Mật

Khi sử dụng MCP server, đặc biệt là server của bên thứ ba, bạn cần chú ý:

  1. Chỉ cấp quyền cần thiết — Không cho AI đọc toàn bộ ổ cứng nếu chỉ cần đọc một thư mục cụ thể
  2. Kiểm tra mã nguồn — Ưu tiên dùng MCP server mã nguồn mở và có nhiều người dùng
  3. Không đặt API key trong code — Luôn dùng biến môi trường (environment variables)
  4. Cẩn thận với MCP server lạ — Tấn công “prompt injection” qua MCP là mối nguy thực tế

Tổng Kết

MCP (Model Context Protocol) là bước tiến quan trọng trong việc biến AI từ một “chatbot” thành một trợ lý lập trình thực sự. Điểm mấu chốt cần nhớ:

  • MCP chuẩn hóa cách AI kết nối với công cụ bên ngoài
  • Kiến trúc gồm 3 phần: Client (AI) — Server (trung gian) — Dữ liệu
  • Cộng đồng đã có hàng trăm MCP server sẵn dùng
  • Bạn có thể tự viết MCP server bằng Python hoặc TypeScript
  • Luôn chú ý bảo mật khi cấp quyền cho AI

Dù bạn đang học lập trình hay đã đi làm, hiểu về MCP sẽ giúp bạn tận dụng AI hiệu quả hơn trong công việc hàng ngày.


Xem Thêm