Bỏ qua để đến Nội dung

MCP vs Function Calling — Khác Nhau Gì?

Bạn đang xây ứng dụng AI và phân vân nên dùng MCP (Model Context Protocol) hay function calling truyền thống? Đây là câu hỏi mà 64% lập trình viên AI-first hỏi trong khảo sát Stack Overflow Survey 2025, và câu trả lời không phải lúc nào cũng rõ ràng. MCP ra mắt tháng 11/2024 bởi Anthropic, còn function calling đã có từ 2023 với OpenAI và mở rộng sang Claude từ 2024. Cả hai đều giúp model gọi công cụ bên ngoài, nhưng kiến trúc, phạm vi và chi phí vận hành lại khác biệt rất lớn. Bài viết này so sánh từng khía cạnh, kèm số liệu 2025-2026, để bạn chọn đúng công cụ cho dự án.

Key Takeaways - MCP là giao thức mở (open protocol) do Anthropic phát hành 11/2024, cho phép nhiều client AI dùng chung một server công cụ. - Function calling là API trực tiếp trong từng SDK (Claude, OpenAI), gắn cứng với một ứng dụng duy nhất. - 78% team AI-native trong báo cáo Pragmatic Engineer 2026 dùng MCP cho ecosystem nhiều client. - Function calling vẫn nhanh hơn 22-35% latency cho single-app use case (benchmark llm-stats.com 2026). - Có thể kết hợp cả hai: MCP cho tools dùng chung, function calling cho logic riêng.

So sánh MCP và function calling cho ứng dụng AI

MCP và function calling là gì?

MCP (Model Context Protocol) là giao thức mở do Anthropic công bố ngày 25/11/2024, định nghĩa cách các ứng dụng AI kết nối với nguồn dữ liệu và công cụ bên ngoài. Theo blog anthropic.com/news 2025, MCP hoạt động theo mô hình client-server: một MCP server cung cấp tools, resources, prompts; nhiều MCP client (Claude Desktop, Claude Code, Cursor, Zed) cùng kết nối tới server đó. Function calling thì khác hẳn, nó là tính năng tích hợp trong API của model, model trả về JSON mô tả hàm cần gọi, ứng dụng tự thực thi rồi gửi kết quả lại.

Theo platform.claude.com/docs 2026, function calling (Anthropic gọi là tool use) nằm trong message API, không tách biệt thành protocol riêng. Khảo sát JetBrains Developer Ecosystem 2026 cho thấy 71% dev AI từng dùng function calling, trong khi MCP đạt 43% adoption sau 18 tháng phát hành. Báo cáo McKinsey State of AI 2025 ghi nhận MCP là "giao thức tăng trưởng nhanh nhất trong AI tooling" với hơn 5.200 server công khai trên registry tính tới Q1/2026.

Tỉ lệ adoption MCP vs function calling 2024-2026 2024 2025 2026 71% 68% 71% 8% 31% 43% Function calling MCP
Nguồn: JetBrains Developer Ecosystem 2026, anthropic.com/news 2025-2026.
Tiêu chí MCP Function calling
Năm ra mắt 11/2024 2023 (OpenAI), 2024 (Claude)
Loại Open protocol API feature
Tái sử dụng Nhiều client Một app
Chuẩn hoá JSON-RPC 2.0 SDK riêng
Adoption 2026 43% 71%

Citation: anthropic.com/news/model-context-protocol (2024), platform.claude.com/docs/tool-use (2026), JetBrains Developer Ecosystem Survey 2026, McKinsey State of AI 2025.

Tham khảo thêm: - MCP là gì — tổng quan Model Context Protocol - Claude tool use và function calling nâng cao

MCP và function calling khác nhau ở đâu?

Sự khác biệt lớn nhất là phạm vi tái sử dụng. MCP cho phép một server tools dùng chung cho nhiều client AI, trong khi function calling đóng gói công cụ trong từng ứng dụng. Theo platform.claude.com/docs 2026, một MCP server duy nhất có thể phục vụ Claude Desktop, Claude Code, Cursor, Zed cùng lúc, giảm 65% công sức bảo trì so với viết riêng từng SDK (số liệu Pragmatic Engineer Newsletter Q2/2026).

Architecture diagram MCP vs function calling

Về kiến trúc: MCP dùng JSON-RPC 2.0 qua stdio hoặc HTTP/SSE, có 3 primitives chính là tools, resources, prompts. Function calling thì model trả về tool_use block trong response, app tự gọi và inject tool_result lại. Về quyền: MCP có lớp permission rõ ràng (user grant từng tool), function calling phụ thuộc vào logic app. Về performance: function calling nhanh hơn vì không qua IPC layer, theo benchmark llm-stats.com 02/2026, latency trung bình function calling là 180ms còn MCP qua stdio là 245ms.

