Cherry Studio MCP: kết nối server lấy dữ liệu web qua proxy
Cherry Studio MCP là cách cho ứng dụng chat AI Cherry Studio gọi công cụ bên ngoài qua giao thức Model Context Protocol, ví dụ một công cụ lấy nội dung trang web. Khi có proxy, mạng của ứng dụng và mạng của server công cụ là hai chuyện khác nhau. ProxyVN đọc mã nguồn Cherry Studio 2.1.8, dựng một MCP server chỉ đọc và chạy thử từng cấu hình mạng.
Cherry Studio MCP gồm ứng dụng, mô hình và server công cụ
Ba thành phần với ba đường mạng

Ba đường mạng khác nhau
Cherry Studio là ứng dụng desktop mã nguồn mở cho phép chat với nhiều nhà cung cấp mô hình. Khi bật MCP, có ba thành phần cùng làm việc. Ứng dụng Cherry Studio gửi câu hỏi tới mô hình. Mô hình quyết định gọi công cụ nào. Server MCP nhận lời gọi và thực hiện, ví dụ tải một trang web, rồi trả kết quả cho ứng dụng.
Mỗi thành phần có đường mạng riêng. Request tới mô hình do tiến trình ứng dụng gửi. Server MCP chạy dạng tiến trình con theo kiểu stdio thì tự mở kết nối ra ngoài. Server MCP chạy ở xa theo kiểu URL thì ứng dụng kết nối tới nó qua HTTP. Cài proxy cho một đường không tự động áp cho đường khác.
Tách bạch mạng của ứng dụng với mạng của server công cụ là việc đầu tiên khi cấu hình Cherry Studio MCP với proxy. Phần lớn sự cố đến từ việc nghĩ rằng một cài đặt proxy phủ được cả ba đường.
Ranh giới với bài agent-browser
Bài browser automation với agent-browser nói về công cụ trình duyệt mà agent gọi qua MCP. Bài proxy cho AI agent tự động nói về agent tự viết. Bài này chỉ nói về cách Cherry Studio quản lý MCP server và proxy: kiểu kết nối, môi trường của tiến trình con, cài đặt proxy của ứng dụng và cách xác minh từng đường.
Brief của bài ghi tài liệu tiếng Anh của Cherry Studio là bản dịch tự động chưa được duyệt. Hôm viết bài, trang tài liệu chuyển hướng sang một tên miền khác mà công cụ của mình không tải được. Vì vậy bài dựa vào mã nguồn chính thức trên GitHub thay cho trang tài liệu, và ghi rõ nhãn giao diện có thể khác theo bản.
Nguồn và phạm vi lab
Mình đọc kho CherryHQ/cherry-studio trên GitHub nhánh main ngày 27/10/2026, bản phát hành mới nhất là v2.1.8. Các tệp chính là dịch vụ proxy trong src/main/services/proxy và phần MCP trong src/main/ai/mcp. Mình không cài ứng dụng Cherry Studio trên máy lab.
Phần lab dựng một MCP server chỉ đọc bằng SDK Python chính thức bản 2.3.0, khởi chạy qua stdio đúng như cách một ứng dụng MCP khởi chạy server, rồi gọi công cụ với các môi trường khác nhau. Proxy thử cần tài khoản user1, website thử tên shop.test chỉ phân giải được bên trong proxy.
Kiểu kết nối Cherry Studio MCP: stdio, URL và tích hợp sẵn
Ứng dụng phân loại server ra sao
Trong mã, hàm mcpTransportKind chia server MCP thành bốn loại. Server có kiểu inMemory và có cài đặt sẵn trong ứng dụng là loại tích hợp. Server có baseUrl là loại URL. Server có command là loại stdio. Không thuộc ba loại trên là không hợp lệ.
Quy tắc đơn giản này giúp đọc cấu hình: có địa chỉ URL thì ứng dụng kết nối tới server ở xa, có lệnh thì ứng dụng chạy một tiến trình con. Khi thêm server, nhìn trường nào được điền là biết đường mạng nào sẽ được dùng.
Server stdio chạy trên máy
Với server stdio, ứng dụng chạy lệnh như uvx, npx hay đường dẫn tới một tệp thực thi, kèm tham số. Theo đặc tả transport của MCP, server stdio nói chuyện với ứng dụng qua đầu vào và đầu ra chuẩn, không qua mạng. Nhưng khi công cụ của server cần lấy dữ liệu web, chính tiến trình server mở kết nối ra Internet.
Kết nối đó dùng proxy hay không phụ thuộc hai điều: môi trường mà tiến trình server nhận được, và thư viện HTTP bên trong server có đọc biến proxy hay không. Ứng dụng không chen vào giữa kết nối của server.
Server URL ở xa
Với server URL, ứng dụng kết nối tới server qua HTTP theo kiểu SSE hoặc streamable HTTP. Kết nối từ ứng dụng tới server đi theo cài đặt mạng của ứng dụng. Còn server ở xa lấy dữ liệu web bằng mạng của máy chủ nơi nó chạy, không liên quan gì tới proxy của máy anh em.
Hệ quả quan trọng: với server URL ở xa, đổi proxy trên máy anh em không đổi IP mà website nhìn thấy khi server tải trang. Website thấy IP của máy chủ chạy server. Muốn đổi IP đó, phải cấu hình proxy ở phía máy chủ.
Proxy của ứng dụng trong Cherry Studio MCP
Ba chế độ trong mã
Dịch vụ ProxyService trong mã đọc ba tùy chọn: chế độ proxy, URL proxy và quy tắc bỏ qua. Hàm resolveProxyConfig đổi chúng thành cấu hình proxy của Electron. Chế độ none cho kết nối thẳng. Chế độ custom có URL cho cấu hình máy chủ cố định kèm quy tắc bỏ qua. Chế độ system dùng proxy của hệ điều hành. Chế độ custom mà thiếu URL thì quay về kết nối thẳng.
Điểm cuối cùng đáng chú ý: chọn custom nhưng quên điền URL, ứng dụng đi thẳng mà không báo lỗi. Sau khi chọn chế độ custom, kiểm lại ô URL đã có giá trị.
Ứng dụng ghi biến proxy vào tiến trình chính
Trong NodeProxyController, khi áp cấu hình proxy, mã xóa các biến proxy cũ trong process.env rồi ghi biến mới do buildNodeProxyEnvironment tạo ra. Với proxy HTTP, hàm này đặt HTTP_PROXY, HTTPS_PROXY, ALL_PROXY cùng bản chữ thường và grpc_proxy. Với proxy SOCKS, hàm đặt SOCKS_PROXY và ALL_PROXY. Quy tắc bỏ qua được đặt vào NO_PROXY.
Nghĩa là các thư viện Node chạy trong tiến trình chính của ứng dụng có thể đọc proxy qua biến môi trường. Mã còn có hàm kiểm URL proxy có chứa tài khoản hay không, cho thấy ứng dụng chấp nhận URL dạng http://user:pass@host:port.
Môi trường của server stdio

