پرش به محتوای اصلی
پرش به محتوای مقاله

mcpsnoop: ابزار جدید برای رمزگشایی از ترافیک مخفی عامل‌های هوش مصنوعی

·۱۲ تیر ۱۴۰۵۴ دقیقه مطالعه
ابزار شفاف برای نمایش تمام فراخوانی‌های واقعی ابزار بین کلاینت هوش مصنوعی و سرورهای MCP، به صورت زنده در ترمینال.
ابزار شفاف برای نمایش تمام فراخوانی‌های واقعی ابزار بین کلاینت هوش مصنوعی و سرورهای MCP، به صورت زنده در ترمینال.
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی نخستین پروکسی شفاف برای MCP که ترافیک واقعی کلاینت‌های تجاری (مانند Cursor) را رصد می‌کند؛ برخلاف بازرسان رسمی که خود کلاینت هستند و ترافیک واقعی را نمی‌بینند.

تصور کنید می‌خواهید نشتی یک لوله را پیدا کنید، اما به‌جای بررسی لوله اصلی، به لوله دیگری در اتاق مجاور نگاه می‌کنید. این دقیقاً وضعیتی است که توسعه‌دهندگان هنگام عیب‌یابی پروتکل زمینهٔ مدل (Model Context Protocol یا MCP) با آن مواجه‌اند. در حال حاضر وقتی یک فراخوانی ابزار به‌طور ناگهانی متوقف می‌شود یا در محیط‌هایی مانند Claude Desktop، Cursor یا Claude Code با خطا مواجه می‌گردد، برنامه‌نویسان اغلب مجبور هستند با حدس و گمان و بررسی لاگ‌های متنی در پوشه‌های /tmp پیش بروند.

این شکاف در دید پذیری در تاریخ ۳ ژوئیه ۲۰۲۶ با انتشار ابزار mcpsnoop برطرف شد. این ابزار ارتقای قابل‌توجهی در روش‌های عیب‌یابی پروتکل MCP ایجاد می‌کند. طبق اعلام سازندگان این پروژه، بازرسان رسمی MCP چون خود به‌عنوان کلاینت‌های مجزا عمل می‌کنند، نمی‌توانند ترافیک واقعی و عینی که میان یک کلاینت واقعی هوش مصنوعی و سرور آن جریان دارد را ثبت کنند. ابزار mcpsnoop با قرار گرفتن مستقیم در مسیر داده‌ها به‌عنوان یک پروکسی شفاف، این نقطه کور را از بین می‌برد و اجازه می‌دهد دقیقاً آنچه منتقل می‌شود را رصد کنید.

mcpsnoop

همان‌طور که در بررسی‌های پیشین خود درباره‌ی استانداردهای ارتباطی عامل‌ها اشاره کردیم، شفافیت در لایه‌ی انتقال داده، کلید کاهش توهمات در سیستم‌های پیچیده است. mcpsnoop دقیقاً همین شفافیت را فراهم می‌کند. در این راستا، اپل نیز در حال توسعه ابزارهای مشابه برای اتوماسیون عیب‌یابی است، همان‌طور که در پیش‌نمایش ۲۴۷ سافاری شاهد تلاش برای حذف توصیفات دستی برنامه‌نویس بودیم.

بر اساس مستندات گیت‌هاب این پروژه، این ابزار در قالب یک فایل باینری واحد، دو نقش حیاتی را ایفا می‌کند. در حالی که بازرسان رسمی در کنار مسیر قرار دارند و به صورت موازی عمل می‌کنند، mcpsnoop دقیقاً وسط لوله قرار می‌گیرد. وقتی این ابزار دور یک دستور سرور بسته شود (به صورت mcpsnoop -- <server>)، مانند یک لایه واسط یا «شیم» (Shim) شفاف عمل می‌کند که کلاینت شما آن را اجرا و spawn می‌کند. این ابزار بایت‌ها را عیناً و بدون تغییر منتقل کرده و هم‌زمان یک کپی از هر فریم را به یک مرکز نظارت (Hub) می‌فرستد.

زمانی که این ابزار بدون هیچ آرگومانی اجرا شود، یک رابط کاربری متنی (TUI) را باز می‌کند که جریان زنده ترافیک را نمایش می‌دهد. این دو نقش (پروکسی و رابط کاربری) از طریق یک سوکت شناخته‌شده و لاگ‌های روی دیسک با یکدیگر جفت می‌شوند. این مکانیسم به این معناست که رابط کاربری می‌تواند جلسات گذشته را بازخوانی (Backfill) کند و برای کاربر فرقی نمی‌کند که رابط کاربری را قبل یا بعد از اجرای کلاینت باز کند.

ابزار Wireshark برای MCP: پروکسی شفاف برای نمایش تمام فراخوانی‌های ابزار بین کلاینت AI و سرورهای MCP، به صورت زنده در ترمینال

در بخش قابلیت‌های فنی، mcpsnoop امکانات ویژه‌ای برای توسعه جریان‌های کاری عامل‌محور (Agentic) ارائه می‌دهد که هر کدام چالش‌های خاصی را حل می‌کنند:

  • جریان زنده JSON-RPC: نمایش درخواست‌ها، پاسخ‌ها، اعلان‌ها و خروجی‌های stderr سرور با کدگذاری رنگی. این ابزار فراتر از خطاهای استاندارد JSON-RPC عمل کرده و فراخوانی‌های کند و پرچم‌های result.isError در سطح ابزار را نیز علامت‌گذاری می‌کند.
  • بازپخش فراخوانی (Call Replay): با فشردن کلید r می‌توان هر فراخوانی ثبت‌شده را روی یک نمونه سرور مجزا، ایزوله و تازه اجرا کرد. این قابلیت، سریع‌ترین حلقه ممکن را برای تکرار و اصلاح یک ابزار فراهم می‌کند تا نیازی به اجرای مجدد کل سیستم نباشد.
  • بازرس قابلیت‌ها (Capability Inspector): با فشردن کلید c می‌توان دقیقاً مشاهده کرد که کلاینت و سرور در لحظه دست‌دادن (Handshake) اولیه بر سر چه قابلیت‌هایی توافق کرده‌اند و چه امکاناتی فعال شده‌اند.
  • تشخیص فراخوانی‌های معلق (Hung-call Detection): درخواست‌هایی که در جریان هستند و پاسخی نداده‌اند، با برچسب PENDING و یک تایمر زنده نمایش داده می‌شوند. این ویژگی باعث می‌شود ابزارهای «گیر کرده» در یک نگاه شناسایی شوند.
  • بازرس فریم (Frame Inspector): با فشردن کلید enter می‌توان نسخه کامل و زیبا شده (Pretty-printed) JSON را مشاهده کرد که دارای قابلیت جستجو در داخل فریم است.
  • فیلترینگ پیشرفته: با فشردن کلید / می‌توان ترافیک را با استفاده از توکن‌های AND شده که با فاصله از هم جدا شده‌اند، محدود کرد. امکان فیلتر بر اساس tool:، status:، dir:، kind:، id: یا متن ساده وجود دارد. برای مثال، عبارت tool:search status:slow فراخوانی‌های کندِ جستجو را می‌یابد، در حالی که dir:s2c kind:req درخواست‌های شروع شده توسط سرور مانند sampling یا roots را نمایش می‌دهد.

به نقل از توسعه‌دهندگان، این ابزار برای استقرار بدون پیکربندی (Zero-config) طراحی شده است و کاربر نیازی به به خاطر سپردن پرچم‌ها یا ترتیب خاص در استارت‌آپ ندارد. کاربران می‌توانند دستورات سرور موجود خود را — چه از node (برای بیلد‌های TypeScript)، python server.py، npx -y @scope/server یا یک باینری کامپایل‌شده استفاده کنند — مستقیماً در فایل تنظیمات MCP کلاینت خود قرار دهند.

برای سرورهایی که از HTTP-streamable پشتیبانی می‌کنند، این ابزار می‌تواند به‌عنوان یک پروکسی معکوس عمل کند. برای این کار از دستور زیر استفاده می‌شود: mcpsnoop http --target http://localhost:3000/mcp --listen :7000.

نصب این ابزار از سه طریق امکان‌پذیر است:
۱. از طریق دستور go install github.com/kerlenton/mcpsnoop/cmd/mcpsnoop@latest برای توسعه‌دهندگان زبان Go.
۲. استفاده از Homebrew با دستور brew tap kerlenton/mcpsnoop و سپس brew install mcpsnoop. (توجه: اگر Homebrew دسترسی به Tap شخص ثالث را محدود کند، ممکن است کاربر نیاز به اجرای brew trust kerlenton/mcpsnoop داشته باشد).
۳. دانلود مستقیم باینری‌های پیش‌ساخته از صفحه Releases در گیت‌هاب.

در مقایسه با ابزارهایی مثل mcp-trace یا بازرس رسمی MCP، نقطه قوت mcpsnoop در ارائه یک باینری واحد بدون هیچ وابستگی به زمان اجرا (Runtime Dependencies) است که ترافیک واقعی کلاینت-سرور را می‌بیند و هم‌زمان قابلیت‌های کامل TUI و بازپخش (Replay) را فراهم می‌کند.

از نظر امنیتی، توسعه‌دهندگان باید توجه داشته باشند که mcpsnoop دستور سروری را که دور آن بسته شده است، اجرا می‌کند. بنابراین، توصیه‌های امنیتی استاندارد اعمال می‌شود: فقط سرورهای مورد اعتماد را در آن قرار دهید یا آن‌ها را درون کانتینرها اجرا کنید. در همین راستا، برای مقابله با آسیب‌پذیری‌های احتمالی سرورها، راهکارهای سخت‌گیرانه‌تری مانند محدود کردن دسترسی فایل توسط ادیسون فلورز پیشنهاد شده است تا امنیت محیط‌های اجرایی تضمین شود. این ابزار هرگز چیزی را اجرا نمی‌کند که شما قبلاً در تنظیمات کلاینت خود قرار نداده باشید.

این تغییر در ابزارها، صنعت را از اجرای «جعبه سیاه» دور می‌کند. اکنون توسعه‌دهندگان می‌توانند با مشاهده دقیق فریم‌های JSON-RPC بفهمند آیا کلاینت آرگومان‌های غیرمنتظره‌ای می‌فرستد یا اینکه سرور در تایید قابلیت‌ها شکست می‌خورد. برای کسانی که عامل‌های پیچیده می‌سازند، توانایی بازپخش یک فراخوانی شکست‌خورده در محیط ایزوله، حلقه عیب‌یابی را از یک سری حدس‌وگمان به یک علم دقیق تبدیل می‌کند.

گام بعدی شما

  • دستور mcpsnoop demo را اجرا کنید تا یک جلسه اسکریپت‌شده در محیط رابط کاربری را مشاهده کرده و با نحوه نمایش ترافیک آشنا شوید.
  • اگر در محیط Claude Desktop با خطاهای مبهم در ابزارهای خود مواجهید، سرور خود را با mcpsnoop بپوشانید تا ترافیک واقعی JSON-RPC را رصد کنید.
  • قابلیت Call Replay را برای تست سریع تغییرات در کد ابزارهای MCP به جای ری‌استارت کردن کامل کلاینت به کار ببرید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این ابزار با حذف «جعبه سیاه» در ارتباطات MCP، سرعت توسعه عامل‌های هوش مصنوعی را به‌شدت افزایش می‌دهد. تایید اعتبار ترافیک واقعی (به جای شبیه‌سازی) به توسعه‌دهندگان اجازه می‌دهد حفره‌های امنیتی و منطقی را پیش از استقرار شناسایی کنند.

تأثیر برای ایران

برنامه‌نویسان ایرانی که در حال ساخت ابزارهای MCP برای کلاینت‌های هوش مصنوعی هستند، می‌توانند با این ابزار رایگان و متن‌باز، هزینه‌ی عیب‌یابی و زمان توسعه را به‌طور چشم‌گیری کاهش دهند.

·نگاه ما
تحریریه دات‌هوش

جایگاه mcpsnoop در اکوسیستم، گذار از «مانیتورینگ» به «دباگینگ فعال» است. قابلیت بازپخش (Replay) باعث می‌شود توسعه‌دهندگان به‌جای بازسازی دستی سناریوهای خطا، مستقیماً روی داده‌های واقعی استنتاج آزمایش کنند. این ابزار در واقع لایه گمشده‌ای است که تبدیل MCP از یک پروتکل آزمایشی به یک استاندارد صنعتی را تسریع می‌کند.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.