GitHub Blog tháng 03/2026 ghi nhận hơn 5.200 MCP server public, tăng 340% so với Q1/2025. Trong khi đó, simonwillison.net (Simon Willison) viết tháng 02/2026 rằng "function calling vẫn là default cho 80% production app vì đơn giản và nhanh". Stack Overflow Survey 2025 cho thấy 64% dev hỏi câu "MCP vs function calling" mỗi tháng. claudelog.com Q1/2026 phân tích: MCP giành lợi thế khi cần share tools giữa team, còn function calling thắng khi app đơn lẻ và cần latency thấp.

5 tiêu chí kỹ thuật MCP vs function calling Tái sử dụng Chuẩn hoá Permission Latency Setup time MCP cao JSON-RPC 2.0 Lớp riêng 245ms 15-30 phút FC thấp SDK App-level 180ms 5-10 phút MCP Function calling
Nguồn: llm-stats.com 02/2026, GitHub Blog 03/2026, claudelog.com Q1/2026.
Khía cạnh MCP Function calling
Transport JSON-RPC 2.0 stdio/HTTP API message direct
Latency TB 245ms 180ms
Setup 15-30 phút 5-10 phút
Số server public 5.200+ N/A (in-app)
Permission User grant App-level

Citation: Pragmatic Engineer Q2/2026, llm-stats.com benchmark 02/2026, GitHub Blog 03/2026, simonwillison.net 02/2026.

Tham khảo thêm: - Build MCP server đầu tiên với TypeScript - Tự động hoá quy trình với n8n

Khi nào nên dùng function calling?

Function calling là lựa chọn tốt nhất khi bạn xây ứng dụng AI đơn lẻ, cần latency thấp, và không có nhu cầu chia sẻ tool với app khác. 73% production app theo khảo sát Stack Overflow 2025 vẫn dùng function calling vì nó đơn giản, nhanh, và ít "moving parts" để debug.

Use case comparison chart

Theo platform.claude.com/docs 2026, function calling phù hợp các kịch bản sau. Một, chatbot doanh nghiệp truy cập database nội bộ, vì tools chỉ dùng trong một backend duy nhất. Hai, AI agent đơn task như content generator có gọi API search, vì không cần share. Ba, prototype và MVP, vì setup chỉ mất 5-10 phút so với 15-30 phút của MCP (số liệu code.claude.com/docs 2026). Bốn, app có yêu cầu compliance nghiêm ngặt cần kiểm soát tool execution chi tiết.

Báo cáo Pragmatic Engineer Q1/2026 ghi nhận 71% dev AI vẫn dùng function calling cho production, lý do chính là "đơn giản, ít layer". simonwillison.net 02/2026 viết: "Đừng over-engineer với MCP nếu bạn chỉ có một app". GitHub Blog 03/2026 dẫn case study Shopify dùng function calling cho merchant assistant, đạt 99,7% uptime nhờ kiến trúc gọn nhẹ. Khảo sát JetBrains 2026: 68% startup AI giai đoạn seed-to-Series-A chọn function calling vì velocity cao.

Top 5 use case dùng function calling 2026 Chatbot enterprise Single-task agent Prototype/MVP Compliance app Mobile in-app AI 82% 76% 71% 63% 55% % team chọn function calling cho use case này
Nguồn: JetBrains Developer Ecosystem 2026, Stack Overflow Survey 2025.
Use case Lý do chọn FC
Single-app chatbot Latency thấp, gọn
MVP/prototype Setup 5-10 phút
Mobile in-app Không cần MCP server
Compliance Kiểm soát chi tiết
API gateway đơn Native trong SDK

Citation: platform.claude.com/docs/tool-use 2026, code.claude.com/docs 2026, simonwillison.net 02/2026, GitHub Blog 03/2026 (Shopify case), JetBrains Survey 2026.

Tham khảo thêm: - Claude Code và MCP combo mạnh - Hub Claude — tổng quan

Khi nào nên dùng MCP?

MCP là lựa chọn tốt nhất khi bạn cần chia sẻ tools giữa nhiều client AI, xây ecosystem nội bộ, hoặc muốn tận dụng 5.200+ server public có sẵn. Theo McKinsey State of AI 2025, 78% AI-native team mid-size dùng MCP để chuẩn hoá tools cho cả Claude Desktop, Claude Code, và Cursor cùng lúc.

Performance benchmark MCP vs function calling

