AI Agent Bài trực quan cho học viên

AI chạm ra thế giới: API, CLI hay MCP?

AI vốn bị nhốt trong khung chat, chỉ biết đọc và viết chữ. Vậy làm sao nó tự đăng được video lên YouTube, tự deploy được một trang web? Nó phải có "cửa" để chạm ra công cụ ngoài đời. Bài này bóc trần các cánh cửa đó, và cái ngã ba ai cũng gặp: cùng một công cụ, nên đưa cho AI qua CLI hay qua MCP?

Bức tranh lớn

Một mình AI không làm được gì ngoài nói chuyện. Sức mạnh thật nằm ở những cánh cửa nối nó ra thế giới.

Hãy hình dung AI như một bộ óc siêu giỏi nhưng bị khóa trong một căn phòng kín, chỉ có một khe cửa để đẩy giấy ra vào. Nó nghĩ hay tới đâu cũng vô nghĩa nếu không chạm được vào đồ vật bên ngoài.

Để AI làm việc thật, người ta mở cho nó những "cánh cửa" nối tới công cụ ngoài đời. Có vài kiểu cửa khác nhau: API, CLI, MCP. Hiểu từng cửa và biết chọn đúng cửa cho từng hoàn cảnh, đó mới là người dùng AI giỏi. Cả bài này chỉ để trả lời một câu: mở cửa nào, khi nào?

01 Cửa cho người vs cửa cho máy

Mọi công cụ đều có "tay nắm". Câu hỏi là: tay nắm cho ai?

Trước khi nối AI vào một công cụ, phải hỏi: công cụ này cho điều khiển từ bên ngoài bằng cách nào? Gần như thứ gì cũng có hai loại lối vào.

Một dịch vụ, hai lối vào
🖱️
Con người
bấm nút, kéo thả, nhìn màn hình
đi cửa GUI
🎬
Dịch vụ
YouTube, Cloudflare,
Notion, ngân hàng...
🤖
Máy / AI
gọi bằng code, gõ bằng lệnh
đi cửa API / CLI

Cửa cho người là giao diện đồ họa (GUI): đẹp, dễ bấm, nhưng máy khó tự động. Cửa cho máy là nơi AI đi vào: API (gọi bằng code từ xa) và CLI (gõ lệnh chữ). Không có cửa cho máy thì AI đứng ngoài, chịu thua.

🔑

Nói lại bằng một câu: AI chỉ vào được công cụ nào có sẵn "cửa cho máy" (API hoặc CLI). Cửa dành cho người bấm tay thì AI khó chạm tới.

02 Cửa thứ nhất: CLI

CLI: điều khiển bằng lời, thay vì bấm chuột

CLI viết tắt của Command Line Interface - giao diện dòng lệnh. Thay vì bấm chuột qua chục màn hình, ta gõ một câu lệnh chữ là máy làm ngay.

terminal
# Muốn đưa website lên Cloudflare?
# Không cần bấm nút, chỉ một dòng:
$ wrangler deploy
Uploading... done
Published trang-cua-ban
✔ https://trang-cua-ban.pages.dev
🏭

CLI do chính hãng làm ra. wrangler là công cụ chính thức của Cloudflare, git của Git, gh của GitHub. Vì hãng tự làm nên nó đầy đủ tính năng và đáng tin, coi như "cửa chính thức" để điều khiển sản phẩm bằng lệnh.

Cùng việc đó qua GUI (bấm tay)
  • 1 Mở trình duyệt, đăng nhập trang quản trị
  • 2 Tìm đúng project trong danh sách
  • 3 Bấm vào tab Deployments
  • 4 Bấm nút Upload, chọn thư mục
  • 5 Chờ, rồi bấm Confirm
Cùng việc đó qua CLI
$ wrangler deploy

Một dòng thay cho năm bước bấm. Con người thấy GUI dễ hơn; nhưng với máy và AI, một dòng lệnh mới là thứ dễ tự động, dễ lặp lại.

⌨️

Nói lại bằng một câu: CLI là cách ra lệnh cho phần mềm bằng chữ trong terminal - gọn, nhanh, dễ tự động, và thường do chính hãng làm ra.

03 Cửa thứ hai: MCP

MCP: một cổng chuẩn chung cho mọi công cụ

MCP (Model Context Protocol) là chuẩn kết nối mở do Anthropic đưa ra, để AI nói chuyện với công cụ ngoài bằng một "ngôn ngữ chung". Hình dung như ổ cắm điện: làm đúng chuẩn ổ cắm thì thiết bị nào cũng cắm vào chạy được.

Nhiều công cụ, một cổng chung
🎬 YouTube có API
🗂️ Notion có API
🗄️ Database có driver
🔌
Cổng MCP
ngôn ngữ chung
🤖
AI
chỉ học một thứ tiếng
Đầu client

Nằm sẵn trong app AI