Server stdio dùng môi trường của chính nó
Trong mcpStdioLaunch, môi trường cho server stdio được dựng từ môi trường shell đăng nhập cộng với các biến khai riêng cho server. Hàm buildStdioEnvironment gộp hai nguồn, biến của server đè biến của shell. Trên Windows, hàm còn xử lý riêng biến PATH để tránh trùng lặp do không phân biệt hoa thường.
Mình chưa xác nhận từ mã rằng biến proxy mà ứng dụng ghi vào tiến trình chính luôn đi vào môi trường shell đăng nhập dùng cho server stdio. Môi trường shell được lấy riêng và lưu bộ đệm, có chú thích nhắc tới việc gỡ biến proxy khỏi môi trường ở một số luồng. Cách an toàn là khai biến proxy trong phần biến môi trường của từng server MCP cần mạng.
Khai biến môi trường cho server
Khi thêm server stdio, ngoài lệnh và tham số, có phần biến môi trường dạng khóa và giá trị. Đặt HTTP_PROXY, HTTPS_PROXY và NO_PROXY ở đây. Tài khoản trong URL proxy phải mã hóa phần trăm, ví dụ p@ss#2026 viết thành p%40ss%232026. Bài định dạng proxy có bảng mã hóa ký tự.
HTTP_PROXY=http://user1:p%40ss%232026@203.0.113.10:8080
HTTPS_PROXY=http://user1:p%40ss%232026@203.0.113.10:8080
NO_PROXY=localhost,127.0.0.1
Tên nhãn trên giao diện có thể khác theo bản, ví dụ biến môi trường hay environment variables. Dù nhãn là gì, các biến này đi thẳng vào môi trường của tiến trình server.
Dựng MCP server chỉ đọc cho Cherry Studio MCP
Server với hai công cụ
Brief yêu cầu một MCP server lab có công cụ chỉ đọc. Mình viết server bằng SDK Python của MCP, bản 2.3.0 đổi tên FastMCP thành MCPServer, nên mã cho bản 1 sẽ báo lỗi nhập. Server có hai công cụ: fetch_url lấy nội dung một URL thuộc danh sách host cho phép, proxy_seen cho biết server nhận được biến proxy nào, có che mật khẩu.
import os
from urllib.parse import urlsplit
import httpx
from mcp.server.mcpserver import MCPServer
ALLOWED = {h.strip() for h in os.environ.get("ALLOWED_HOSTS", "").split(",") if h.strip()}
mcp = MCPServer("lab-web-readonly")
@mcp.tool()
def fetch_url(url: str) -> str:
"""Lay toi da 2000 ky tu cua mot URL thuoc danh sach host duoc phep, chi GET."""
host = urlsplit(url).hostname or ""
if host not in ALLOWED:
return f"TU CHOI: host {host} khong nam trong danh sach cho phep"
try:
r = httpx.get(url, timeout=5, follow_redirects=True)
return f"HTTP {r.status_code}\n{r.text[:2000]}"
except httpx.HTTPError as e:
return f"LOI MANG: {type(e).__name__}: {e}"
if __name__ == "__main__":
mcp.run()
httpx đọc biến proxy trong môi trường theo mặc định, nên server này dùng proxy khi và chỉ khi môi trường tiến trình có biến proxy. Đó là đặc điểm cần có để kiểm cấu hình của ứng dụng chủ.
Bảng quyền của công cụ

