آشنایی اولیه با MCP

آشنایی با MCP: استانداردی جدید برای اتصال LLM ها به داده‌ها و ابزارها.

MCP چی هست؟

پروتکل MCP (Model Context Protocol) یه استاندارد باز هست که برنامه‌ها با اون می‌تونن به شکل یکپارچه داده‌هاشون رو در اختیار مدل‌های زبانی بزرگ (LLM) بذارن. این یعنی یه روش مشخص و ساده برای اینکه اپلیکیشن‌ها بتونن ابزارها، دیتابیس ها یا APIهاشون رو به هوش مصنوعی وصل کنن — بدون نیاز به ساختار پیچیده یا تنظیمات خاص.

تشبیه ساده MCP

این مثال رو احتمالا خیلی شنیدید، حتی منم دیگه خسته شدم ازش ولی خیلی خوب میتونه توضیح بده mcp رو!

تصور کنید قبل از USB-C برای هر دستگاه به یک کابل و پورت مخصوص نیاز داشتید.( Tool های مختلف برای ساختن وب سرچ مثلا) مدیریت این همه کابل(Tool) خیلی دشوار میشه و هردفعه حتی نیازه دوباره از اول نوشته بشه!

MCP همین نقش رو برای اتصال LLMها به منابع داده و ابزارها ایفا میکنه. به جای ساخت اتصالات(Tool) جدید ، یک استاندارد واحد خواهیم داشت، که همیشه آماده به کار هست و میشه ازش استفاده کرد

چرا MCP اهمیت داره؟

برای کاربرای برنامه‌های هوش مصنوعی

MCP به برنامه‌های هوش مصنوعی شما امکان می‌دهد به اطلاعات و ابزارهایی که روزانه با آن‌ها کار می‌کنید دسترسی پیدا کنند و در نتیجه بسیار مفیدتر شوند.

مثلاً می‌تونید به دستیار بگید: «لیست سفارش‌های امروز رو آماده کن و وضعیت ارسال بسته‌ها رو بهم گزارش بده.»

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

  • به سامانه فروشگاه شخصی خودتون که تازه mcp اش فعال شده وصل بشه و سفارش‌ها رو دریافت کنه.
  • وضعیت بسته‌ها رو از mcp یه سرویس مثلا «اسنپ‌باکس» چک کنه.
  • به شما گزارش بده که کدوم بسته‌ها در راه هستن و کدوم‌ها تحویل داده شدن. و حتی کار های کنسلی رو انجام بده

همه این کارها به صورت امن و بدون نیاز به وارد شدن مستقیم شما به هر سرویس انجام می‌شه.

برای برنامه نویسا

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

معمولاً برای هر منبع داده باید یه Tool جدید بسازید( مثل ساخت یه Tool برای وب سرچ) که فقط همون یه بار استفاده می‌شه. این باعث کلی کار تکراری می‌شد.

MCP این مشکل رو حل کرده؛ می‌تونید یه سرور MCP بسازید که بشه بارها تو برنامه‌های مختلف ازش استفاده کرد.

چون این اکوسیستم متن‌بازِ، می‌تونید از سرورهایی که بقیه ساختن هم استفاده کنین و لازم نیست همه‌چیز رو خودتون از اول بنویسین.

معماری کلی MCP

MCP از یک معماری کلاینت-سرور پیروی می‌کنه که در اون یک برنامه میزبان (Host) میتونه به چندین سرور متصل بشه:

