با گسترش پذیرش مدل‌های زبانی بزرگ (Large Language Models یا LLMs)، چالش کلیدی شناسایی موارد استفاده مناسب و ساخت عامل‌های هوشمند (Intelligent Agents) برای خدمت به صنایع مختلف است. جامعه شاهد افزایش زیرساخت‌ها و ابزارهای پشتیبانی از توسعه عامل‌های هوش مصنوعی بوده است که در این میان، MCP (پروتکل زمینه مدل) شرکت Anthropic به دلیل توانایی در اتصال LLMs به منابع داده متنوع برجسته است.

این مقاله پتانسیل و کاربردهای MCP در ارتقای هوش اینترنت اشیا (IoT) را بررسی می‌کند و به سوالات زیر پاسخ می‌دهد:

  • آیا می‌توان از MCP برای هوشمندسازی تعداد زیادی از دستگاه‌ها استفاده کرد؟
  • آیا محدودیت‌هایی در کاربرد MCP در سناریوهای IoT وجود دارد؟
  • ادغام MQTT و MCP چگونه می‌تواند اتصال یکپارچه دستگاه‌های قدیمی و جدید به اکوسیستم‌های هوش مصنوعی را تسهیل کند؟

مرور کلی بر MCP

MCP (Model Context Protocol) یک پروتکل استاندارد باز است که توسط Anthropic در نوامبر 2024 معرفی شد. این پروتکل برای ایجاد یک چارچوب ارتباطی استاندارد بین مدل‌های زبانی بزرگ (LLMs) و منابع داده خارجی، ابزارها و خدمات طراحی شده است و به رفع مشکل جزیره‌های داده (Data Silos) و افزایش کارایی تعامل برنامه‌های هوش مصنوعی با اطلاعات چندمنبعی کمک می‌کند. اجزای اصلی و معماری آن شامل موارد زیر است:

  • MCP Hosts: برنامه‌های LLM که درخواست‌ها را آغاز می‌کنند (مانند Claude Desktop، ابزارهای IDE).
  • MCP Clients: کلاینت‌های پروتکل که در داخل میزبان اجرا می‌شوند و ارتباط مستقیم یک‌به‌یک با سرور را حفظ می‌کنند.
  • MCP Servers: برنامه‌های سبک که زمینه، ابزارها و اعلان‌ها (Prompts) را فراهم می‌کنند و از دسترسی به منابع محلی و از راه دور (مانند فایل‌ها، پایگاه‌های داده، APIها) پشتیبانی می‌کنند.

مزایا و ویژگی‌های کلیدی MCP

  • توسعه ساده‌شده (Simplified Development): یک‌بار بنویسید، چندین بار ادغام کنید—نیازی به نوشتن کد سفارشی برای هر ابزار جدید نیست.
  • تعامل پویا (Dynamic Interaction): از به‌روزرسانی‌های زمینه بلادرنگ و تعاملات پشتیبانی می‌کند و کارایی پاسخ را بهبود می‌بخشد.
  • امن و کنترل‌شده (Secure and Controlled): کنترل دسترسی داخلی تضمین می‌کند که LLMs فقط عملیات مجاز را از طریق رابط‌های مشخص انجام دهند.
  • گسترش انعطاف‌پذیر (Flexible Expansion): ویژگی‌های جدید با استقرار سرورهای MCP اضافی اضافه می‌شوند و مکانیزم گسترش ماژولار مشابه افزونه‌ها را امکان‌پذیر می‌کنند.

سناریوهای کاربردی هوش مصنوعی MCP

  • محیط‌های توسعه یکپارچه هوشمند (Intelligent IDEs): به مخازن کد و مستندات متصل می‌شود تا کمک کدنویسی آگاه از زمینه را فراهم کند.
  • تحلیل داده (Data Analytics): دسترسی امن به پایگاه‌های داده محلی را فراهم می‌کند و امکان پرس‌وجوهای SQL و تولید گزارش خودکار را می‌دهد.
  • ادغام جریان کار (Workflow Integration): به طور یکپارچه با سیستم‌های سازمانی (مانند CRM، ERP) متصل می‌شود تا وظایف پیچیده را خودکار کند.

