Tìm hiểu và thực hành Model Context Protocol (MCP) trên n8n automation - Mì AI

Mì AI www.youtube.com

Tóm tắt nhanh

Video này giới thiệu cách tích hợp MCP (Model Component Protocol) vào N8N để quản lý và sử dụng các công cụ (tools) một cách hiệu quả hơn. Thay vì phải cấu hình lại các tool trong mỗi workflow, MCP cho phép tập trung các tool vào một server duy nhất, giúp dễ dàng quản lý, chia sẻ và cập nhật.

  • MCP Server là nơi tập trung các tool như truy xuất DB, gọi API, chạy code.
  • MCP Client kết nối với MCP Server để sử dụng các tool này trong workflow.
  • Việc cập nhật tool chỉ cần thực hiện ở MCP Server, không cần thay đổi ở client.

Giới thiệu về MCP và N8N

Video giới thiệu về việc sử dụng MCP trong N8N, đặc biệt là từ phiên bản 1.88 trở lên. MCP giúp tập trung các công cụ (tools) cần thiết cho các workflow AI vào một máy chủ (server) duy nhất, giúp dễ dàng quản lý và chia sẻ. Nếu sử dụng bản cloud của N8N, bạn sẽ tự động được cập nhật lên phiên bản mới nhất.

Tạo MCP Server trong N8N

Hướng dẫn tạo MCP server trong N8N để chứa các tool. Bạn có thể tạo một "MCP House" để chứa nhiều MCP server, hoặc tạo riêng cho từng MCP server. Video minh họa việc tạo một MCP server đơn giản với một tool duy nhất là lấy thông tin thời tiết thông qua API.

Cấu hình Tool lấy thời tiết

Hướng dẫn cấu hình một tool để lấy thông tin thời tiết từ API weatherstack.com. API key cần được bảo mật và không chia sẻ. URL của API được cấu hình để có thể nhận tham số thành phố (city) từ truy vấn của người dùng.

Tạo MCP Client và kết nối với MCP Server

Hướng dẫn tạo MCP client trong N8N để kết nối với MCP server đã tạo. Sử dụng AI Agent (ví dụ: Gemini) để phân tích câu hỏi của người dùng và gọi đến MCP server để lấy thông tin thời tiết. Token key từ Aistudiogle.com được sử dụng để xác thực với Gemini.

Kiểm tra kết nối và lấy thông tin thời tiết

Thực hiện kiểm tra kết nối giữa MCP client và server bằng cách đặt câu hỏi về thời tiết. Nếu kết nối thành công, AI Agent sẽ gọi đến MCP server, lấy thông tin thời tiết từ API và trả lời cho người dùng.

Thêm Tool lấy số dư tài khoản ngân hàng

Hướng dẫn thêm một tool khác vào MCP server để lấy số dư tài khoản ngân hàng (ví dụ). Tool này trả về một số dư cố định (1 triệu) để minh họa. Việc sửa đổi tool chỉ cần thực hiện ở MCP server mà không cần thay đổi ở client.

Kiểm tra Tool lấy số dư tài khoản ngân hàng

Thực hiện kiểm tra tool mới bằng cách hỏi về số dư tài khoản ngân hàng. Đôi khi cần điều chỉnh prompt để AI Agent hiểu đúng ý người dùng và trả lời chính xác.

Tổng kết và ứng dụng thực tế

Tóm tắt lại lợi ích của việc sử dụng MCP trong N8N, đặc biệt là khả năng tập trung quản lý các tool và dễ dàng cập nhật. Gợi ý cách tổ chức các MCP server theo mục đích sử dụng (ví dụ: ngân hàng, ví điện tử, thời tiết) để dễ dàng quản lý và bật/tắt theo thời gian.

Summarize any YouTube video in seconds

Get summaries like this one for any video, in your language, with the free Summ app.

Download on the Apple Store
Get it on Google Play

Transcript

YouTube Transcript Generator

0:00 Hello anh em, chào mừng anh em quay lại với MaiI và hôm nay chúng ta sẽ cùng nhau quay lại với MCP nhưng mà không để MCP đứng một mình mà chúng ta sẽ cho MCP đứng cùng với N8N có nghĩa là áp dụng MCP vào trong N8N. Let's go anh [âm nhạc] em. Thì chắc là anh em cũng đã bắt đầu quen với khái niệm MCP rồi đó. Trên MaiI mình đã có một clip ờ chia sẻ rất cụ thể về MCP và sau đó thì một clip chia sẻ cụ thể về A2A của Google. Nếu anh em nào chưa xem thì anh em cứ bấm vào kênh YouTube BI sau đó thì tìm đến những cái video trước video này sẽ thấy nhá. Còn

