مدل زبانی به‌تنهایی کارهای زیادی نمی‌تواند انجام دهد. می‌تواند دربارهٔ یک فایل توضیح بدهد، اما باید ابتدا بتواند فایل را بخواند. می‌تواند پیشنهاد دهد جلسه‌ای ثبت شود، اما برای انجام آن باید به Calendar دسترسی داشته باشد. می‌تواند SQL بنویسد، اما بدون اتصال مناسب نمی‌تواند Database را پرس‌وجو کند. اینجاست که مفهوم Tool Integration اهمیت پیدا می‌کند.

مشکل قبل از MCP

فرض کنید یک Agent باید به این سرویس‌ها متصل شود: GitHub، Database، File System، Slack، Google Drive و Browser. هر سرویس API و ساختار مخصوص خودش را دارد. اگر برای هر Agent و هر Client اتصال جداگانه نوشته شود، تعداد Integrationها خیلی سریع زیاد می‌شود. MCP یا Model Context Protocol برای استانداردتر کردن همین ارتباط مطرح شده است.

MCP را ساده توضیح دهیم

می‌توان MCP را تا حدی شبیه یک استاندارد مشترک بین برنامه‌های AI و ابزارها در نظر گرفت. یک MCP Server می‌تواند قابلیت‌هایی مانند موارد زیر را در اختیار Client قرار دهد:

  • خواندن فایل
  • اجرای Query
  • جست‌وجو در اسناد
  • دریافت اطلاعات Repository
  • اجرای یک عملیات

مدل یا Agent از طریق Client می‌تواند این قابلیت‌ها را مشاهده و در صورت نیاز استفاده کند.

MCP Server چیست؟

MCP Server لزوماً یک سرور بزرگ اینترنتی نیست؛ می‌تواند برنامه‌ای Local باشد که روی همان کامپیوتر اجرا می‌شود. مثلاً یک MCP Server می‌تواند اجازهٔ دسترسی کنترل‌شده به یک پوشهٔ مشخص را بدهد، Server دیگری به PostgreSQL وصل شود و دیگری دسترسی به Repositoryهای Git را فراهم کند.

MCP چه ارتباطی با Function Calling دارد؟

هر دو به استفادهٔ مدل از ابزارها مرتبط‌اند، اما یک چیز نیستند. Function Calling بیشتر مشخص می‌کند مدل چگونه یک Tool یا Function را فراخوانی کند، در حالی که MCP یک لایهٔ استانداردتر برای معرفی Context، Resource و Toolها میان سیستم‌های مختلف ایجاد می‌کند. در عمل این دو مفهوم می‌توانند کنار یکدیگر استفاده شوند.

یک مثال عملی

فرض کنید Agent یک برنامه‌نویس با خطایی مواجه می‌شود: از طریق MCP فایل‌های Repository را می‌خواند، Log برنامه را دریافت می‌کند، مستندات پروژه را جست‌وجو می‌کند و در صورت داشتن Permission، دستور تست را اجرا می‌کند و نتیجه را دوباره تحلیل می‌کند. در اینجا LLM فقط مغز تصمیم‌گیری است و بخش زیادی از توانایی واقعی Agent از ابزارهایی می‌آید که در اختیار آن قرار گرفته‌اند.

مسئلهٔ Permission

هرچه Agent ابزار بیشتری داشته باشد، مسئلهٔ امنیت جدی‌تر می‌شود. اگر یک Agent تنها باید فایل بخواند، نباید Permission حذف فایل داشته باشد؛ اگر فقط نیاز به Query خواندنی Database دارد، دسترسی نوشتن ضرورتی ندارد. اصل Least Privilege در Agentهای AI اهمیت زیادی دارد.

MCP و مدل‌های Local

MCP فقط مختص مدل‌های Cloud نیست. اگر Runtime یا Agent مورد استفاده از MCP پشتیبانی کند، یک مدل Self-Hosted نیز می‌تواند از ابزارهای MCP استفاده کند. بنابراین می‌توان معماری‌ای داشت که LLM داخل سرور سازمان اجرا شود، MCP Serverها داخل شبکه باشند، Database از شبکه خارج نشود و Agent بتواند با ابزارهای داخلی کار کند.

برای مقایسهٔ مدل‌های قابل اجرا روی سرور می‌توانید بهترین مدل‌های Self-Hosted و مدل‌های Self-Hosted تخصصی را بخوانید.

آیندهٔ Agentها

توانایی مدل‌های زبانی در حال افزایش است، اما مدل بدون ابزار همچنان محدود است. در بسیاری از نرم‌افزارهای آینده، تفاوت یک Chatbot ساده با Agent واقعی نه فقط در قدرت LLM، بلکه در Context، Permission، Memory و Toolهایی خواهد بود که سیستم در اختیار آن قرار می‌دهد. MCP یکی از تلاش‌ها برای استانداردتر کردن همین لایهٔ ارتباطی است.