Công cụ chỉ đọc, giới hạn host
Brief yêu cầu bảng quyền. Với server lab, quyền được giới hạn ngay trong mã thay vì dựa vào ứng dụng chủ.
Công cụ |
Được làm |
Không được làm |
|---|---|---|
fetch_url |
GET tới host trong ALLOWED_HOSTS, đọc 2000 ký tự đầu |
POST, PUT, DELETE, host ngoài danh sách, đọc tệp cục bộ |
proxy_seen |
Đọc tên biến proxy, che phần tài khoản |
Trả giá trị biến khác, trả mật khẩu |
Danh sách host cho phép đặt qua biến môi trường ALLOWED_HOSTS của server. Mô hình có thể yêu cầu gọi bất kỳ URL nào, nhưng server chỉ thực hiện với host đã được cho phép.
Vì sao giới hạn ở server
Mô hình quyết định gọi công cụ dựa trên nội dung cuộc trò chuyện, kể cả nội dung trang web vừa tải. Một trang độc hại có thể chứa chỉ dẫn khiến mô hình gọi công cụ với URL lạ. Giới hạn host ngay trong server là lớp phòng vệ không phụ thuộc vào việc mô hình làm đúng.
Trong lab, gọi fetch_url với https://evil.example.net trả TU CHOI: host evil.example.net khong nam trong danh sach cho phep ở mọi cấu hình. Đây là hành vi mong muốn cho một công cụ chỉ đọc.
Kết quả gọi tool Cherry Studio MCP qua proxy
Bốn cấu hình môi trường
Mình viết một client dùng SDK Python, khởi chạy server qua stdio với bốn bộ biến môi trường khác nhau, gọi list_tools, proxy_seen và fetch_url. Cách khởi chạy này giống cách một ứng dụng MCP như Cherry Studio chạy server stdio với biến khai riêng.
Cấu hình env của server |
proxy_seen trả về |
fetch_url tới shop.test |
|---|---|---|
Không biến proxy |
khong co bien proxy |
LOI MANG: ConnectError, getaddrinfo failed |
HTTP_PROXY, HTTPS_PROXY đúng |
Bốn biến, mật khẩu đã che |
HTTP 200 với JSON của trang |
Tài khoản sai |
Bốn biến, mật khẩu đã che |
HTTP 407, thân rỗng |
HTTP_PROXY và NO_PROXY=shop.test |
HTTP_PROXY và NO_PROXY |
LOI MANG: getaddrinfo failed |
Nhật ký proxy ghi GET http://shop.test:8941/mcp với user1 ở cấu hình thứ hai, xác thực đạt, và một dòng xác thực sai ở cấu hình thứ ba. Ở cấu hình thứ nhất và thứ tư, proxy không nhận được gì.
Lỗi proxy nằm trong kết quả công cụ
Điểm cần chú ý ở cấu hình thứ ba: server trả HTTP 407 như một kết quả bình thường của công cụ. Với ứng dụng chủ, lời gọi công cụ thành công, chỉ có nội dung là mã lỗi. Mô hình sẽ đọc dòng HTTP 407 và có thể diễn giải sai thành trang không tồn tại hay bị chặn.
Vì vậy công cụ nên trả thông điệp lỗi rõ ràng, nói rõ lỗi ở proxy. Ví dụ khi mã là 407, trả về Proxy tu choi tai khoan thay vì chỉ có mã. Mô hình đọc thông điệp rõ sẽ trả lời người dùng đúng hơn. Bài sửa lỗi 407 Proxy Authentication Required có danh sách nguyên nhân phía nhà cung cấp.
Biến chữ hoa và chữ thường trên Windows
Ở cấu hình thứ hai, proxy_seen trả cả HTTP_PROXY lẫn http_proxy dù client chỉ đặt bản chữ hoa. Trên Windows, biến môi trường không phân biệt hoa thường, Python thấy cùng một biến dưới hai tên. Mã Cherry Studio cũng có hàm riêng mô phỏng quy tắc này của Windows khi kiểm biến proxy cho tiến trình con.
Trên macOS và Linux, hai bản là hai biến riêng. Một số thư viện chỉ đọc bản chữ thường, một số đọc cả hai. Khai cả hai bản trong biến môi trường của server để chạy được ở mọi nền tảng.
Với Cherry Studio MCP, lời gọi công cụ thành công không có nghĩa request web thành công. Đọc nội dung kết quả, nơi lỗi proxy có thể nằm dưới dạng một mã trạng thái.
Cherry Studio MCP với server lấy web viết bằng ngôn ngữ khác nhau
Server Python
Server viết bằng Python thường dùng httpx hoặc requests để tải trang. Cả hai đọc HTTP_PROXY, HTTPS_PROXY và NO_PROXY theo mặc định, như lab đã cho thấy với httpx. Với server Python, khai biến môi trường cho server gần như luôn đủ để có proxy.
Ngoại lệ là server tự tạo client với tùy chọn tắt đọc môi trường, ví dụ httpx.Client với trust_env bằng False. Khi đó biến proxy bị bỏ qua dù đã khai. Nếu proxy_seen có biến mà request vẫn đi thẳng, tìm tùy chọn này trong mã server.
Server Node.js
Server viết bằng Node thường dùng fetch tích hợp. fetch của Node chỉ đọc biến proxy khi bật NODE_USE_ENV_PROXY=1 từ Node 24.5, hoặc khi server tự gắn dispatcher. Server Node chạy qua npx với chỉ HTTP_PROXY trong môi trường có thể vẫn đi thẳng.
Cách xử lý là thêm NODE_USE_ENV_PROXY=1 vào biến môi trường của server, với điều kiện bản Node mà ứng dụng dùng để chạy npx đủ mới. Nếu server dùng thư viện như axios hay got, mỗi thư viện có cách đọc proxy riêng, cần đọc mã server. Bài Node.js fetch proxy giải thích cách fetch của Node nhận proxy.
Server điều khiển trình duyệt
Server MCP điều khiển trình duyệt, như các server dựa trên Playwright hay Puppeteer, mở một trình duyệt thật. Trình duyệt đó có cấu hình proxy riêng khi khởi chạy, không phải lúc nào cũng đọc biến môi trường. Nhiều server có tham số hoặc biến riêng để đặt proxy cho trình duyệt.
Với loại server này, kiểm IP ra bằng cách cho công cụ mở một trang trả IP rồi đọc nội dung. Nếu IP là IP của máy, trình duyệt chưa đi proxy dù tiến trình server đã có biến môi trường.
Viết thông điệp lỗi tốt cho công cụ Cherry Studio MCP
Phân loại lỗi trước khi trả cho mô hình
Server lab trả HTTP kèm mã trạng thái hoặc LOI MANG kèm tên ngoại lệ. Cách này đủ để người đọc log hiểu, nhưng mô hình có thể diễn giải sai. Một công cụ tốt nên phân loại lỗi thành vài nhóm rõ ràng trước khi trả kết quả.
def explain(status: int | None, err: Exception | None) -> str:
if err is not None:
return "Khong ket noi duoc toi trang hoac toi proxy. Kiem tra cau hinh mang cua server."
if status == 407:
return "Proxy tu choi tai khoan. Day la loi cau hinh proxy, khong phai loi cua trang web."
if status in (403, 429):
return "Trang web tu choi hoac gioi han tan suat. Khong nen thu lai ngay."
if status and status >= 400:
return f"Trang web tra loi {status}."
return ""
Thêm câu giải thích này vào đầu kết quả khi có lỗi. Mô hình đọc được ngữ cảnh rõ ràng sẽ báo đúng cho người dùng, và không gọi lại công cụ liên tục khi lỗi nằm ở cấu hình proxy.
Không lặp lại vô hạn
Mô hình có thể gọi lại công cụ nhiều lần khi nhận lỗi, mỗi lần tốn token và tốn một request qua proxy. Server nên đếm số lần lỗi liên tiếp với cùng host và trả thông điệp dừng sau vài lần. Với proxy tính phí theo băng thông hay theo request, giới hạn này giúp tránh hóa đơn bất ngờ.
Ghi log phía server
Ghi mỗi lời gọi công cụ vào log của server: tên công cụ, host, mã trạng thái, thời gian và kết quả phân loại lỗi. Không ghi nội dung trang và không ghi biến môi trường, vì cả hai có thể chứa dữ liệu nhạy cảm của người dùng hoặc mật khẩu proxy. Log phía server là nơi duy nhất cho biết chuyện gì xảy ra với request web, vì ứng dụng chủ chỉ thấy kết quả công cụ.
Khi người dùng phản ánh mô hình trả lời sai về một trang, đối chiếu log server với thời điểm cuộc trò chuyện. Việc này chỉ mất vài phút nếu log có dấu thời gian và tên host rõ ràng, nhưng sẽ mất cả buổi nếu log chỉ có dòng gọi công cụ thành công mà không có mã trạng thái. Nếu log có 407 hay lỗi mạng ở lúc đó, nguyên nhân nằm ở proxy chứ không nằm ở mô hình hay ở trang.
Xác minh từng đường mạng của Cherry Studio MCP
Đường ứng dụng tới mô hình
Đường này đi theo cài đặt proxy của ứng dụng. Kiểm bằng cách đặt chế độ custom trỏ về proxy có nhật ký, gửi một câu hỏi ngắn, xem nhật ký proxy có kết nối tới tên miền API của nhà cung cấp mô hình hay không. Nếu dùng chế độ system, kiểm proxy hệ điều hành đang đặt gì.
Nhớ rằng proxy không đổi hạn mức hay điều khoản của tài khoản nhà cung cấp mô hình. Proxy chỉ đổi đường mạng.
Đường server stdio ra Internet
Đường này đi theo môi trường của tiến trình server. Kiểm bằng một công cụ kiểu proxy_seen như server lab, cho biết server thực sự nhận biến nào. Sau đó gọi fetch_url tới một host mà nhật ký proxy ghi lại được. Hai bước này tách được lỗi môi trường khỏi lỗi thư viện HTTP bên trong server.
Nếu proxy_seen trả không có biến proxy dù đã cài proxy cho ứng dụng, khai biến trực tiếp cho server. Nếu proxy_seen có biến mà request vẫn đi thẳng, thư viện HTTP của server không đọc biến, cần sửa mã server.
Đường ứng dụng tới server URL
Với server URL trong mạng nội bộ, thêm tên máy của server vào quy tắc bỏ qua của ứng dụng, nếu không ứng dụng có thể đẩy kết nối tới server nội bộ ra proxy bên ngoài. Với server URL ở Internet, kết nối đi qua proxy của ứng dụng bình thường. Mã của Cherry Studio có bộ so khớp quy tắc bỏ qua hỗ trợ tên miền, IP, dải CIDR và ký tự đại diện.
Bài no_proxy là gì giải thích quy ước viết danh sách bỏ qua. Với Cherry Studio, quy tắc được tách bằng dấu phẩy hoặc dấu chấm phẩy theo hàm chuẩn hóa trong mã.
Bảo mật khi dùng Cherry Studio MCP với proxy
Tài khoản proxy trong cấu hình server
Biến môi trường khai cho server được lưu trong cấu hình của ứng dụng. Nếu URL proxy có tài khoản, cấu hình đó chứa mật khẩu. Không xuất cấu hình server ra tệp để chia sẻ mà chưa xóa phần tài khoản. Không chụp màn hình phần biến môi trường để hỏi đáp trên diễn đàn.
Server lab che mật khẩu trong proxy_seen bằng cách thay phần trước ký tự @ cuối cùng. Công cụ của server không nên trả nguyên biến môi trường cho mô hình, vì kết quả công cụ đi vào ngữ cảnh và có thể được gửi tới nhà cung cấp mô hình.
Không cho công cụ quyền ghi khi chỉ cần đọc
Nhiều server MCP có sẵn trên mạng cung cấp cả công cụ đọc lẫn ghi, ví dụ vừa tải trang vừa ghi tệp. Với nhu cầu lấy dữ liệu web, chỉ bật công cụ đọc. Nếu ứng dụng cho tắt từng công cụ của server, tắt công cụ ghi. Nếu không, viết server riêng chỉ có công cụ đọc như server lab.
Server lấy từ nguồn ngoài
Server stdio chạy bằng npx hay uvx tải gói từ kho gói công khai mỗi lần chạy hoặc lần đầu chạy. Gói đó chạy với quyền của người dùng trên máy, đọc được môi trường kể cả biến proxy có mật khẩu. Chỉ dùng server từ nguồn tin cậy, ghim phiên bản gói, và đọc mã server trước khi khai biến có bí mật cho nó.
Chọn proxy cho Cherry Studio MCP
Proxy cho ứng dụng và proxy cho server
Có thể dùng hai proxy khác nhau: một cho ứng dụng gọi mô hình, một cho server lấy dữ liệu web. Ví dụ ứng dụng đi qua proxy công ty, còn server lấy dữ liệu đi qua proxy dân cư đúng vùng cần xem giá. Tách như vậy giúp mỗi đường dùng loại proxy phù hợp.
Với server lấy dữ liệu từ website có giới hạn tần suất, proxy chỉ đổi IP, không đổi cách website đánh giá request. Tôn trọng điều khoản và tốc độ hợp lý. Bài lỗi 429 khi dùng proxy có cách xử lý khi bị giới hạn.
ProxyVN có proxy dân cư tĩnh, datacenter và proxy xoay, hỗ trợ HTTP và SOCKS5, cấp tài khoản user và mật khẩu. Nếu cần proxy cho server MCP lấy dữ liệu web, anh em có thể mua proxy tại trang chủ ProxyVN rồi khai vào biến môi trường của server và chạy lại bốn cấu hình trong bảng.
Câu hỏi thường gặp về Cherry Studio MCP
Cài proxy cho Cherry Studio có áp cho server MCP không. Ứng dụng ghi biến proxy vào tiến trình chính, nhưng môi trường của server stdio lấy từ shell đăng nhập cộng biến khai riêng. Khai biến proxy cho từng server để chắc.
Server MCP ở xa có dùng proxy của máy mình không. Không. Kết nối tới server dùng proxy của ứng dụng, nhưng server tải web bằng mạng của máy chủ nơi nó chạy.
Chọn chế độ custom mà không điền URL thì sao. Theo mã, ứng dụng quay về kết nối thẳng.
Proxy SOCKS có dùng được không. Mã có nhánh riêng cho SOCKS, đặt SOCKS_PROXY và ALL_PROXY. Server bên trong có dùng được hay không tùy thư viện HTTP của server.
Vì sao công cụ báo thành công mà nội dung là 407. Server trả mã lỗi trong kết quả công cụ. Nên sửa server để trả thông điệp lỗi proxy rõ ràng.
Server cũ viết bằng FastMCP báo lỗi nhập trên SDK mới. SDK Python bản 2 đổi tên FastMCP thành MCPServer. Sửa dòng nhập hoặc ghim mcp dưới bản 2.
Có nên dùng chế độ system cho Cherry Studio không. Hợp khi máy đã có proxy hệ điều hành do công ty quản lý. Với proxy riêng cho từng việc, chế độ custom kèm quy tắc bỏ qua dễ kiểm hơn.
Server MCP có thấy cài đặt proxy của ứng dụng trên giao diện không. Không trực tiếp. Server chỉ thấy biến môi trường của tiến trình nó. Dùng công cụ kiểu proxy_seen để biết.
Checklist Cherry Studio MCP với proxy

