- vừa được xem lúc

Máy chủ MCP cho các nền tảng phát triển dựa trên Agent

0 0 1

Người đăng: Gung Typical

Theo Viblo Asia

Trong vài tháng qua, khái niệm MCP đã trở nên bùng nổ. MCP (Model Context Protocol) được phát triển và phát hành vào cuối năm 2024 bởi Anthropic. Giao thức này cho phép các tác nhân AI và các mô hình ngôn ngữ lớn (LLM) tương tác với các API bên thứ ba để làm việc với dữ liệu thực và thực hiện hành động thay mặt bạn.

Trong trường hợp của Redis MCP — như bạn sẽ thấy ở phần sau — điều đó có nghĩa là bạn có thể tìm kiếm trong cơ sở dữ liệu của mình bằng ngôn ngữ tự nhiên.

Để sử dụng MCP và cho phép nó tương tác với các API khác, bạn cần có một máy chủ MCP cung cấp các công cụ cho tác nhân AI sử dụng.

Câu hỏi lớn đặt ra là: làm sao vận hành máy chủ MCP mà không gây khó khăn cho các lập trình viên? Việc để mọi người tự cài đặt máy chủ cục bộ vừa tốn công, vừa dễ gây ra nhiều sự không nhất quán. Việc tập trung hóa thành một dịch vụ chia sẻ sẽ giúp đơn giản hóa, bảo mật hơn và cho phép đội ngũ tập trung vào xây dựng thay vì "canh chừng" máy chủ.

Trong bài viết này, chúng tôi sẽ hướng dẫn cách bạn có thể triển khai các máy chủ MCP trên Kubernetes. Với cấu hình như vậy, bạn có thể dễ dàng sử dụng chúng cho nhiều trường hợp khác nhau và cho phép lập trình viên kết nối mà không gặp trở ngại.

Cấu trúc của một máy chủ MCP

Máy chủ MCP hỗ trợ hai loại giao thức truyền tải — tức là “cách mà tác nhân AI giao tiếp với máy chủ”: stdin và SSE.

  • Máy chủ stdin được chạy dưới dạng nhị phân, nơi tác nhân gửi yêu cầu qua đầu vào chuẩn (stdin) và nhận phản hồi qua đầu ra chuẩn (stdout). Điều này hoạt động tốt ở môi trường cục bộ, nhưng trong môi trường công ty, việc mỗi người chạy máy chủ riêng có thể gây rối loạn.
  • Ngược lại, máy chủ dùng SSE (Server-Sent Events) giao tiếp qua HTTP. Tác nhân AI sẽ đăng ký với máy chủ qua endpoint SSE để nhận phản hồi, và gửi yêu cầu qua các lệnh POST.

Với SSE, máy chủ MCP được tập trung hóa trong một môi trường kiểm soát và được chia sẻ như một dịch vụ. Điều này không chỉ cải thiện trải nghiệm phát triển mà còn giảm rủi ro bảo mật và lỗi cấu hình từ các phiên bản máy chủ chạy cục bộ.

Kiến trúc triển khai máy chủ MCP

Tôi đã tạo một thiết lập giúp bạn triển khai các máy chủ MCP yêu thích vào cụm Kubernetes của bạn. Khi hoàn tất, bạn sẽ có một nơi tập trung để quản lý hoặc triển khai các máy chủ mới.

Trong trường hợp này chúng ta sẽ sử dụng Cyclops, tôi đã tạo ra một mẫu UI cho phép bạn triển khai máy chủ MCP chỉ bằng vài cú nhấp chuột — kể cả triển khai máy chủ MCP tùy chỉnh từ Docker image. image.png

Hình minh họa phía trên là kiến trúc được đề xuất.

Một đội kỹ sư chuyên trách có thể sở hữu, quản lý các máy chủ MCP thông qua giao diện Cyclops. Họ có thể cấu hình để máy chủ giao tiếp với các ứng dụng bên ngoài như Grafana, Redis.

Từ đó, các lập trình viên khác chỉ cần kết nối Cursor với máy chủ MCP được công khai để thực hiện hành động thay mặt họ.

Cách chạy máy chủ MCP trên Kubernetes

Yêu cầu:

  • Một cụm Kubernetes đang chạy (Bạn có thể tạo bằng Minikube)
  • Đã cài đặt kubectl
  • Tác nhân AI — ví dụ trong bài là Cursor

Cài đặt Cyclops:

kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.3/install/cyclops-install.yaml && kubectl apply -f https://raw.githubusercontent.com/cyclops-ui/cyclops/v0.20.3/install/demo-templates.yaml

Điều này sẽ tạo namespace cyclops và triển khai mọi thứ cần thiết để Cyclops hoạt động.

Mở Cyclops UI:

kubectl port-forward svc/cyclops-ui 3000:3000 -n cyclops