میزبان‌های MCP (Hosts)
برنامه‌هایی مانند Claude Desktop، محیط‌های توسعه (IDE) یا ابزارهای هوش مصنوعی که می‌خواهند از طریق MCP به داده‌ها دسترسی پیدا کنند.
کلاینت‌های MCP (Clients)
کلاینت‌های پروتکل که اتصالات یک به یک با سرورها را حفظ می‌کنند.
سرورهای MCP (Servers)
این سرور ها میتونن برای فروشگاه شما، سرویس شما یا هر چیزی باشن و دسترسی امن به زیرساخت شما دارند. برنامه‌های سبکی که هر کدام قابلیت‌های خاصی را از طریق پروتکل استاندارد MCP ارائه می‌دهند.
منابع داده محلی
فایل‌ها، پایگاه‌های داده و سرویس‌های کامپیوتر شما که سرورهای MCP می‌توانند به طور امن به آنها دسترسی پیدا کنند.
سرویس‌های راه دور
سیستم‌های خارجی موجود در اینترنت (مثلاً از طریق APIها) که سرورهای MCP می‌توانند به آنها متصل شوند.

مفاهیم اصلی MCP

سرورهای MCP سه نوع قابلیت اصلی ارائه می‌دن:

  • منابع (Resources): داده‌هایی شبیه فایل که کلاینت‌ها می‌تونن بخونن (مثل پاسخ‌ APIها یا محتوای فایل‌ها).
  • ابزارها (Tools): تابع‌هایی که LLM می‌تونه (با اجازه کاربر) اجرا کنه — (بیشتر با این یکی سروکار داریم).
  • پرامپت‌ها (Prompts): قالب‌های آماده که به Agent کمک می‌کنن یه کار مشخص رو راحت‌تر انجام بده.

MCP چگونه کار میکنه؟

MCP یک پل ساده بین برنامه‌های هوش مصنوعی و داده‌های شما می‌سازه. برای مثال:

  1. سرورهای MCP به منابع داده‌ (مثل Google Drive یا Slack) وصل می‌شن. این منابع میتونن حتی فروشگاه شما یا سیستم سفارش رستوران باشه
  2. کلاینت MCP (مثل Claude Desktop) این سرورها رو به مدل‌های هوش مصنوعی متصل می‌کنه.
  3. با اجازه شما، هوش مصنوعی این سرورها رو پیدا می‌کنه و بهشون متصل می‌شه. با اتصال، میتونه لیستی از ابزار ها مثل سفارش، وضعیت سفارش، قیمت دلار،نرخ ارسال یه کالا و ... رو بگیره
  4. مدل LLM می‌تونه با استفاده از اون اتصال‌ها، اطلاعات بخونه یا کارهایی انجام بده.
مثال کاربردی

فرض کن یه سرور MCP ساختیم(واقعا ساختم لینکش رو میزارم پایینتر 🫡) که اطلاعات بازار رمز‌ارز Nobitex رو از API می‌گیره. حالا Claude می‌تونه ازش بپرسه:

قیمت فعلی بیت‌کوین چقدره؟
آخرین تغییرات قیمت بیت‌کوین و وضعیت بازار رمزارزها رو نشون بده.
میانگین تغییرات ۲۴ ساعته چقدره؟

و Claude با استفاده از ابزارهای MCP پاسخ می‌ده، مثلاً از ابزارgetMarketStats برای بیت‌کوین یاgetGlobalStats برای وضعیت کلی.

✨ میتونی از همین سرور که با api نوبیتکس توسعه دادم استفاده کنی و جلو بیایnobitex-mcp-server

🧠 چی می‌گذره پشت صحنه؟
  • شما یه سؤال می‌پرسید.
  • Claude ابزار مناسب از لیست MCP رو انتخاب می‌کنه.
  • کلاینت اون ابزار رو از طریق سرور اجرا می‌کنه.
  • سرور MCP به Nobitex متصل می‌شه، داده‌ها رو از API نوبیتکس می‌گیره و به کلاینت برمی‌گردونه.
  • نتیجه به Claude برمی‌گرده و پاسخ تولید می‌شه.

این ساختار چند مزیت کلیدی داره: امنیت بیشتر، جداسازی وظایف، و این امکان که شرکت‌ها MCP خودشون رو بسازن بدون اینکه داده های حساس رو با دیگران به اشتراک بذارن.

شروع به کار با MCP

برای شروع به کار با MCP، میتونید از مستندات زیر استفاده کنید: