تصویرسازی توسط نالینی نیراد
تصویرسازی توسط نالینی نیراد

چرا مهندسان هوش مصنوعی مدام درباره MCP صحبت می‌کنند؟

افرادیکه در زمینه هوش مصنوعی فعالیت دارند، احتمالاً بارها با اصطلاح پروتکل متن مدل (Model Context Protocol) یا MCP مواجه شده‌اند. بسیاری از شرکت‌ها و سازمان‌ها در حال حاضر در حال پذیرش و ساخت سرورهای MCP هستند؛ زیرا این پروتکل قابلیت‌های سیستم‌های هوش مصنوعی را با امکان تعامل با منابع داده‌ای متنوع و ابزارهای خارجی در زمان واقعی، گسترش می‌دهد.

حتی ساندار پیچای، مدیرعامل گوگل، اخیراً در شبکه اجتماعی X پستی منتشر کرد و نوشت: «MCP، مسئله این است.» پس از این پست، بحث‌هایی در این مورد شکل گرفت و آرویند جین، مدیرعامل Glean، گفت که آن‌ها از MCP استفاده می‌کنند؛ زیرا عوامل شرکتی به استانداردهای باز و زمینه نیاز دارند. او همچنین نمایشی از ادغام Glean با SDK عوامل OpenAI با استفاده از MCP به اشتراک گذاشت.

شایان ذکر است که OpenAI اخیراً اعلام کرده است که MCP اکنون با SDK عوامل OpenAI ادغام شده است و به توسعه‌دهندگان اجازه می‌دهد تا سرورهای MCP خود را مستقیماً به عوامل متصل کنند. OpenAI همچنین در حال کار بر روی ارائه پشتیبانی از MCP برای API های OpenAI و برنامه دسکتاپ ChatGPT است و انتظار می‌رود به‌روزرسانی‌های بیشتری در ماه‌های آینده ارائه شود.

MCP چیست؟ به زبان ساده، MCP یک استاندارد باز است که به مدل‌های هوش مصنوعی، به‌ویژه LLM ها، اجازه می‌دهد تا با سیستم‌ها، ابزارها و منابع داده‌ای خارجی به روشی سازگار و ساختاریافته تعامل داشته باشند. مدل‌هایی که از MCP استفاده می‌کنند، به جای محدود شدن به دانش آموزش داده شده، می‌توانند اقداماتی را در زمان واقعی انجام دهند؛ مانند پرس و جو از پایگاه داده، فراخوانی API، خواندن فایل‌ها یا اجرای گردش‌های کاری. MCP مانند یک پورت USB-C برای برنامه‌های هوش مصنوعی است؛ یک اتصال‌دهنده جهانی برای سیستم‌های هوش مصنوعی.

با استفاده از MCP، توسعه‌دهندگان می‌توانند LLM های خود را با برنامه‌ها، پایگاه‌های داده و ابزارها متصل کنند.

به عنوان مثال، بدون MCP، توسعه‌دهندگان مجبور بودند به جای یک پورت USB-C جهانی، از ده‌ها کابل اختصاصی مختلف برای لپ‌تاپ‌های خود استفاده کنند. هر بار که یک API تغییر می‌کرد، آن‌ها مجبور بودند کد یکپارچه‌سازی خود را دوباره بازنویسی کنند. MCP نحوه دسترسی و اشتراک‌گذاری زمینه توسط مدل‌ها را استاندارد می‌کند.

در اینترنت، چندین مخزن GitHub با مجموعه‌ای از چندین سرور MCP وجود دارد. هنگامی که Anthropic، MCP را راه‌اندازی کرد، سرورهای MCP از پیش ساخته شده را برای سیستم‌های شرکتی محبوب مانند Google Drive، Slack، GitHub، Git، Postgres و Puppeteer به اشتراک گذاشت.