Checklist Cherry Studio MCP
Trước khi dùng thật
- Biết server là stdio hay URL, vì hai loại dùng hai đường mạng khác nhau.
- Kiểm chế độ proxy của ứng dụng và ô URL khi chọn custom.
- Khai HTTP_PROXY, HTTPS_PROXY, NO_PROXY cho server stdio cần mạng.
- Mã hóa mật khẩu trong URL proxy.
- Dùng công cụ kiểu proxy_seen để xác nhận server nhận biến.
- Giới hạn host ngay trong server.
- Trả thông điệp lỗi proxy rõ ràng trong kết quả công cụ.
- Không đưa mật khẩu vào kết quả công cụ.
Giới hạn của bài
Bài dựa vào mã nguồn Cherry Studio nhánh main và bản v2.1.8, không cài ứng dụng trên máy lab, nên nhãn giao diện cần đối chiếu bản đang dùng. Lab chạy server và client bằng SDK Python 2.3.0 qua stdio với proxy tự dựng. Chưa thử server URL, chưa thử SOCKS và chưa thử gateway thương mại.
Cherry Studio MCP và những điều cần nhớ
Cherry Studio MCP có ba đường mạng: ứng dụng tới mô hình theo cài đặt proxy của ứng dụng, server stdio theo biến môi trường của chính nó, server URL theo mạng nơi nó chạy. Khai proxy cho từng server, giới hạn host và đọc kỹ kết quả công cụ. Cần proxy ổn định cho Cherry Studio MCP, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam.