Tool use của Claude không phải webhook. Backend của bạn gửi một tin nhắn, Claude phản hồi, đôi khi kèm yêu cầu gọi một công cụ, mã của bạn chạy công cụ và gửi kết quả về. Tất cả diễn ra qua HTTPS đi ra từ máy của bạn. Vậy tại sao bài này lại nói về tunnel?
Bởi vì ngay khi bạn xây dựng thứ gì đó thực sự với Claude — một agent lập trình, tự động hóa hỗ trợ, một máy chủ MCP, một workflow chạy dài — bạn bắt đầu cần kết nối đi vào. Cho client trình duyệt. Cho máy chủ MCP mở cho các app khác. Cho webhook từ công cụ bên thứ ba mà mô hình gọi.
Nơi tunnel thực sự hữu ích
Frontend trình duyệt cho ứng dụng Claude
Cùng hình thái với thiết lập OpenAI Realtime. Frontend của bạn không thể giữ khóa API Anthropic, nên nó nói chuyện với backend, backend nói chuyện với Anthropic. Frontend cần HTTPS để phản hồi streaming render sạch sẽ (một số trình duyệt làm giảm xử lý SSE trên HTTP thuần), và backend cần HTTPS nếu frontend là HTTPS. Tunnel xử lý cả hai.
Máy chủ MCP chạy cục bộ
Model Context Protocol cho phép Claude (và các client khác) kết nối tới công cụ bạn mở dưới dạng máy chủ MCP. Với máy chủ MCP dùng HTTP transport — khác với stdio — client cần tiếp cận được máy chủ của bạn. Nếu bạn đang tạo nguyên mẫu một máy chủ MCP và muốn kiểm thử với Claude Desktop hoặc client từ xa khác, mở máy chủ MCP cục bộ qua tunnel là con đường ít trở ngại nhất.
Callback của computer use
Nếu bạn dùng bản beta computer use của Claude và mô hình tương tác với một dịch vụ bắn webhook về máy của bạn, bạn đang ở lãnh địa webhook. Cùng các khuôn mẫu như bất kỳ nhà cung cấp nào: bắt, phát lại, xác minh (nếu áp dụng).
Điều tunnel không làm
Bạn không cần tunnel chỉ để gọi Claude từ một script cục bộ. curl https://api.anthropic.com/v1/messages chạy được từ mọi máy. SDK Python và TypeScript chạy tốt. Bản thân tool use là tương tác đi ra — Claude không gọi máy của bạn khi muốn dùng công cụ; mã của bạn mới là bên gọi dựa trên phản hồi của Claude.
Điều này khiến vài người vấp lần đầu. Khuôn mẫu là:
- Mã của bạn gửi tin nhắn người dùng tới Claude kèm danh sách công cụ khả dụng.
- Claude phản hồi, có thể kèm một khối
tool_usemô tả công cụ cần gọi. - Mã của bạn thực thi công cụ trên hệ thống cục bộ của bạn.
- Mã của bạn gửi kết quả công cụ về Claude như một tin nhắn tiếp theo.
- Lặp tới khi xong.
Cả năm bước diễn ra trong một tiến trình Python hoặc TypeScript. Không lưu lượng đi vào. Không tunnel.
Lý do thực sự khiến tunnel giúp ích cho workflow Claude
Lý do cuối cùng chúng ta chạy tunnel khi phát triển với Claude không phải bản thân mô hình. Đó là mọi thứ xung quanh nó: bảng điều khiển hiển thị tiến độ của agent, frontend stream đầu ra công cụ, máy chủ MCP mở để kiểm thử, webhook từ công cụ bên thứ ba mà agent gọi ("gửi tin nhắn Slack", "tạo issue Linear"). Agent châm ngòi một phản ứng dây chuyền, và đâu đó trong chuỗi đó, một dịch vụ bên ngoài rốt cuộc muốn chạm tới máy của bạn.
Thiết lập vòng lặp phát triển máy chủ MCP
- Hiện thực máy chủ MCP với HTTP transport.
- Chạy nó cục bộ trên cổng bạn chọn.
npx portpreview 3000(hoặc cổng của bạn).- Trong Claude Desktop hoặc client MCP khác, cấu hình URL máy chủ từ xa trỏ tới tunnel của bạn.
- Phát lệnh. Quan sát việc bắt yêu cầu trong tunnel và phản hồi máy chủ của bạn trả về.
Nếu máy chủ MCP của bạn dùng stdio transport, phần này không áp dụng — máy chủ stdio giao tiếp qua process pipe và theo thiết kế luôn cục bộ.
Phản hồi streaming và tunnel
Claude stream phản hồi qua SSE. Tunnel phải xử lý đúng phản hồi streaming sống lâu — đa số làm được, nhưng vài HTTP proxy cũ đệm phản hồi và chỉ xả ở cuối, làm mất ý nghĩa của streaming. PortPreview, Cloudflare và ngrok xử lý SSE không đệm. Nếu bạn thấy frontend nhận toàn bộ phản hồi một lần sau thời gian chờ lâu, tunnel của bạn đang đệm. Đó là vấn đề của tunnel, không phải của Claude.
Gỡ lỗi vòng lặp agent
Phần khó nhất khi phát triển tool use của Claude không phải API. Đó là hiểu mô hình đã quyết định làm gì ở mỗi bước. Ghi log mọi khối tool_use trước khi thực thi. Ghi log mọi kết quả công cụ trước khi trả về Claude. Nếu bạn có tunnel giữa frontend và backend, việc bắt yêu cầu cũng cho bạn bản ghi các tin nhắn người dùng — hữu ích để phát lại các lần chạy agent mà không phải gõ lại prompt.
Xu hướng sắp tới
Hệ sinh thái tool use của Anthropic chuyển động nhanh — MCP, computer use, cửa sổ ngữ cảnh dài hơn, độ trễ thấp hơn. Các khuôn mẫu webhook từ gỡ lỗi webhook cục bộ và phép tính chữ ký từ hướng dẫn xác minh chữ ký áp dụng khi bất kỳ công cụ bên ngoài nào agent gọi bắn callback về máy của bạn.
Tham gia danh sách chờ của PortPreview để có một tunnel tích hợp sẵn bắt, phát lại và chuyển tiếp an toàn cho SSE.