شایان ذکر است، شرکت‌هایی در حال ساخت سرور برای کسانی هستند که نمی‌خواهند این کار را انجام دهند. به عنوان مثال، ماه گذشته، استارتاپ هوش مصنوعی Composio اعلام کرد که در حال ساخت بزرگترین منبع سرورهای MCP کاملاً مدیریت شده، به همراه پشتیبانی از احراز هویت است. کاران ویدیا، یکی از بنیانگذاران Composio، گفت: «اکنون می‌توانید برنامه‌ها را با Cursor AI، WindSurf AI یا Claude دسکتاپ Anthropic بدون مواجهه با پیچیدگی‌های زیرساختی، قابلیت اطمینان یا احراز هویت ادغام کنید.»

به طور مشابه، Cloudflare اخیراً اعلام کرد که با Auth0 و Stytch به عنوان شرکای مجوز برای MCP همکاری می‌کند. این امر واگذاری مجوزها به عوامل را برای توسعه‌دهندگان و تیم‌های توسعه در هر اندازه آسان‌تر می‌کند و استقرار عامل را به طور چشمگیری ساده‌تر می‌کند. این اعلامیه پس از اعلامیه اخیر این شرکت مبنی بر آسان‌تر کردن ساخت و استقرار سرورهای MCP از راه دور در Cloudflare منتشر شد.

در همین حال، ElevenLabs یک سرور MCP معرفی کرده است که به کاربران امکان می‌دهد از طریق اعلان‌های متنی ساده، به Claude و Cursor دسترسی کامل به کل پلتفرم صوتی هوش مصنوعی ElevenLabs را بدهند. کاربران حتی می‌توانند عوامل صوتی را برای انجام تماس‌های خروجی، مانند سفارش پیتزا، فعال کنند. علاوه بر این، لوک هریس، مسئول رشد ElevenLabs، یک سرور WhatsApp MCP ساخته است که اکنون می‌تواند تصاویر، فیلم‌ها و یادداشت‌های صوتی را ارسال و دریافت کند.

از سوی دیگر، مایکروسافت یک حالت عامل (Agent mode) را در Visual Studio Code (VS Code) برای همه کاربران عرضه کرده است و یک دستیار کدنویسی خودکار جدید ارائه می‌دهد که از وظایف چند مرحله‌ای پشتیبانی می‌کند و با MCP ادغام می‌شود. این به‌روزرسانی، حالت عامل را به عنوان یک دستیار برنامه‌نویسی جفتی معرفی می‌کند که می‌تواند پایگاه‌های کد را تجزیه و تحلیل کند، ویرایش فایل‌ها را پیشنهاد دهد، دستورات ترمینال را اجرا کند و از طریق خطاها تکرار کند تا وظایف کدنویسی را تکمیل کند.

AWS قبلاً به این جریان پیوسته است و از MCP در سراسر پلتفرم خود پشتیبانی می‌کند. این پشتیبانی شامل یکپارچه‌سازی عوامل Bedrock از طریق API عوامل درون‌خطی، سرورهای MCP متن‌باز برای دستیاران کد، راهنماهایی برای اجرای زیرساخت MCP و پشتیبانی آینده در CLI توسعه‌دهنده Amazon Q است.

MCP بازخوردهای مثبتی از Latent Space و Andreessen Horowitz (a16z) دریافت کرده است. با این حال، LangChain دیدگاه متعادل‌تری را به اشتراک گذاشت. نونو کامپوس، خالق LangGraph، گفت که پیاده‌سازی MCP باید آسان‌تر، کم‌تر پیچیده و در مدیریت کیفیت و مقیاس سرور بهتر باشد.

تفاوت MCP با RAG و API ها چیست؟

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

الویز ساراوا، یکی از بنیانگذاران Dair.ai، در X نوشت: «به نوعی، RAG را نیز می‌توان به عنوان یک ابزار در نظر گرفت، که به این معنی است که می‌توان سرورهای MCP را در بالای خدمات یا راه حل‌های RAG ساخت.» «به عبارت دیگر، MCP جایگزین RAG نمی‌شود؛ بلکه آن را تکمیل می‌کند، همانطور که در مورد سایر نوآوری‌ها مانند LLM با زمینه طولانی و مدل‌های استدلال بزرگ نیز این گونه است.»