از زمان راه‌اندازی، خدمات سرور مرتبط با MCP به سرعت رشد کرده‌اند. در حال حاضر، فهرست سرورهای MCP (MCP Server Directory) شامل 4,245 سرویس است که دسته‌هایی مانند پایگاه‌های داده، پلتفرم‌های ابری و اتوماسیون مرورگر را پوشش می‌دهد. این خدمات به برنامه‌های کلاینت MCP اجازه می‌دهند به راحتی با منابع داده و ابزارهای خارجی متصل شوند و از قابلیت‌های استدلال هوش مصنوعی برای هماهنگی جریان‌های کاری و تسریع توسعه برنامه‌های هوشمند استفاده کنند.

پتانسیل MCP در کاربردهای IoT

دستگاه‌های اینترنت اشیا (IoT) به دنیای دیجیتال اجازه می‌دهند تا محیط فیزیکی را از طریق گزارش داده‌ها درک کند و همچنین کنترل و عملکرد دستگاه‌های دنیای واقعی را از طریق رابط‌های در معرض دید برای رفع نیازهای خاص کاربران فراهم می‌کند. در حال حاضر، بیشتر سیستم‌های IoT به پروتکل MQTT برای ارتباط وابسته هستند. طراحی معماری MCP با مفهوم “مدل دستگاه” (Device Model) در IoT هم‌راستا است و آن را به یک راه‌حل امیدوارکننده برای این حوزه تبدیل می‌کند. MCP نه تنها به طور یکپارچه با سیستم‌های مبتنی بر MQTT ادغام می‌شود، بلکه ارتباط بین دستگاه‌ها و برنامه‌های هوش مصنوعی را نیز بهبود می‌بخشد.

معرفی مدل دستگاه (Device Model)

مدل دستگاه نمایانگر دوقلوی دیجیتال (Digital Twin) موجودیت‌های فیزیکی (مانند حسگرها، دستگاه‌های داخل خودرو، ساختمان‌ها و کارخانه‌ها) در ابر است. این مدل ویژگی‌ها، عملکردها و اطلاعات در دسترس خارجی یک موجودیت را از طریق سه بعد کلیدی تعریف می‌کند:

  • ویژگی‌ها (Attributes): داده‌های وضعیت بلادرنگ یک دستگاه، مانند دما و رطوبت از یک دستگاه نظارت محیطی یا وضعیت روشن/خاموش یک دستگاه هوشمند.
  • عملکردها (Functions): دستورات قابل اجرا که یک دستگاه می‌تواند انجام دهد. فراخوانی‌های عملکرد از پارامترهای ورودی (شرایط اجرا) و خروجی (نتایج اجرا) پشتیبانی می‌کنند، مانند تنظیم دمای کولر یا کنترل روشن/خاموش یک موتور.
  • رویدادها (Events): اطلاعاتی که دستگاه به طور فعال به ابر گزارش می‌دهد، از جمله هشدارها و اعلان‌های خطا. این رویدادها اغلب شامل چندین پارامتر هستند، مانند هشدارهای خرابی تجهیزات یا اعلان‌های ناهنجاری محیطی.

قابلیت‌های ارائه‌شده توسط MCP

  • منابع (Resources): داده‌های قابل دسترسی برای کلاینت‌ها، مانند پاسخ‌های API یا محتوای فایل‌ها.
  • ابزارها (Tools): ماژول‌های عملکردی که LLMs می‌توانند با تأیید کاربر فراخوانی کنند.
  • اعلان‌ها (Prompts): الگوهای از پیش تعریف‌شده که به کاربران در انجام وظایف خاص کمک می‌کنند.

MCP و IoT: ادغام یکپارچه برای سیستم‌های IoT مبتنی بر هوش مصنوعی

با مقایسه سه بعد مدل دستگاه با قابلیت‌های MCP، هم‌راستایی واضحی مشاهده می‌شود:

  • ویژگی‌ها و رویدادها در مدل دستگاه با منابع (Resources) در MCP مطابقت دارند و اطلاعات متاداده و وضعیت بلادرنگ دستگاه‌های فیزیکی را به LLMs ارائه می‌دهند.
  • عملکردها در مدل دستگاه با ابزارها (Tools) در MCP هم‌راستا هستند و به LLMs اجازه می‌دهند تا با تأیید کاربر به داده‌های مرتبط دسترسی یابند یا عملکردهای دستگاه را فعال کنند.

این شباهت قوی بین مدل دستگاه و MCP رویکردی عملی برای ساخت سیستم‌های IoT مبتنی بر هوش مصنوعی ارائه می‌دهد:

  • تولیدکنندگان دستگاه می‌توانند خدمات MCP را برای دستگاه‌های خود ارائه دهند یا رابط‌های مدل دستگاه موجود (مانند APIهای HTTP) را در خدمات MCP کپسوله کنند و منابع، ابزارها و اعلان‌های مربوطه را فراهم کنند.
  • برنامه‌های گوشی هوشمند و سایر برنامه‌های ترمینال می‌توانند بر اساس نیازهای کاربر، جریان‌های کاری را تعریف یا هماهنگ کنند و به طور خودکار خدمات MCP را برای کنترل دستگاه‌ها فراخوانی کنند.

با فعال‌سازی تعامل مبتنی بر هوش مصنوعی توسط MCP، کاربران نهایی می‌توانند به طور یکپارچه با دستگاه‌های IoT با استفاده از زبان طبیعی ارتباط برقرار کنند. برای مثال، در سناریوی خانه هوشمند (Smart Home)، کاربر می‌تواند به سادگی به برنامه گوشی خود بگوید: «یک ساعت دیگر به خانه می‌رسم. دمای اتاق نشیمن را به 25 درجه سانتی‌گراد تنظیم کن و رطوبت را در 40٪ نگه دار.»

قبل از MCP، پیاده‌سازی چنین قابلیتی نیازمند تطبیق دستی رابط‌ها برای مدل‌ها و نسخه‌های مختلف دستگاه توسط توسعه‌دهندگان بود. با MCP، مدل‌های زبانی مانند DeepSeek می‌توانند قابلیت‌های دستگاه را بر اساس توضیحات زبان طبیعی درک کنند، خدمات MCP مرتبط را به طور خودکار هماهنگ کنند و کنترل دستگاه را مدیریت کنند—بدون نیاز به قوانین یا کدهای نوشته‌شده دستی. این امر قابلیت همکاری دستگاه‌ها و اتوماسیون مبتنی بر هوش مصنوعی را در اکوسیستم‌های IoT به طور قابل‌توجهی بهبود می‌بخشد.

محدودیت‌های MCP در کاربردهای IoT

پروتکل MCP در حال حاضر از دو روش ارتباطی اصلی پشتیبانی می‌کند: ورودی/خروجی استاندارد (stdio) و HTTP + رویدادهای ارسالی از سرور (Server-Sent Events یا SSE). اولی برای ارتباطات محلی بین کلاینت‌ها و سرورهای MCP مناسب است، در حالی که دومی برای ارتباطات شبکه از راه دور مناسب‌تر است.