0:45 hôm nay thì theo nguyện vọng của các anh em thì là mình sẽ thử áp dụng MCP vào trong N8N đó để anh em xem là nó ờ tiện dụng như thế nào. Đó và từ bản N8N ờ bản N8N ờ 1.8 1.88 đó thì các bạn đã có thể dùng được MCP. Đây mình đang dùng bản cloud để mình xem là cái about đây rồi. Đó cái bản 1.88.0 đó từ bản này trở đi thì các bạn đã bắt đầu dùng được MCP đó. Còn các bản trở về trước thì các bạn chưa có. Thì các bạn mà dùng bản cloud thì họ sẽ tự update cho các bạn. Các bạn không phải làm gì cả. Còn nếu các bạn dùng bản

1:32 local host thì các bạn sẽ phải tự động update lên. Đó thì mình sẽ có một clip khác mình sẽ chia sẻ cách mà update cái N8N ở máy Sost của các bạn như thế nào nó tiện nhất nhá. Đó thì mình sẽ hẹn ở clip khác. Còn clip này mình tập trung vào việc giới thiệu MCP ở trên ở trên trên trên N8N. Được chưa? Thì MCP như các bạn thấy trong clip đó mình đã chia sẻ thì có MCP server đó, MCP client, LM host. Đó thì mình nói lại rất là sơ lược đó là MCP Server là nó nơi tập trung tất cả những cái tool. Ví dụ như tool để truy xuất DB, tool để gọi API. tool để thực hiện một cái code gì đấy thì trước nay bạn giải giác đó cứ khi nào bạn kéo một workflow thì bạn lại

2:19 kéo những cái tool đó bạn kết nối vào trong cái LLM đây. Ví dụ bây giờ mình có một cái workflow như này. Đó ví dụ mình có một cái ờ ờ manual đi. Xong mình kéo cái AI vào đi. Đây đó à chết rồi mình nhấm nhầm đây. Đúng không? Thế thì cứ mỗi lần bạn kéo một cái Aent vào thì bạn lại phải kéo cái tool. Ví dụ ở đây một cái tool gọi web đó, một cái tool để chạy code. Ví dụ thế mình ví dụ thôi nhá. Thế thì mỗi cái workflow chưa? Bạn sẽ phải kéo lại cái tool này code một lần, tool http này một lần. Đó và nếu như chẳng may cái

3:04 endp của cái HTTP này đó nó đổi thì bạn phải đi lần lượt tất cả những cái workflow và mình đổi lại cái chỗ kết nối này nó phiền hà không. Thế rồi một ai đó mà trên mạng có code một cái MCP à một cái tool thì họ lại phải đưa cho bạn spec để bạn kết nối. Nó không phải làm chuẩn kết nối chung nên là nó khó chia sẻ. Đó thì đó là lý do vì sao người ta đưa ra khái niệm MCP người ta tập hợp hết cái tool này tool này vào một cái nơi gọi là MCP server. Thế rồi trong tất cả những con agent này nhá bạn chỉ cần kết nối đến cái MCP server thôi. Thế câu hỏi bạn là thế thì lúc mà cái MCP server đó nó đổi thì sao? thì nó chỉ

3:49 cần đổi ở trong MCP Server thôi. Còn cái chuẩn kết nối từ con agent này đến cái MCP Server đó nó không đổi. Nó là chuẩn của Antropic của công ty làm ra cái cloud đấy.AaiI đấy. Họ làm ra rồi nên là không đổi nên bạn yên tâm nhá. Rồi bây giờ mình sẽ mở một cái follow mới bạn làm cho bạn xem. Thì bạn nào mà chưa xem về MCP, chưa hiểu về MCP thì bấm lại clip hai clip trước của mình trên kênh YouTube M để xem để hiểu rõ MCP đã rồi mới chuyển sang cái clip này. Được chưa? Bây giờ mình sẽ chuyển sang mình đóng mình tạo workflow. Thì đầu tiên chúng ta phải tạo MCP server trước đúng không? Để mình gom những cái tool vào đó. Đây tạo ra một workflow. Và mình thì mình hay đặt tên là gì? MCP House là cái nhà chứa

4:35 tất cả những cái MCP server ở trong này nhá. Tạo một cái MCP house để chứa các MCP server trong này. Đó và bạn có thể chứa nhiều MCP server ở trong một cái nhà này. Hoặc là bạn tạo mỗi một cái nhà cho một cái MCPer. Ví dụ đây là mình để là MGP server ờ 01 đó thì mình đặt MCP server 02 03 tùy bạn đặt. Đó ví dụ ở đây mình sẽ ấn S thì bình thường mình hay chọn mấy sự kiện này đúng không? Thì bây giờ mình sẽ gõi là MCP nó sẽ ra một cái là MCP server trigger. Đó được chưa? Và nếu như bạn muốn tạo nhiều MCP server ấn vào đây MCP server Trigger. Đó thì ta sẽ có hai cái đó. Tại sao mình gọi là MCP House là vì nó chứa rất nhiều những mp này. Được chưa?

5:21 Đó thì trong bài này đơn giản thì mình sẽ thử với một cái MCP server trước còn bạn sẽ quyền chỉnh sửa thoải mái. Rồi đó thì bạn thấy không? Bây giờ mình sẽ có thể gom những cái tool vào đây. Gom những cái tool vào đây. Ví dụ mình có một cái tool đầu tiên là tool gọi API lấy thời tiết đúng không? Bấm vào đây chọn HTTP mô tả cái tool này. Get the current weather. đó. UN a city via API. Đó, lấy thời tiết hiện tại qua API. Thì để lấy API thì mình đã chuẩn bị một cái API endp đó là weatherstack.com. Thì nó có cái API rồi

6:07 và URL của nó như thế này. Được chưa? Đó. Đây U đây. Đó. Thì bây giờ mình chỉ cần làm gì? Mình chỉ cần copy cái này paste vào kia và đưa cái API này key này vào. Và một lần nữa mình lại chú ý các bạn không chia sẻ cái API key này cho bất kỳ ai nhá. mình chia sẻ được là tí nữa mình phải xóa cái tài liệu này tài khoản test của mình thôi. Rồi bây giờ mình sẽ copy chuyện này. Đó mình paste nó vào đây. Đó và mình sửa lại một chút. Đây dấu cách này. Đó và chấm hỏi này. Access key bằng your access key. Đó mình sẽ viết lại bằng copy. Đâu rồi? Đây rồi đó. Và ở đây nó có và query đúng

6:56 chưa? Thì họ đang để là gì? New York. Thì bạn để ý cái dòng ở trên này nó có là gì? Bạn có thể dùng cái place holder dạng dấu ngoặc này cho bất kỳ cái thành phần nào của request sẽ được ph bởi model. Có nghĩa là bạn sẽ đưa cái thành phố vào đây để lấy cái thông tin thời tiết thông qua cái API này. Đó thì mình sẽ viết ở đây là bằng ngác city. đóng ngoặc đây mình mở to cho các bạn xem nhé. Expression đi. Đó đây đó current xong rồi access key bằng query bằng city. Thế bạn sẽ hỏi tiếp là thế city này nó lấy đâu ra? Thì khi mà cái con

7:41 LLM nó gọi đến cái MCPC này nó sẽ tự trích xuất trong cái query của người dùng ra cái biến CT và nó đêu vào đây. Thế nó không hệ thông minh nó phải gọi là LM. Rồi đó thì bây giờ mình giả sử con server này của mình nó chỉ có một cái tool duy nhất là cái tool lấy thời tiết thôi. Đúng chưa? Và bây giờ thì mình sẽ bật nó lên. Đó được chưa? Rồi bây giờ mình sẽ mở một cái tab mới. Mình sẽ code thằng client khóa lại anh em. Trước khi bắt đầu ấy thì anh em kéo rút mình xuống dưới này. Bên này có cái nút đăng ký kênh đó. Bấm cho mình đăng ký kênh, bật cho mình cái chuông thông báo để bạn luôn là người nhận được video mới nhất nhé. Và bên này này thì có nút

8:27 like và nút share. Nếu bạn thấy video này hay hãy bấm like và share cho bạn bè nha. Cảm ơn các bạn. Đăng ký. thì miễn phí nhưng BI thì rất vui bạn đăng ký. Đây rồi mình lưu một cái flow flow đi. Đó mình đặt tên là MCP client đi. Rồi thì mình làm như bình thường thôi là khi mình à chat đâu rồi? Chat message đó. Rồi thì mình làm gì? Mình sẽ gọi đến một cái AI agent. Đó cái conent này sẽ phân tích cái câu chat của người dùng. Nếu như người ta hỏi thời tiết lập tức nó sẽ gọi đến cái MCP server của mình vừa code này này và nó truyền CT vào. Thế CT nó thích xất từ