Truy cập Cyclops tại: http://localhost:3000

Ví dụ: Redis MCP

Sau khi Cyclops đã hoạt động, ta có thể khởi chạy một phiên bản Redis trong cụm và máy chủ Redis MCP kết nối tới nó.

Bước 1: Thêm module Redis

Vào Cyclops → Chọn "Add module" → Chọn mẫu Redis. image.png

Bạn có thể cài đặt xác thực cho phiên bản Redis này — ví dụ: mật khẩu my-secret-password (sẽ dùng khi kết nối với máy chủ MCP). image.png

Bây giờ bạn sẽ được chuyển hướng đến trang chi tiết Module hiển thị Redis của bạn đang hoạt động. Khi phiên bản Redis của bạn đã sẵn sàng, bạn có thể tạo máy chủ MCP và kết nối nó để quản lý phiên bản của mình. image.png

Bước 2: Tạo MCP server kết nối Redis

  • Vào Add Module → chọn mẫu mcp-server
  • Ở phần cấu hình, chọn loại MCP là redis
  • Cung cấp thông tin kết nối:
    • REDIS_HOST: Tên dịch vụ, ví dụ cache-redis-master.default
    • REDIS_PORT: Mặc định là 6379
    • REDIS_PWD: my-secret-password

image.png

Sau khi triển khai xong máy chủ MCP, bạn cần mở cổng để truy cập:

kubectl port-forward -n default svc/redis-mcp 8000:8000

Bước 3: Cấu hình Cursor kết nối MCP

{ "mcpServers": { "redis": { "url": "http://localhost:8000/sse" } }
}

Giờ bạn có thể hỏi Cursor về trạng thái Redis hoặc dữ liệu trong đó.

Các máy chủ MCP khác

Với template trên, bạn có thể dễ dàng triển khai các máy chủ như:

  • Wikipedia MCP
  • Grafana MCP
  • Hoặc tùy chỉnh từ Docker Image riêng của bạn

Chỉ cần chọn custom ở dropdown và khai báo Docker image bạn muốn dùng.

Tổng kết

Chúng tôi tin rằng AI đang ngày càng trở thành một phần của quy trình phát triển phần mềm, nhưng cần có các lớp trừu tượng và kiểm soát để đảm bảo an toàn và hiệu quả. Đây là bước đi đầu tiên của chúng tôi trong hành trình đó.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Model Context Protocol: Giao thức ngữ cảnh cho mô hình AI hiện đại

Trong thời đại trí tuệ nhân tạo (AI) phát triển mạnh mẽ, việc tối ưu hóa cách các mô hình xử lý thông tin ngữ cảnh trở thành yếu tố then chốt để nâng cao hiệu suất và trải nghiệm người dùng. Một khái

0 0 10

- vừa được xem lúc

Model Context Protocol: Bí quyết đằng sau các công cụ AI thông minh

Bạn có bao giờ tự hỏi làm sao các công cụ như Cursor có thể nhớ được bạn đang làm gì trên nhiều file, tab, thậm chí là toàn bộ dự án—mà không xâm phạm quyền riêng tư hay gây rối mọi thứ? Bí mật nằm ở

0 0 8

- vừa được xem lúc

So sánh MCP và A2A: Hai Giao thức Quan trọng Cho Tương Lai AI

Trong bối cảnh AI đang bùng nổ với các mô hình ngôn ngữ lớn (LLMs) và các Autonomous agents, việc giao tiếp giữa các hệ thống (cả nội bộ lẫn bên ngoài) trở nên cần thiết hơn bao giờ hết. Hai giao thức

0 0 9

- vừa được xem lúc

MCP+Database: Một Phương Pháp Mới với Hiệu Quả Truy Xuất Tốt Hơn RAG!

Trong những năm gần đây, Mô Hình Ngôn Ngữ Lớn (LLMs) đã thể hiện những khả năng ấn tượng trong các tác vụ xử lý ngôn ngữ tự nhiên. Tuy nhiên, những hạn chế của các mô hình này, chẳng hạn như kiến thức

0 0 7

- vừa được xem lúc

FastAPI MCP là gì? Tích hợp AI dễ dàng cho các API FastAPI của bạn

Hôm nay, chúng ta hãy cùng khám phá một công cụ cực kỳ thực tiễn — FastAPI MCP. Nếu bạn đang xây dựng API bằng FastAPI và muốn các endpoint của bạn có thể được AI (như GPT, Claude, v.

0 0 5

- vừa được xem lúc

Giới thiệu về Model Context Protocol (MCP)

Trong kỷ nguyên bùng nổ của trí tuệ nhân tạo, chúng ta đã chứng kiến những bước tiến vượt bậc về khả năng suy luận và chất lượng của các mô hình ngôn ngữ lớn (LLM). Tuy nhiên, có một vấn đề vẫn luôn t

0 0 6