در یک استقرار ایده‌آل IoT، یک سرور MCP روی دستگاه اجرا می‌شود، در حالی که یک برنامه موبایل یا کلاینت دیگر به عنوان میزبان MCP عمل می‌کند و از طریق کلاینت MCP با سرور برای هماهنگی و اجرای هوشمند تعامل می‌کند. با این حال، چالش‌های متعددی در پیاده‌سازی واقعی وجود دارد:

  • نیازمندی‌های بالای منابع (High Resource Requirements): پروتکل‌های HTTP و SSE به منابع محاسباتی و ذخیره‌سازی قابل‌توجهی نیاز دارند و برای دستگاه‌های IoT با محدودیت منابع، توان و قابلیت‌های پردازشی مناسب نیستند.
  • محیط‌های شبکه ناپایدار (Unstable Network Environments): دستگاه‌های IoT اغلب در محیط‌های متحرک، دورافتاده یا صنعتی با اتصال غیرقابل‌اعتماد مستقر می‌شوند و تضمین دسترسی مداوم به خدمات را دشوار می‌کنند.
  • سازگاری با اکوسیستم MQTT: صنعت IoT اکوسیستم قوی‌ای حول MQTT ایجاد کرده است. معرفی SSE نیازمند مکانیزم‌های کنترل دسترسی اضافی است که پیچیدگی سیستم را افزایش می‌دهد.
  • مشکلات پشتیبانی پروتکل (Protocol Support Issues): بسیاری از دستگاه‌های IoT فقط از MQTT پشتیبانی می‌کنند. برای استفاده از MCP، این دستگاه‌ها به پشتیبانی اضافی از HTTP نیاز دارند که پیاده‌سازی را پیچیده می‌کند.
  • چالش‌های مقیاس‌پذیری (Scalability Challenges): استقرارهای IoT اغلب شامل ده‌ها یا حتی صدها هزار دستگاه است. مدل فعلی MCP که به اتصالات مستقیم کلاینت-سرور وابسته است، مقیاس‌پذیری لازم برای مدیریت شبکه‌های بزرگ دستگاه را ندارد.

MCP بر بستر MQTT: راه‌حل پیشنهادی

برای رفع چالش‌های بالا، EMQ راه‌حل MCP بر بستر MQTT را پیشنهاد می‌کند که هدف آن ارتقای هوشمندی دستگاه‌های IoT در سطح پروتکل است.

این رویکرد پشتیبانی متفاوتی برای دستگاه‌هایی با قابلیت‌های محاسباتی مختلف ارائه می‌دهد:

  • برای دستگاه‌های با منابع محدود، دو راه‌حل مبتنی بر پروکسی در دسترس است:
    • پروکسی خارجی (External Proxy): یک سرور MCP به صورت خارجی (خارج از EMQX) مستقر می‌شود تا داده‌های IoT را از طریق MQTT مدیریت کند و با کلاینت‌های MCP از طریق پروتکل MCP بر بستر MQTT تعامل کند.
    • پروکسی داخلی (Internal Proxy): یک پروکسی سرور MCP در داخل EMQX پیاده‌سازی می‌شود تا عملیات دستگاه را از طرف دستگاه‌ها مدیریت کند.
  • برای دستگاه‌هایی با منابع محاسباتی و ذخیره‌سازی کافی، یک پیاده‌سازی سرور MCP بومی با استفاده از SDK MCP بر بستر MQTT قابل توسعه است.

با جایگزینی HTTP + SSE با MQTT در لایه انتقال، MCP بر بستر MQTT قابلیت اطمینان ارتباط را در محیط‌های کم‌پهنای باند و ناپایدار به طور قابل‌توجهی بهبود می‌بخشد. علاوه بر این، EMQX به عنوان یک کارگزار پیام (Message Broker) مقیاس‌پذیری را با ارائه موارد زیر افزایش می‌دهد:

  • کشف جامع خدمات برای استقرارهای بزرگ سرور MCP
  • احراز هویت و کنترل دسترسی داخلی، تضمین امنیت و پایداری سیستم

راه‌حل پروکسی خارجی

راهکار پروکسی خارجی
راهکار پروکسی خارجی

سرور MCP (پروکسی دستگاه)
دستگاه‌ها داده‌ها را با استفاده از پروتکل MQTT به EMQX آپلود می‌کنند. سرور MCP به موضوعات مرتبط اشتراک می‌کند تا اطلاعات دستگاه را به دست آورد، سپس داده‌های آپلودشده را با استفاده از منابع یا ابزارهای MCP در معرض دید قرار می‌دهد.
پیام‌های کنترل دستگاه به طور مشابه از طریق MQTT و از طریق EMQX منتقل می‌شوند و ابزارها از طریق پروتکل MCP بر بستر MQTT به سیستم‌های خارجی ارائه می‌شوند.