Do hãng làm app xây (Claude Code, Claude Desktop...). Bạn không tạo, chỉ khai báo "có cổng này".

Đầu server

Bọc quanh công cụ

Một chương trình nhỏ dịch từ tiếng MCP sang tiếng riêng của công cụ. Lập trình viên viết, hoặc nhờ chính AI viết.

M × Nkhông có chuẩn chung:
mỗi app nối riêng từng công cụ
M + Ncó MCP:
mỗi app 1 cổng, mỗi công cụ 1 server
⚠️

Đính chính quan trọng: MCP không thay thế API. Nó là một lớp chuẩn phủ lên trên. Bên trong mỗi server MCP, khi thật sự làm việc, nó vẫn gọi API riêng của dịch vụ (server YouTube bên trong vẫn gọi YouTube API). MCP chỉ giúp AI nói một thứ tiếng duy nhất ở phía ngoài, phần dịch ra tiếng riêng thì giấu bên trong server.

🔌

Nói lại bằng một câu: MCP là ổ cắm chuẩn giữa AI và công cụ - viết server một lần cho một công cụ, thì mọi app AI hiểu MCP đều cắm vào dùng được y như nhau.

04 Trái tim của bài

Ngã ba: cùng một công cụ, đưa cho AI qua CLI hay MCP?

Đây là chỗ hay hiểu nhầm nhất. Nhiều người tưởng "có MCP là luôn xịn hơn". Không phải. Cùng một công cụ (ví dụ Cloudflare) có thể đưa cho AI theo cả hai cách. Chọn cách nào không do cái nào hay hơn, mà tùy: AI đang ngồi ở đâu, có sẵn terminal không?

Bạn có một công cụ (vd Cloudflare)
AI của bạn có sẵn terminal không?
Làn CLI
CÓ terminal
Ví dụ: Claude Code (chạy trong terminal). AI gõ thẳng lệnh được.
AI gõ wrangler deploy
Công cụ chạy, trả kết quả bằng chữ
  • Nhanh, không phải cài thêm gì
  • Không tốn "bộ nhớ ngữ cảnh" của AI
  • Đầy đủ mọi tính năng của công cụ
  • Cần môi trường có terminal mới dùng được
Làn MCP
KHÔNG có terminal
Ví dụ: Claude Desktop, app điện thoại. Không chạy được lệnh, phải đi cổng.
AI gọi công cụ qua cổng MCP
Server dịch sang API, trả kết quả gọn
  • Host nào cũng dùng được, kể cả không có terminal
  • Là cổng an toàn: chỉ mở đúng vài việc
  • Trả về dữ liệu có cấu trúc rõ ràng
  • Phải có người viết server, và tốn ngữ cảnh khai báo
🧭

Nói lại bằng một câu: không phải "MCP thay CLI", mà là chọn cửa theo nhà. AI có terminal (như Claude Code) thì CLI thường sướng hơn; AI không có terminal (như Claude Desktop, mobile) thì MCP là con đường.

05 Tư duy nền, áp ở đâu cũng đúng

Nhìn công cụ, đoán được nên đi cửa nào

Không cần nhớ từng công cụ. Chỉ cần một quy luật đơn giản dựa trên công cụ đó phục vụ ai.

🛠️

Công cụ cho dân kỹ thuật

Cloudflare, Git, GitHub, Docker... phục vụ lập trình viên vốn quen gõ lệnh, nên gần như đều có sẵn CLI rất mạnh. Trong môi trường có terminal, cứ dùng thẳng CLI.

Thường đã có CLI ngon → dùng CLI
📱

Dịch vụ cho người phổ thông

YouTube, Notion, Gmail, Facebook... hướng tới người dùng thường, chỉ có API cho lập trình viên và GUI cho người bấm tay, hiếm khi có CLI tiện. Bọc API đó thành MCP để AI dùng.

Thường chỉ có API → bọc thành MCP
🚫

Còn cửa cuối cùng: phần mềm đóng kín

Có những phần mềm chỉ có màn hình bấm tay, không API, không CLI, không cho code chạm vào. Lúc đó AI không có "tay nắm" nào để bọc, chỉ còn cách "nhìn màn hình rồi mô phỏng di chuột bấm phím" như người. Cách này chạy được nhưng chậm và dễ sai, nên chỉ dùng khi hết cách.

Đọng lại

AI mạnh tới đâu cũng phải có cửa mới bước ra thế giới. Biết chọn đúng cửa mới là người dùng AI giỏi.

API, CLI, MCP không phải ba thứ cạnh tranh nhau, mà là ba cánh cửa cho ba hoàn cảnh. Hiểu tư duy gốc này rồi, gặp công cụ mới nào bạn cũng tự đoán được nên mở cửa nào.

Cửa cho người vs cửa cho máy CLI = ra lệnh bằng chữ MCP = ổ cắm chuẩn chung MCP không thay API Có terminal → CLI Không terminal → MCP Không cửa nào → nhìn màn hình