
mcpsnoop v0.22.0
MCP के लिए Wireshark। आपके AI क्लाइंट और MCP सर्वर के बीच एक पारदर्शी प्रॉक्सी। अपने टर्मिनल में हर कॉल को लाइव देखें, जो यह पाता है उस पर CI विफल करें, OpenTelemetry स्पैन निर्यात करें।
MCP के लिए Wireshark। mcpsnoop आपके AI क्लाइंट और आपके MCP सर्वर के बीच बैठता है और उनके द्वारा आदान-प्रदान किए गए हर JSON-RPC फ़्रेम को रिकॉर्ड करता है, बिना किसी भी पक्ष में बदलाव किए। इसे अपने टर्मिनल में लाइव देखें, जो मिले उस पर CI को विफल करें, या इसे अपने ट्रेसिंग बैकएंड में OpenTelemetry स्पैन के रूप में भेजें।
समस्या
आधिकारिक MCP Inspector अपने स्वयं के क्लाइंट के रूप में कनेक्ट होता है, इसलिए यह कभी नहीं देखता कि आपका क्लाइंट (Cursor, Claude Code, Codex) वास्तव में आपके सर्वर को क्या भेजता है। और जो कुछ भी अनुरोध आने की प्रतीक्षा करता है वह उस कॉल को नहीं दिखा सकता जो मॉडल ने कभी नहीं की, या गलत आर्ग्युमेंट के साथ की। जब कोई टूल चुपचाप कॉल नहीं होता, क्षमताएँ मेल नहीं खातीं, या कोई कॉल बस अटक जाती है, तो आप लॉग खोदते और अनुमान लगाते रह जाते हैं।
इसके बजाय mcpsnoop वास्तविक डेटा पथ में बैठता है। अपने सर्वर कमांड को इसके साथ रैप करें और हर JSON-RPC फ़्रेम को लाइव देखें, जैसे आपका वास्तविक क्लाइंट और सर्वर बातचीत करते हैं।
CI में
यह पृष्ठ mcpsnoop GitHub Action की लिस्टिंग भी है, इसलिए यहाँ इसका पूरा विवरण है। यह एक कैप्चर किए गए सत्र की जाँच करता है, हर निष्कर्ष को कोड स्कैनिंग अलर्ट के रूप में दर्ज करता है, और जिस पर आपने गेट लगाया है उस पर जॉब को विफल कर देता है।
permissions:
security-events: write
contents: read
steps:
- uses: kerlenton/[email protected]
with:
session: artifacts/session.jsonl
कैप्चर हाथ में नहीं है? अपने ही क्लाइंट के साथ एक बार एक सत्र रिकॉर्ड करें, उसे कमिट करें, और एक्शन को हर बिल्ड के विरुद्ध उसे रीप्ले करने दें। CI में कोई मॉडल और कोई API कुंजी नहीं चलती। रीप्ले को किसी भी कैप्चर की तरह जाँचा जाता है, और जब सर्वर रिकॉर्डिंग से भी बदतर हो जाता है तो जॉब विफल भी हो जाता है। Streamable HTTP के माध्यम से पहुँचे जाने वाले सर्वर को उसके एंडपॉइंट के साथ target मिलता है, और एक रिकॉर्डिंग किसी भी ट्रांसपोर्ट पर रीप्ले होती है।
steps:
- uses: kerlenton/[email protected]
with:
replay: tests/mcp/claude-code-session.jsonl
server: node dist/index.js
जिस भी रिलीज़ को आप चाहें उसे पिन करें। सबसे नई रिलीज़ releases page पर है। हर इनपुट और आउटपुट नीचे The GitHub Action में है, और हर वह सिग्नल जिस पर चेक विफल हो सकता है, docs/CI.md में है।
OpenTelemetry
MCP रिवीज़न 2026-07-28 प्रोटोकॉल-स्तरीय Logging को अप्रचलित करता है और
कार्यान्वयनों को stdio पर stderr की ओर, या संरचित
अवलोकनशीलता के लिए OpenTelemetry की ओर जाने का निर्देश देता है। mcpsnoop क्लाइंट या सर्वर को छुए बिना दोनों को कवर करता है।
एक stdio सर्वर की stderr पंक्तियाँ उसके फ़्रेमों के बगल में स्ट्रीम में दिखाई देती हैं, और
हर अनुरोध एक स्पैन बन जाता है जो
MCP के लिए OpenTelemetry semantic conventions का पालन करता है।
mcpsnoop export -T otlp -o trace.json # spans from a capture
mcpsnoop --otlp-endpoint http://localhost:4318/v1/traces -- node build/index.js # spans as calls complete
एक टूल कॉल tools/call search नाम के span के रूप में आता है, जिसमें
mcp.method.name, gen_ai.tool.name और error.type होते हैं, इसलिए यह
mcpsnoop के लिए बनाए गए डैशबोर्ड के बजाय MCP के लिए बनाए गए डैशबोर्ड में पहुँचता है। Prometheus के लिए लाइव टूल मेट्रिक्स
बस एक फ़्लैग दूर हैं। दोनों
docs/OPENTELEMETRY.md में हैं।
त्वरित शुरुआत
बिना कुछ सेटअप किए, इसे तुरंत देखें।
mcpsnoop demo
वास्तविक उपयोग के लिए, अपने सर्वर को अपने क्लाइंट के MCP कॉन्फ़िग में लपेटें।
{
"mcpServers": {
"my-server": {
"command": "mcpsnoop",
"args": ["--", "node", "build/index.js"]
}
}
}
-- के बाद जो कुछ भी है वह वह कमांड है जो सामान्य रूप से आपके सर्वर को लॉन्च करता है। जो आप पहले से उपयोग करते हैं उसे इसमें बदल दें, जैसे python server.py, npx -y @scope/server, या कोई कंपाइल किया गया बाइनरी।
Claude Desktop पर आपको यह संपादन हाथ से करने की आवश्यकता नहीं है।
mcpsnoop wrap my-server # route my-server through mcpsnoop
mcpsnoop unwrap my-server # put it back
wrap claude_desktop_config.json को ढूँढता है, पहली बार इसे
claude_desktop_config.json.mcpsnoop.bak में कॉपी करता है, और केवल उसी
सर्वर की प्रविष्टि को फिर से लिखता है, इसलिए आपकी फ़ॉर्मेटिंग और हर दूसरा सर्वर अछूता रहता है।
फिर से लिखी गई प्रविष्टि के अंदर कुंजियाँ वर्णानुक्रम में वापस आ जाती हैं। unwrap
फ़ाइल को पुनर्स्थापित करता है, और जब कोई सर्वर रैप नहीं रहता तो बैकअप हटा देता है।
दोनों में से किसी के बाद Claude Desktop को पुनः आरंभ करें, क्योंकि MCP सर्वर
स्टार्टअप पर एक बार लॉन्च होते हैं।
फिर अपने क्लाइंट का सामान्य रूप से उपयोग करें और UI खोलें।
mcpsnoop
कोई फ़्लैग नहीं, कोई सॉकेट पाथ नहीं, याद रखने के लिए कोई स्टार्टअप क्रम नहीं। शिम और UI स्वयं एक-दूसरे को खोज लेते हैं, और UI डिस्क से पिछले सत्रों को बैकफ़िल करता है।
स्ट्रीमेबल-HTTP सर्वर के लिए, mcpsnoop को रिवर्स प्रॉक्सी के रूप में चलाएँ।
mcpsnoop http --target http://localhost:3000/mcp --listen :7000
हर प्रतिक्रिया का HTTP स्टेटस स्ट्रीम में दिखता है, इसलिए जिस प्रतिक्रिया में अपना कोई JSON-RPC संदेश नहीं होता, वह भी कुछ न होने के बजाय एक दृश्यमान फ़्रेम ही होती है। इसमें 401 चैलेंज, अस्वीकृत Origin पर 403, किसी नोटिफ़िकेशन को स्वीकार करने वाला 202, और तब 502 शामिल है जब लक्ष्य तक पहुँचा ही न जा सके। 401 का WWW-Authenticate हेडर ज्यों का त्यों रखा जाता है और इंस्पेक्टर में दिखाया जाता है, क्योंकि यह प्रमाणीकरण स्कीम और आगे जाने के लिए रिसोर्स मेटाडेटा बताता है। TUI में status:401 से स्टेटस के आधार पर फ़िल्टर करें, या status:err से किसी भी विफलता के आधार पर। 4xx या 5xx को त्रुटि माना जाता है, इसलिए डिफ़ॉल्ट mcpsnoop check रन उस पर विफल हो जाता है, और जिस कॉल का यह उत्तर देता है वह अभी भी प्रतीक्षारत होने के बजाय विफल के रूप में दिखता है।
अपना कोई सर्वर नहीं? एक प्रकाशित टेस्ट सर्वर के विरुद्ध, अपने ही क्लाइंट से चलाकर इसे वास्तव में आज़माएँ। किसी सत्र का निरीक्षण उसके हो चुकने के बाद करने के लिए, लॉग से पिछले सत्रों की समीक्षा करें देखें।
इंस्टॉल
npm
किसी Go टूलचेन की आवश्यकता नहीं। अधिकांश MCP सर्वर Node या Python में लिखे जाते हैं, इसलिए यह सबसे छोटा रास्ता है।
npx mcpsnoop -- node build/index.js
npm पैकेज अपना कोई कोड नहीं भेजता। छह प्लेटफ़ॉर्म पैकेजों में से प्रत्येक में एक बिल्ड होता है, और npm केवल वही इंस्टॉल करता है जो आपकी मशीन से मेल खाता है, इसलिए इंस्टॉल के समय डाउनलोड करने के लिए कुछ नहीं है और प्रॉक्सी में अनब्लॉक करने के लिए कुछ नहीं है। इसे हर रन पर फ़ेच करने के बजाय बनाए रखने के लिए, npm i -g mcpsnoop।
Homebrew
brew install mcpsnoop
Go
go install github.com/kerlenton/mcpsnoop/cmd/mcpsnoop@latest
हर प्लेटफ़ॉर्म के लिए पहले से बने बाइनरी Releases पेज पर उपलब्ध हैं।