Claude का टूल यूज़ कोई वेबहुक नहीं है। आपका बैकएंड एक मैसेज भेजता है, Claude जवाब देता है — कभी-कभी किसी टूल को कॉल करने के अनुरोध के साथ — आपका कोड टूल चलाता है और नतीजा वापस भेजता है। यह सब आपकी मशीन से आउटबाउंड HTTPS पर होता है। तो फिर यह लेख टनल के बारे में क्यों है?
क्योंकि जिस क्षण आप Claude के साथ कुछ असली बनाते हैं — एक कोडिंग एजेंट, सपोर्ट ऑटोमेशन, एक MCP सर्वर, एक लंबा वर्कफ़्लो — आपको इनबाउंड कनेक्टिविटी की ज़रूरत पड़ने लगती है। ब्राउज़र क्लाइंट के लिए। दूसरे ऐप्स के लिए एक्सपोज़ किए गए MCP सर्वर के लिए। उन थर्ड-पार्टी टूल से आने वाले वेबहुक के लिए जिन्हें मॉडल कॉल करता है।
टनल असल में कहाँ मदद करता है
Claude ऐप्स के लिए ब्राउज़र फ्रंटएंड
OpenAI Realtime सेटअप जैसा ही ढाँचा। आपका फ्रंटएंड Anthropic API key नहीं रख सकता, इसलिए वह आपके बैकएंड से बात करता है, जो Anthropic से बात करता है। स्ट्रीमिंग रिस्पॉन्स साफ़ रेंडर हों इसके लिए फ्रंटएंड को HTTPS चाहिए (कुछ ब्राउज़र सादे HTTP पर SSE हैंडलिंग घटा देते हैं), और अगर फ्रंटएंड HTTPS है तो बैकएंड को भी HTTPS चाहिए। टनल दोनों संभाल लेता है।
लोकल चल रहे MCP सर्वर
Model Context Protocol Claude (और अन्य क्लाइंट) को उन टूल से जुड़ने देता है जिन्हें आप MCP सर्वर के रूप में एक्सपोज़ करते हैं। HTTP-ट्रांसपोर्ट MCP सर्वर के लिए — stdio के विपरीत — क्लाइंट को आपके सर्वर तक पहुँचना होता है। अगर आप एक MCP सर्वर प्रोटोटाइप कर रहे हैं और इसे Claude Desktop या किसी अन्य रिमोट क्लाइंट से टेस्ट करना चाहते हैं, तो लोकल MCP सर्वर को टनल से एक्सपोज़ करना सबसे आसान रास्ता है।
computer use कॉलबैक
अगर आप Claude का computer use बीटा इस्तेमाल कर रहे हैं और मॉडल किसी ऐसी सेवा से इंटरैक्ट करता है जो आपकी मशीन पर वेबहुक वापस भेजती है, तो आप वेबहुक के इलाक़े में हैं। किसी भी प्रोवाइडर जैसे ही पैटर्न: कैप्चर, रीप्ले, सत्यापन (यदि लागू हो)।
टनल क्या नहीं करता
लोकल स्क्रिप्ट से Claude कॉल करने भर के लिए टनल नहीं चाहिए। curl https://api.anthropic.com/v1/messages किसी भी मशीन से चलता है। Python और TypeScript SDK ठीक चलते हैं। टूल यूज़ स्वयं एक आउटबाउंड इंटरैक्शन है — Claude टूल इस्तेमाल करना चाहे तो आपकी मशीन को कॉल नहीं करता; Claude के जवाब के आधार पर कॉल आपका कोड करता है।
पहली बार में यह कुछ लोगों को उलझा देता है। पैटर्न यह है:
- आपका कोड उपलब्ध टूल की सूची के साथ Claude को एक यूज़र मैसेज भेजता है।
- Claude जवाब देता है, संभवतः एक
tool_useब्लॉक के साथ जो कॉल किए जाने वाले टूल का वर्णन करता है। - आपका कोड आपके लोकल सिस्टम पर टूल चलाता है।
- आपका कोड टूल का नतीजा एक फ़ॉलो-अप मैसेज के रूप में Claude को वापस भेजता है।
- पूरा होने तक लूप।
पाँचों चरण एक ही Python या TypeScript प्रोसेस में होते हैं। कोई इनबाउंड ट्रैफ़िक नहीं। कोई टनल नहीं।
असली वजह कि टनलिंग Claude वर्कफ़्लो में क्यों मदद करती है
Claude डेवलपमेंट के दौरान आख़िरकार टनल चलाने की वजह मॉडल खुद नहीं है। यह उसके इर्द-गिर्द की हर चीज़ है: एजेंट की प्रगति दिखाने वाला डैशबोर्ड, टूल आउटपुट स्ट्रीम करता फ्रंटएंड, टेस्ट के लिए एक्सपोज़ किया गया MCP सर्वर, उस थर्ड-पार्टी टूल का वेबहुक जिसे एजेंट ने इनवोक किया ("Slack मैसेज भेजो", "Linear में issue बनाओ")। एजेंट एक श्रृंखला-प्रतिक्रिया छेड़ता है, और उस श्रृंखला में कहीं न कहीं कोई बाहरी सेवा आख़िरकार आपकी मशीन तक पहुँचना चाहती है।
MCP सर्वर डेव लूप का सेटअप
- अपना MCP सर्वर HTTP ट्रांसपोर्ट के साथ बनाएँ।
- इसे अपने चुने हुए पोर्ट पर लोकल चलाएँ।
npx portpreview 3000(या आपका पोर्ट)।- Claude Desktop या अपने अन्य MCP क्लाइंट में, अपने टनल की ओर इशारा करता रिमोट सर्वर URL कॉन्फ़िगर करें।
- कमांड भेजें। टनल में रिक्वेस्ट कैप्चर और आपके सर्वर के लौटाए रिस्पॉन्स देखें।
अगर आपका MCP सर्वर stdio ट्रांसपोर्ट है, तो यह लागू नहीं — stdio सर्वर प्रोसेस पाइप से संवाद करते हैं और डिज़ाइन से लोकल रहते हैं।
स्ट्रीमिंग रिस्पॉन्स और टनल
Claude SSE के ज़रिए रिस्पॉन्स स्ट्रीम करता है। टनल को लंबे समय तक चलने वाले स्ट्रीमिंग रिस्पॉन्स को सही ढंग से संभालना होता है — ज़्यादातर संभाल लेते हैं, पर कुछ पुराने HTTP प्रॉक्सी रिस्पॉन्स बफ़र कर लेते हैं और अंत में ही फ्लश करते हैं, जिससे स्ट्रीमिंग का मतलब ही ख़त्म हो जाता है। PortPreview, Cloudflare और ngrok बिना बफ़रिंग के SSE संभालते हैं। अगर लंबे इंतज़ार के बाद आपके फ्रंटएंड को पूरा रिस्पॉन्स एक साथ मिलता है, तो आपका टनल बफ़र कर रहा है। यह टनल की समस्या है, Claude की नहीं।
एजेंट लूप की डीबगिंग
Claude टूल यूज़ डेवलपमेंट का सबसे कठिन हिस्सा API नहीं है। यह समझना है कि मॉडल ने हर चरण पर क्या करने का फ़ैसला किया। चलाने से पहले हर tool_use ब्लॉक लॉग करें। Claude को लौटाने से पहले हर टूल नतीजा लॉग करें। अगर आपके फ्रंटएंड और बैकएंड के बीच टनल है, तो रिक्वेस्ट कैप्चर आपको यूज़र मैसेज का रिकॉर्ड भी देता है — प्रॉम्प्ट दोबारा टाइप किए बिना एजेंट रन रीप्ले करने के लिए उपयोगी।
आगे की दिशा
Anthropic का टूल यूज़ इकोसिस्टम तेज़ी से बढ़ रहा है — MCP, computer use, लंबे context window, कम latency। वेबहुक को लोकल डीबग करने के वेबहुक पैटर्न और सिग्नेचर सत्यापन गाइड का सिग्नेचर गणित तब लागू होते हैं जब एजेंट द्वारा कॉल किया गया कोई भी बाहरी टूल आपकी मशीन पर कॉलबैक भेजता है।
कैप्चर, रीप्ले और SSE-सुरक्षित फ़ॉरवर्डिंग बिल्ट-इन वाले टनल के लिए PortPreview वेटलिस्ट में शामिल हों।