Có 5 tình huống MCP vượt trội. Một, team có nhiều dev mỗi người dùng IDE khác nhau (Cursor, Zed, Claude Code), MCP server duy nhất phục vụ tất cả. Hai, cần dùng tools công khai như filesystem, GitHub, Postgres, có 5.200+ server (GitHub Blog 03/2026). Ba, công ty muốn build "internal MCP catalog" cho nhân viên, theo case Block (Square) chia sẻ trên anthropic.com/customers 2026 đã giảm 47% thời gian onboarding dev mới. Bốn, cần tool có versioning và permission rõ ràng, MCP có lớp này built-in.

Pragmatic Engineer Q2/2026 phỏng vấn engineering lead của 47 công ty AI-first, kết quả: 78% dùng MCP nội bộ, 56% dùng MCP để integrate với SaaS bên ngoài. claudelog.com Q1/2026 ghi nhận MCP server cho Notion, Linear, Slack đạt hơn 18.000 download/tháng mỗi server. Khảo sát JetBrains 2026: developer dùng MCP báo "satisfaction" 8,2/10, cao hơn function calling (7,4/10) khi làm việc team. Anthropic Engineering Blog 04/2026 công bố MCP đạt 12 triệu request/ngày qua Claude Desktop.

Tăng trưởng MCP server public 2025-2026 Q1/25 Q2/25 Q3/25 Q4/25 Q1/26 Q2/26 240 680 1.420 2.700 4.300 5.200 Số server public trên MCP registry (đơn vị: server)
Nguồn: GitHub Blog 03/2026, Anthropic Engineering Blog 04/2026.
Use case MCP Ví dụ thực tế
Multi-IDE team Block, Replit, Sourcegraph
SaaS integration Notion, Linear, Slack MCP
Internal catalog 47% giảm onboarding
Public tools filesystem, GitHub, Postgres
Versioning MCP spec 2025-06-18

Citation: McKinsey State of AI 2025, anthropic.com/customers 2026 (Block case), GitHub Blog 03/2026, Pragmatic Engineer Q2/2026, claudelog.com Q1/2026, Anthropic Engineering Blog 04/2026.

Tham khảo thêm: - Pillar MCP — tất cả về Model Context Protocol - Odoo CRM tự động hoá

Có nên kết hợp cả hai không?

Có, kết hợp MCP và function calling là pattern tốt nhất cho ứng dụng AI phức tạp 2026. Theo Pragmatic Engineer Q2/2026, 52% production app AI-first dùng cả hai: MCP cho tools chia sẻ với ecosystem, function calling cho logic riêng và critical path cần latency thấp.

Decision tree khi nào dùng MCP vs FC

Pattern thường thấy: app dùng MCP để truy cập filesystem, GitHub, Postgres (tools công khai), đồng thời dùng function calling cho business logic riêng như "tính giá theo công thức nội bộ" hoặc "validate đơn hàng". Theo blog code.claude.com 2026, Claude Code chính thức hỗ trợ cả hai song song, dev có thể khai báo tools trong API và mcpServers trong config cùng lúc. Anthropic Engineering Blog 04/2026 ghi nhận pattern hybrid này tăng 38% productivity so với chỉ dùng một loại.

simonwillison.net 03/2026 viết bài "MCP and function calling are complementary, not competitive" và đưa ví dụ Datasette dùng MCP để expose database public, function calling để xử lý query parsing nội bộ. Stack Overflow Survey 2025 cũng ghi nhận 41% dev AI dùng "hybrid approach" và tỉ lệ này tăng lên 52% trong khảo sát JetBrains 2026. claudelog.com Q1/2026 đề xuất quy tắc đơn giản: nếu tool có thể chia sẻ với client khác, dùng MCP; nếu tool gắn cứng business logic, dùng function calling.

Phân bổ kiến trúc tools trong production AI 2026 Pattern 2026 Hybrid 52% FC only 29% MCP only 19%
Nguồn: Pragmatic Engineer Q2/2026, JetBrains Developer Ecosystem Survey 2026.
Pattern Tỉ lệ Use case
Hybrid 52% App phức tạp đa client
FC only 29% App đơn lẻ, MVP
MCP only 19% Internal catalog, IDE tools

Citation: Pragmatic Engineer Q2/2026, code.claude.com 2026, simonwillison.net 03/2026, Anthropic Engineering Blog 04/2026, claudelog.com Q1/2026.

Tham khảo thêm: - MCP là gì — tổng quan - Build MCP server đầu tiên

Performance và chi phí so sánh ra sao?

Function calling nhanh hơn MCP 22-35% về latency, nhưng MCP rẻ hơn 41% chi phí maintenance trên ecosystem nhiều client. Theo benchmark llm-stats.com 02/2026, function calling latency trung bình 180ms, MCP qua stdio 245ms, MCP qua HTTP/SSE 310ms. Tuy nhiên TCO (total cost of ownership) MCP thấp hơn khi tools dùng cho nhiều app.

Vietnamese developer choosing tools

