تونل امن MCP اوپنایآی: سرور خصوصی بدون باز کردن پورت
خلاصهٔ کاملتر
وقتی یک سرور MCP داخل شبکهی خصوصی، روی سرورهای درونسازمانی یا پشت فایروال قرار داره، معمولاً برای اینکه ابزارهای بیرونی بتونن صداش بزنن باید پورت ورودی باز کنی یا سرور را روی اینترنت عمومی بذاری؛ هر دو از نظر امنیتی دردسرسازن. Secure MCP Tunnel اوپنایآی همین مشکل را حل میکنه.
ایدهی اصلی یک اتصال فقط-خروجی است. شما یک برنامه به اسم tunnel-client را داخل شبکهای که از قبل به سرور MCP دسترسی داره اجرا میکنی. این کلاینت یک مسیر HTTPS خروجی به سمت OpenAI باز میکنه، بهصورت long-poll منتظر کارهای صفشده میمونه، هر درخواست JSON-RPC را به سرور MCP محلی میفرسته و پاسخ را از همون تونل برمیگردونه.
نکتهی مهم اینه که سرور MCP هیچ شنوندهی عمومی لازم نداره و آدرسش خصوصی میمونه و فقط از داخل همون محیطی که کلاینت اجرا میشه استفاده میشه. مربی و سرور هیچوقت مستقیم به هم وصل نمیشن؛ نقطهی شروع اتصال همیشه داخل مرز شبکهی شماست. حتی وقتی کانکتور نتیجهی جریانی بخواد، تونل میتونه رویدادهای SSE میانی را هم فوروارد کنه.
برای استقرار، چند الگوی رایج وجود داره: اجرای کلاینت بهعنوان sidecar کنار سرور MCP در یک Pod کوبرنتیز، یک deployment جدا، یا یک سرویس systemd روی یک VM. کلاینت به HTTPS خروجی به api.openai.com (یا mtls.api.openai.com در حالت mTLS) نیاز داره و باید بتونه سرور MCP را از داخل شبکه ببینه.
از نظر امنیتی، دسترسی تونل از همون قواعد سازمان و workspace پیروی میکنه و مسیر ورودی عمومی جدیدی باز نمیشه. کلاینت نیازهای سازمانی مثل پراکسی خروجی، بستهی CA سفارشی و mTLS سمت MCP را هم پشتیبانی میکنه. یک قابلیت پیشرفته به اسم Harpoon هم اجازه میده مجموعهی محدودی از endpointهای REST خصوصی بهصورت allowlist از طریق تونل در دسترس قرار بگیرن.
نکات کلیدی:
- تونل MCP یک اتصال فقط-خروجی از داخل شبکه به endpoint میزبان OpenAI است
- نیازی به باز کردن پورت ورودی یا عمومیکردن سرور MCP نیست
- کلاینت با long-poll کار میگیره و پاسخ را از همون مسیر برمیگردونه
- پشتیبانی از mTLS، پراکسی خروجی و CA سفارشی برای محیطهای سازمانی