سمت برنامه
برنامه با سرور MCP از راه دور از طریق MCP بر بستر MQTT و از طریق EMQX ارتباط برقرار می‌کند تا وضعیت دستگاه را دریافت کند و دستورات کنترلی ارسال کند. همچنین می‌تواند با استفاده از پروتکل‌های استاندارد MCP با سرورهای MCP اضافی تعامل کند.

مزیت اصلی این راه‌حل این است که دستگاه‌های IoT موجود بدون نیاز به تغییر، قابلیت تعامل با هوش مصنوعی را به دست می‌آورند. این راه‌حل مزایای ذاتی MQTT را در محیط‌های کم‌مصرف و کم‌شبکه حفظ می‌کند. همراه با قابلیت هم‌زمانی بالا و در دسترس بودن بالای EMQX، این راه‌حل امکان استقرار سریع برنامه‌های IoT هوشمند و مقیاس‌پذیر را فراهم می‌کند و چالش‌های سازگاری و هزینه پیاده‌سازی برای ارتقای دستگاه‌های قدیمی را حل می‌کند.

راه‌حل پروکسی داخلی

راهکار پروکسی داخلی
راهکار پروکسی داخلی

راه‌حل پروکسی داخلی با ادغام مستقیم سرور MCP در EMQX بهبود می‌یابد. این ادغام چندین ابزار و قابلیت داخلی را فراهم می‌کند که عملکرد سیستم را بهبود می‌بخشد، به جای اینکه صرفاً تعداد گره‌ها بین EMQX و سرور MCP را کاهش دهد.
علاوه بر این، از آنجا که سرور MCP به عنوان یک جزء داخلی EMQX عمل می‌کند، پیچیدگی عملیاتی را به طور قابل‌توجهی کاهش می‌دهد و توسعه و مدیریت برنامه‌های سرور MCP را راحت‌تر و کارآمدتر می‌کند.

راه‌حل بومی

راهکار بومی
راهکار بومی

راه‌حل بومی برای دستگاه‌های با عملکرد بالا و ارزش بالا (مانند خودروهای هوشمند، چاپگرهای سه‌بعدی و غیره) با قابلیت‌های محاسباتی و ذخیره‌سازی قوی طراحی شده است. این رویکرد خدمات MCP را به طور بومی در دستگاه ادغام می‌کند و امکان ارتباط مستقیم با EMQX با استفاده از پروتکل MCP بر بستر MQTT را فراهم می‌کند. در این راه‌حل، کلاینت MCP به طور مستقیم با سرور MCP روی دستگاه از طریق پروتکل استاندارد MCP بر بستر MQTT تعامل می‌کند و کنترل هوشمند انتها به انتها را امکان‌پذیر می‌کند.

به عنوان مثال، دو چاپگر سه‌بعدی با نام‌های خدماتی زیر را در نظر بگیرید:

  • 3D-Printer/ACH301/EECF7892AB1
  • 3D-Printer/ACH301/CAED99C2EE2
    در اینجا، 3D-Printer/ACH301/ نوع دستگاه است و EECF7892AB1 و CAED99C2EE2 شناسه‌های دستگاه هستند.

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

این معماری جدید پلتفرم IoT هوشمند برای سناریوهای M2M (ماشین به ماشین) ایده‌آل است. تولیدکنندگان دستگاه می‌توانند یک سرور MCP کامل (شامل الگوهای پیشنهادی اعلان) را در دستگاه‌ها جاسازی کنند. پس از تهیه دستگاه توسط پلتفرم IoT، نیازی به نوشتن دستورات سفارشی برای هر دستگاه نیست. در عوض، دسترسی هوشمند یکپارچه از طریق یک برنامه کلاینت امکان تقسیم کار تخصصی را فراهم می‌کند:

  • تولیدکنندگان دستگاه بر پیاده‌سازی عملکرد سمت دستگاه تمرکز می‌کنند.
  • پلتفرم‌های IoT بر بهبود تجربه کاربری کلاینت‌های هوشمند (از جمله تعاملات صوتی) تمرکز می‌کنند.