9:12 câu người dùng. Ví dụ gọi là cho tôi thời tiết của Hà Nội đó thì nó thủ thông minh để nó hiểu rằng City ở đây là Hà Nội và cái ý đồ của người dùng là lấy thời tiết. Vậy thì nó sẽ gọi đến MCP server để nó thực hiện cái tool là tool get the current weather này. Đó hoặc là có thể rename là đây này. Get weather. Đó cho nó dễ trực quan. Được chưa? Thử nhá. Đầu tiên mình cần một cái con LLM thì ở đây mình dùng con Gemini. Đó German thì các bạn hỏi là thế lấy cái token này ở đâu để mà dùng? Thế thì bạn biết rồi là trên Aistudiogle.com Google đang cho chúng ta miễn phí dùng cái con à các con con

9:59 Gemini để chúng ta chat nên là mình chưa biết là họ sẽ free đến khi nào đó nhưng mình sẽ có được cái token key ở đây được chưa? Và nếu chưa có thì bạn ấn create ở đây để tạo một cái token key. Đó mình có rồi thì mình copy. Và cũng nhắc lại các bạn là không chia sẻ cái key này cho bất kỳ ai. Nếu không thì sau này khi tính tiền thì họ dùng. Còn bạn nhỏ tiền đấy. Còn mình chia sẻ được là vì tí mình sẽ xóa đi. Đó mình p vào đây và nhấn save báo màu xanh collection test zully là ok. Rồi thì mình sẽ chọn một con model thì mình hay chọn con model là 1.5 flash1 đó. Ok back. Rồi chúng ta đã chọn xong được chat model đó thì bình thường

10:47 bạn sẽ làm gì? Bạn sẽ kéo tool vào đây đúng không? Ví dụ như http code đúng không? Bây giờ chúng ta không làm vậy. Chúng ta đã tập hợp tất cả tool vào một cái MCP server rồi thì chúng ta chỉ cần connect đến con MCP server thôi. Thì làm thế nào đây? Bấm vào đây bạn chuyển sang production cho mình. Đó thì đây là cái UAL của cái MCP server này. Bá này tên dễ nhớ là đây MCP01 đó cho nó dễ nhớ. Đó hoặc là để MCP weer đó cũng được. Đó thì mình copy kickchúp và copy. Đó xong rồi bây giờ bạn nhớ bật active ở đây nhá. Đó bạn sang bên này bạn vào cho mình tool và gõ vào MCP nó sẽ hiện ra là MCP client tool. bấm vào. Lúc này mình pte cái endpint của mình vào đây. Đó và mình

11:33 back ra. Rồi đấy. Thế là xong. Nó sẽ tự đủ thông minh để khi bạn khởi chạy nó sẽ đọc vào cái MCP server nó lấy được ra là có những tool gì để khi bạn hỏi về thời tiết nó sẽ tự động nó query qua API lập trình trong này để lấy ra thời tiết và trả lời cho các bạn. Được chưa? Bây giờ mình thử xóa cái connection này đi để nó không kết nối vào server. Mình chat nào. Thời tiết Hà Nội hôm nay thế nào? Nó trả lời sao đây? Đợi một chút. Cái này do đường mạng mình kết nối lên trên server. Đó. Rất

12:18 tiếc tôi không thể cung cấp thời tiết đó. Vì đây là chỉ một last model nó sẽ chỉ trả lời được với gì đó ở trên. Bây giờ mình nối cái tool vào đó. Và mình chat lại câu y hệt thời tiết Hà Nội hôm nay thế nào? Điều gì sẽ xảy ra? À could not connect à. Để mình xem là cái server nó đúng chưa. MCP đúng rồi. Để mình back xem nào. Đây chuyển sang production nhá. Bạn đừng để bạn test. Chuyển ra option back ra và save lại. Đó, bây giờ mình chạy lại này. Rồi nó đã gọi đến tool xanh rồi này. Và nó dùng nội dung trả về đó. Thời tiết Hà Nội hôm nay sương mù, nhiệt độ 25° C,

13:05 cảm giác như 28 độ gió đông nam độ ẩm. Và nếu như bạn dùng cái tracing lock ở bên này bạn sẽ thấy này, nó sẽ gọi MCP server và MCP đã trả về. Đó, Hà Nội đây, nhiệt độ, Hà Nội rồi kinh độ, vĩ độ vân vân. Và nó dùng thông tin này để nó dùng Zemoni và nó trả lời lại cho người dùng. Rất thông minh. Đó, bây giờ mình thử viết thêm một cái hàm nữa ở trong cái MCP server để bạn thử nhá. Ví dụ bây giờ bạn chat thử một câu, lấy cho tôi số dư tài khoản ngân hàng của tôi. Nó sẽ trả lời là không thể có thông tin được đúng không? Vì LM thì làm gì có ngân hàng. Nhưng mình giả sử mình sang đây mình viết được một cái tool code

13:51 tool đó mình gọi là tool là get bank account à balance. Đó mình mô tả là get balance of user spank account. Đó được chưa? Và mình đúng ra cái này sẽ phải làm gì? Sẽ phải gõi API vào trong ngân hàng để lấy ra số dư và trả cho người dùng. Nhưng mà đây là mình ví dụ thôi là mình trả về một cái số fix 1 triệu được chưa? Đó cái tool này lúc nào cũng trả về 1 triệu đó. Được chưa? Rồi mình rename đi là tool này là tool get bank account balance rồi và mình hoàn toàn sửa bên MCP server không thao tác gì ở bên client đúng không ạ? Vẫn như cũ

14:38 bây giờ mình hỏi một câu như cũ điều gì xảy ra? À vẫn sorry ể mình kiểm tra lại nhá. Sao nó không gọi à đây mình gọi là con function to get bank account balance of user. Đó có thể là mình chat bằng tiếng tiếng tiếng Việt trong khi cái hàm thì mình viết tiếng Anh. Thì bây giờ mình à mình chưa xếp hay sao ấy. Đó xếp lại nào. Bây giờ chá tiếng Việt tiếp nào. Quyết tâm là chơi trầy cối của tiếng Việt rồi. Tiếng Anh nhá. Get my bank account balance vẫn không được. Ok, mình sẽ code nó dễ hiểu hơn

15:24 một chút. Đây to v này. To get user đó. Rồi viết phải đúng nhá vì tất cả nó dựa vào cái hàm tên hàm và dựa vào cái description để nó lấy thông tin nên chúng ta phải viết đúng. Đó thậm chí là kích đi bật lại cho máu. Ok rồi sang đây ch thử nhá. Nào stop nào. Đó. Rồi xóa đi nào. Chat lại nào. Lấy cho tôi số d tài khoản ngân hàng. Bấm nó trả ra chưa? Đây đã trả rồi nhưng sao nó không hiện lên cho người dùng? Hỏi lại phát nữa nào. Sao nó hơi bị à ngu ngu nhỉ? Đấy nó đã gọi MCP server nó trả ra rồi đấy.

16:12 Nhất định nó không trả lời. Mặc dù nó đã hiện ra đây là nó đã gọi được đến MCP server và nó trả ra do Bank account balance rồi. Đó bây giờ mình sẽ sửa lại một chút. Mình sẽ cho là your bank account đó. Spellent đó. This function to get B of user. Đó được chưa? Rồi bách lại và xếp xem nào. Hỏi lại một tí nào. Ok. Baka cầ là 1000 đô đó. Nó đã cuối cùng nó đã chịu lấy cái MCP thông tin ra và nó trả rồi. Thì tất cả những cái này là cái gì? là do bạn prom thôi. Nó không phải liên quan nhiều đến cái

16:57 việc mà MCP server vì nó đã gọi thành công và MCP server rồi. Nó hiểu ý người dùng và nó gọi và lấy thông tin rồi nhưng nó trả về cho người dùng nó hơi ngu một tí. Đó thì cái này thì do bạn prom. Chúng ta sẽ cần phải prom lại thêm ở đây này. Đó ví dụ chúng ta đổi một chút đi. Đó về prom thì à ok. Đó thì mình đã demo cho các bạn biết là chúng ta N8N đã hỗ trợ MCP server và dùng tiện như thế nào. Tất cả chúng ta chỉ cần sửa trong này thôi, không cần phải sửa gì ở phần quflow cả. Chúng ta gom hết vào các MCP server. Và thông thường thì mình hay làm là gì? Mình tạo một cái MCP server. Đây là cho cái bank đó. Xong mình tạo một cái MCP khác là MCP AR, MCP server ví điện tử, MCP à thời tiết vân vân đó

17:45 để mình phục vụ những cái mục đích khác nhau và mình có thể bật tắt được nó theo thời gian. Đó thì đó là mình đã demo xong cái việc chúng ta ờ thiết lập MCP Server và đưa MCP Server kết nối đến AI Agent để làm những tác vụ. Hi vọng rằng sẽ giúp các bạn triển khai được ở trong các cái bài toán thực tế các bạn. Cảm ơn và nếu các bạn thấy hay hãy cho mình một like và đăng ký kênh để ủng hộ mình nhé. Bye bye.

Share

YouTube Video Summaries