هوش مصنوعی + MCP > هوش مصنوعی + API

سانتیاگو والداراما، بنیانگذار Tideily، در یک رشته توییت در X توضیح داد که MCP فقط یک API شبیه به سایر API ها نیست. یک API قابلیت‌های خود را با استفاده از مجموعه‌ای از نقاط پایانی ثابت و از پیش تعریف شده، مانند محصولات، سفارش‌ها یا فاکتورها، ارائه می‌دهد.

خواه کسی بخواهد تعداد پارامترها را برای چنین نقاط پایانی تغییر دهد یا قابلیت‌های جدیدی را به یک API اضافه کند، مشتری نیز به تغییراتی نیاز خواهد داشت.

با این حال، والداراما در حین بحث در مورد MCP گفت: «فرض کنید تعداد پارامترهای مورد نیاز یکی از ابزارهای موجود در سرور خود را تغییر می‌دهید. برخلاف دنیای API، با MCP، هیچ یک از مشتریانی که از سرور شما استفاده می‌کنند، دچار مشکل نخواهند شد. آن‌ها به طور پویا با تغییرات سازگار خواهند شد!»

چالش‌های MCP

دارمش شاه، بنیانگذار HubSpot، در یک پست LinkedIn گفت که ایده MCP را دوست دارد، اما به چند نکته مهم اشاره کرد. اول احراز هویت است؛ چگونه تعیین کنیم چه کسی به کدام قابلیت‌ها دسترسی دارد؟ سپس اعتماد و تصمیم‌گیری در مورد اینکه کدام سرورهای MCP به اندازه کافی قابل اعتماد برای استفاده هستند، مطرح می‌شود.

او افزود که تدارک نیز یک چالش دیگر است؛ زیرا سرورهای MCP اغلب فقط مخازن GitHub هستند که کاربران باید خودشان میزبانی کنند. در نهایت، امنیت نیز مطرح است. با توجه به اینکه LLM ها چگونه با ابزارهای ارائه شده توسط سرورهای MCP تعامل دارند، خطرات جدیدی ظاهر می‌شوند. به همین دلیل است که استفاده از مشتریان شناخته شده با سرورهای مورد اعتماد بسیار مهم است.

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

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

گای گلدنبرگ، یک مهندس نرم افزار Wiz، آسیب‌پذیری‌های شدیدی را در سرورهای MCP شناسایی کرد. به گفته او، این آسیب‌پذیری‌ها می‌توانند به مهاجمان اجازه دهند تا از محافظت‌ها عبور کنند، به فایل‌های سیستم دسترسی پیدا کنند و دستورات را اجرا کنند.

در همین حال، Anthropic نیاز به بهبود ویژگی‌های امنیتی را پذیرفت. جاستین اسپاhr-سامرز، یکی از اعضای کادر فنی Anthropic، در یک رشته Hacker News گفت: «اگرچه MCP قدرتمند است و ما امیدواریم که واقعاً پتانسیل زیادی را باز کند، اما هنوز خطراتی مانند تزریق سریع و سرورهای پیکربندی شده یا مخرب وجود دارد که در صورت عدم بررسی می‌توانند آسیب زیادی ایجاد کنند.»

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

به گفته او، ایده این است که یک شبکه متمرکز از سرورهای MCP ساخته شود که شروع کار را بدون اصطکاک کند و زمان سریعی را برای لذت بردن ارائه دهد. او گفت: «من آن را MCP.net می‌نامم.»

او اشاره کرد که می‌توان آن را به عنوان "Hugging Face of MCP" در نظر گرفت؛ راهی برای کشف و اتصال به سرورهای MCP.