پروتکل MCP بر بستر MQTT در یک نگاه

ویژگی‌ها

MCP بر بستر MQTT قابلیت‌های اصلی MCP را با افزودن موارد زیر بهبود می‌بخشد:

  • کشف خدمات (Service Discovery): با استفاده از پیام‌های نگه‌داری‌شده و پیام‌های وصیت‌نامه آخر MQTT، کلاینت‌های MCP می‌توانند به طور خودکار سرورهای MCP در دسترس را کشف کنند.
  • مقیاس‌پذیری خطی سرورها (Linear Scalability of Servers): به لطف ویژگی اشتراک مشترک MQTT، سرورهای MCP می‌توانند به طور خطی مقیاس‌پذیری را افزایش یا کاهش دهند و در عین حال حالت‌دار باقی بمانند.
  • احراز هویت متمرکز (Centralized Authentication): با تکیه بر یک کارگزار MQTT به عنوان میان‌افزار پیام‌رسانی متمرکز، راه‌حل‌های احراز هویت و مجوز بالغ‌تر به راحتی در دسترس هستند.

در آینده، ادغام یک افزونه سرور MCP در کارگزار MQTT می‌تواند استقرار سرور MCP را ساده‌تر کرده و کارایی انتقال داده را بهینه کند.

محدودیت‌ها

پروتکل MCP بر بستر MQTT عمدتاً برای سناریوهایی طراحی شده است که سرورهای MCP از راه دور مستقر می‌شوند. معماری آن به پشتیبانی یک کارگزار MQTT متمرکز وابسته است. در حالی که سرورهای MCP مستقر شده به صورت محلی نیز می‌توانند از MCP بر بستر MQTT استفاده کنند، این ممکن است پیچیدگی را به فرآیند استقرار اضافه کند.

خلاصه و چشم‌انداز

در حال حاضر، EMQ اعتبارسنجی اولیه راه‌حل MCP بر بستر MQTT را تکمیل کرده و یک سیستم نمونه اولیه برای آزمایش ساخته است. تیم تحقیق و توسعه اکنون بر استانداردسازی معماری پروتکل و پیاده‌سازی مهندسی تمرکز دارد و فاز بعدی به اعتبارسنجی عمیق و بهینه‌سازی عملکرد اجزای فنی کلیدی اختصاص دارد.

در آینده، این راه‌حل آماده است تا عصر جدیدی از IoT هوشمند (Agentic IoT) را آغاز کند. پلتفرم EMQX MQTT تطبیق پروتکل و مدیریت متمرکز خدمات را فراهم می‌کند، جزیره‌های داده و تکه‌تکه شدن را برطرف می‌کند، در حالی که LLMs درک زبان طبیعی و استدلال را برای ترجمه پویا نیت‌های کاربر به اقدامات اجرایی دستگاه ممکن می‌سازند. با این ترکیب قدرتمند، شرکت‌ها می‌توانند مجموعه وسیعی از دستگاه‌های ناهمگن را به یک اکوسیستم هوش مصنوعی مبتنی بر MCP ادغام کنند، هزینه ارتقای سیستم‌های قدیمی را به طور قابل‌توجهی کاهش دهند و توسعه سریع برنامه‌های هوشمند را در سناریوها و سیستم‌های مختلف امکان‌پذیر کنند. با قدرت MCP بر بستر MQTT، IoT از اتصال ساده به هم‌افزایی هوشمند در حال تحول است و مسیر تحول دیجیتال شرکت‌ها را بازتعریف می‌کند.

منبع: iotforall

اشتراک‌ها:
دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *