DEV Community

BeanBean
BeanBean

Posted on Originally published at nextfuture.io.vn

MCP Gateway: Gộp Nhiều MCP Server Về Một Endpoint Duy Nhất

Originally published on NextFuture

Bạn vừa thêm MCP server thứ tám cho Claude Code, rồi phải copy đúng block config đó sang Cursor và agent nội bộ. Rotate một API key nghĩa là mở ba file, sửa ba chỗ, và vẫn sót một chỗ.

MCP gateway là câu trả lời kiến trúc cho đúng cái sprawl đó. Bài này tóm cơ chế ở tầng protocol, chi phí context bạn đang trả, và mốc nào thì chưa cần gateway.

Gateway là gì ở tầng protocol

Theo bài hướng dẫn của MCP2Skill, gateway là "a single MCP-compatible endpoint that sits between your AI clients and your MCP servers". Thay vì mỗi client nối trực tiếp tới từng server, client nối một lần vào gateway; gateway aggregate các upstream server, filter tool nào được expose, route từng call về server sở hữu nó, và ghi lại chuyện gì đã xảy ra.

Cách hình dung gọn nhất cũng từ bài đó: gateway là "an MCP server to your clients and an MCP client to your servers". Nó nói MCP về cả hai phía, nên client hiện tại không cần patch gì.

Bốn chi phí bạn đang trả khi client nối trực tiếp

  • Config N × M. Bài viết đưa con số cụ thể: ba client và tám server là 24 config block phải sync bằng tay. Chúng không tự sync, và drift hiện ra dưới dạng một tool tồn tại ở client này mà không có ở client kia.

  • Process trùng lặp. Server stdio được spawn bởi bất cứ thứ gì kết nối vào nó, nên "three clients using the filesystem MCP means three filesystem MCP processes, three sets of file handles, three copies of that server's memory footprint".

  • Tool surface không filter. Client load full tool list của mọi server nó nối. Riêng GitHub MCP server đã expose vài chục tool; nối bốn-năm server thì theo bài viết, "a large share of your context window is tool schemas the current task will never use — before the agent does anything".

  • Secret sprawl và zero observability. Mỗi config trực tiếp là thêm một chỗ token nằm plaintext trên disk. Với gateway, "upstream secrets (env vars, headers, OAuth grants) live in the gateway", và mọi call đi qua một boundary nên log, latency, failure về cùng một nơi.

Cắt tool schema tiết kiệm được bao nhiêu — và cho task nào

Một benchmark công khai đăng hôm nay cho con số thực tế cho vế tool surface. Tác giả bật progressive disclosure cho một agent có 20 tool: defer tool schema cắt input token khoảng 30% và tổng chi phí khoảng 21%.

Nhưng cái mean đó che một thứ. Ba trong bốn loại task tiết kiệm 21% đến 30%; loại thứ tư không tiết kiệm gì trên một transport và đắt thêm 12,3% trên transport còn lại. Setup được ghi rõ: 20 run mỗi cell, tuần tự, không retry, gpt-4o ở temperature 0, chạy ngày 2026-08-06 trên pydantic-ai-slim[openai] 2.24.0, tổng chi phí 0,279585 USD.

Bài học ghép lại rất trực tiếp: filter tool ở gateway là đòn tiết kiệm context rẻ nhất, nhưng phải đo theo từng loại task, không đo theo trung bình.

Khi nào chưa cần gateway

Chính bài hướng dẫn thừa nhận direct client-to-server là ổn với một client và hai server. Phân tích thêm: gateway thêm một hop và một điểm chết tập trung, nên nếu bạn chỉ dùng một IDE và hai server local thì chi phí vận hành lớn hơn phần tiết kiệm.

Theo phân tích của chúng tôi, ngưỡng đáng chuyển thường là lúc bạn có từ ba client trở lên, hoặc bắt đầu phải rotate credential ở nhiều file.

Việc nên làm tuần này

  • Đếm N × M config hiện tại của bạn — con số đó là ước lượng công sync tay mỗi lần thêm server.

  • Đo input token của một task điển hình trước và sau khi tắt các server không liên quan, theo từng loại task.

  • Chọn một chỗ duy nhất để log tool call, kể cả khi chưa dựng gateway — không có log tập trung thì mọi lỗi tool đều là đoán.


This article was originally published on NextFuture. Follow us for more fullstack & AI engineering content.

Top comments (0)