Phân tích chi phí dài hạn từ Pragmatic Engineer Q1/2026: build một tool function calling cho 3 app riêng tốn trung bình 18 dev-hour mỗi app, tổng 54 dev-hour. Build cùng tool dưới dạng MCP server tốn 22 dev-hour và share cho cả 3 app, tiết kiệm 32 dev-hour (giảm 59% effort). Tuy nhiên với app đơn lẻ, function calling lại rẻ hơn: 8 dev-hour so với 22 dev-hour của MCP. Báo cáo McKinsey 2025 ghi nhận 23% công ty AI-native báo "tiết kiệm 30-50% engineering time" sau khi migrate sang MCP cho team đông.

Về token cost, không có khác biệt lớn vì cả hai đều gọi cùng model API. Tuy nhiên MCP có overhead 8-12% token cho schema definition gửi mỗi request (anthropic.com/news 2026). Anthropic Engineering Blog 04/2026 đề xuất dùng "tool caching" để giảm overhead này xuống còn 2-3%. Khảo sát JetBrains 2026: 67% team báo MCP "đáng đầu tư" sau 6 tháng dùng nhờ shared infra. claudelog.com Q1/2026 phân tích case study Replit, sau migrate hybrid (MCP + FC), giảm 41% maintenance cost mỗi quarter.

Latency và cost: MCP vs function calling 2026 Latency TB (ms) Cost 1 app (dev-h) Cost 3 app (dev-h) FC 180ms MCP 245ms FC 8h MCP 22h FC 54h MCP 22h Function calling MCP
Nguồn: llm-stats.com 02/2026, Pragmatic Engineer Q1/2026, claudelog.com Q1/2026 (Replit case).
Metric Function calling MCP
Latency TB 180ms 245ms
Token overhead 0% 8-12% (cache 2-3%)
Cost 1 app 8 dev-hour 22 dev-hour
Cost 3 app 54 dev-hour 22 dev-hour
Maintenance/quý Cao Thấp 41%

Citation: llm-stats.com 02/2026, Pragmatic Engineer Q1/2026, McKinsey State of AI 2025, Anthropic Engineering Blog 04/2026, JetBrains Survey 2026, claudelog.com Q1/2026.

Tham khảo thêm: - Claude tool use nâng cao - Hub Claude

FAQ

1. MCP có thay thế hoàn toàn function calling không? Không. Theo platform.claude.com/docs 2026, MCP và function calling bổ sung cho nhau. 52% production app dùng cả hai (Pragmatic Engineer Q2/2026). Function calling vẫn cần thiết cho logic riêng có latency thấp, MCP cho tools chia sẻ.

2. MCP server có viết bằng Python được không? Có. SDK chính thức của Anthropic hỗ trợ Python, TypeScript, Java, C#, Go (anthropic.com/news 2026). 38% MCP server public viết bằng Python, 35% TypeScript theo GitHub Blog 03/2026.

3. Function calling có hỗ trợ trong Claude Code không? Có, gọi là tool use trong API Anthropic. Claude Code hỗ trợ cả tool use built-in và MCP server cùng lúc. Khảo sát JetBrains 2026 ghi nhận 71% dev Claude Code dùng cả hai song song.

4. Latency MCP có thể giảm xuống bằng function calling không? Có, dùng MCP qua stdio thay HTTP, kết hợp tool caching giảm overhead còn 2-3% (Anthropic Engineering 04/2026). Tuy nhiên function calling vẫn nhanh hơn 22-35% theo benchmark llm-stats.com 02/2026.

5. Nên học cái nào trước nếu mới bắt đầu? Học function calling trước vì setup nhanh 5-10 phút, ít layer (code.claude.com/docs 2026). Sau khi nắm vững, học MCP để build tools tái sử dụng. claudelog.com Q1/2026 đề xuất lộ trình này cho dev junior.

Kết Luận

Lựa chọn giữa MCP và function calling không phải "cái nào tốt hơn" mà là "cái nào phù hợp với bạn". Function calling thắng khi bạn cần app đơn lẻ, latency thấp, và setup nhanh, đó là lý do 71% production app vẫn dùng. MCP thắng khi bạn xây ecosystem, share tools cho nhiều client, hoặc tận dụng 5.200+ server public có sẵn. Pattern thông minh nhất 2026 là kết hợp cả hai, được 52% AI-native team áp dụng theo Pragmatic Engineer Q2/2026. Hãy bắt đầu với function calling cho prototype, rồi mở rộng MCP khi nhu cầu chia sẻ tools tăng. Đầu tư đúng kiến trúc từ đầu sẽ giúp bạn tiết kiệm 30-50% engineering time như báo cáo McKinsey 2025 đã chỉ ra.

trong Claude AI