MCP چیست؟ بررسی نقش MCP Server و تفاوت آن با API و RAG

MCP چیست

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

در پاسخ به این سؤال که مدل Model Context Protocol چیست؟ باید گفت MCP (پروتکل زمینه مدل) یک استاندارد باز برای اتصال یکپارچۀ برنامه‌های هوش مصنوعی به ابزارها و داده‌هاست. اگر می‌خواهید دقیق‌تر بدانید MCP چیست، سرور آن چطور روی سرور مجازی لینوکس اجرا می‌شود و چه تفاوتی با API و RAG دارد، در ادامۀ این مطلب همراه ما باشید.

MCP چه مشکلی را حل می‌کند؟

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

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

پروتکل زمینه مدل (Model Context Protocol) دقیقاً برای استانداردسازی همین ارتباط شکل گرفت. شرکت Anthropic نخستین بار در نوامبر ۲۰۲۴ این پروتکل را به‌عنوان یک استاندارد باز معرفی کرد و از آن زمان تاکنون، ابزارهای توسعه و جزئیات فنی آن به‌مرور کامل‌تر شده‌اند.

به زبان ساده، اگر بپرسید کارکرد اصلی MCP چیست، می‌توان آن را یک «زبان مشترک» میان برنامه‌های هوش مصنوعی و منابع بیرونی دانست. این پروتکل قرار نیست خودِ مدل زبانی را باهوش‌تر کند؛ بلکه چارچوبی امن و مشخص می‌سازد تا مدل بتواند به ابزارها و اطلاعاتی دسترسی پیدا کند که در حالت عادی در اختیارش نیست.

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

معماری این پروتکل بر پایۀ سه نقش اصلی بنا شده است: میزبان (Host)، کلاینت (Client) و سرور (Server). هماهنگی میان این سه بخش، ارتباط استاندارد برنامه هوش مصنوعی با ابزارهای بیرونی را شکل می‌دهد.

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

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

از نظر فنی، پیام‌ها در مشخصات MCP بر پایۀ JSON-RPC و به یکی از 2 شکل زیر تبادل می‌شوند:

  1. انتقال stdio: در ارتباط‌های محلی، برنامۀ میزبان یک فرایند محلی را اجرا کرده و از طریق ورودی و خروجی استاندارد با سرور گفت‌وگو می‌کند.
  2. انتقال Streamable HTTP: برای ارتباط از راه دور، تبادل پیام‌ها بر بستر HTTP انجام می‌شود.

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

MCP چیست

اجزای اصلی MCP چیست؟

برای شناخت دقیق‌تر ساختار پروتکل، باید میان «نقش‌های ارتباطی» و «قابلیت‌های سرور» تفکیک قائل شویم. در بررسی اینکه اجزای MCP چیست، سه نقش Host ،Client و Server مسیر ارتباط را می‌سازند و سه مفهوم Tools ،Resources و Prompts قابلیت‌هایی را تعریف می‌کنند که سرور ارائه می‌دهد:

  • Host (میزبان): برنامۀ اصلی هوش مصنوعی که با کاربر در تعامل است، مدل را مدیریت می‌کند و هماهنگ‌کنندۀ ارتباط با سرورهاست.
  • Client (کلاینت): بخش ارتباطی درون Host که به یک سرور مشخص وصل می‌شود و رفت‌وبرگشت درخواست‌ها و پاسخ‌ها را مدیریت می‌کند.
  • Server (سرور): برنامه‌ای که داده‌ها یا ابزارهای عملیاتی را در قالب استاندارد MCP در اختیار کلاینت می‌گذارد.
  • Tools (ابزارها): ابزارهایی برای اجرای عملیات مشخص؛ مثل جست‌وجوی اطلاعات، فراخوانی یک API یا زدن یک Query روی پایگاه داده.
  • Resources (منابع): منابع داده‌ای که محتوای فایل‌ها، اسناد یا اطلاعات ساختاریافته را به برنامه تحویل می‌دهند.
  • Prompts (پرامپت‌ها): الگوهای آماده و قابل استفاده مجدد که از سمت سرور ارائه می‌شوند تا تعامل کاربر یا برنامه با مدل را هدایت کنند.

هرکدام از این قابلیت‌ها جایگاه خاص خودشان را دارند. مثلاً یک Resource متن کامل یک سند را در اختیار برنامه می‌گذارد، یک Tool امکان جست‌وجو در اسناد یا ثبت اطلاعات جدید را فراهم می‌کند و یک Prompt الگوی مشخصی برای تحلیل همان داده‌ها می‌دهد.

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

MCP Server چه کاری انجام می‌دهد؟

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

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

نکتۀ مهم اینجاست که یک MCP Server لزوماً یک سرور فیزیکی مجزا در دیتاسنتر نیست. این برنامه هم می‌تواند به‌شکل یک سرویس سبک روی کامپیوتر شخصی کاربر اجرا شود و هم روی یک سرور ابری یا راه دور قرار بگیرد. انتخاب بین این دو روش، به نوع پروژه، میزان حساسیت داده‌ها و نیاز به دسترسی شبکه‌ای بستگی دارد.

MCP Server را کجا اجرا کنیم؟ به شکل محلی یا از راه دور؟

زمانی که ابزار شما باید به فایل‌های روی سیستم کاربر دسترسی داشته باشد یا فقط در همان محیط شخصی استفاده شود، اجرای محلی (Local) بهترین انتخاب است. در این حالت، سرور در قالب یک فرایند محلی بالا می‌آید و از طریق stdio با برنامۀ میزبان صحبت می‌کند. این روش درگیر مسائل شبکه نمی‌شود، اما طبعاً محدود به همان دستگاه است. در نقطۀ مقابل، اگر ابزارهایی دارید که باید به‌طور هم‌زمان در دسترس چند کاربر یا برنامۀ مختلف باشند، سراغ اجرای راه دور (Remote) می‌روید. برای پیاده‌سازی این سناریو، استفاده از یک سرور مجازی لینوکس گزینه‌ای کاملاً کاربردی است.

راه‌اندازی Remote MCP Server نیازمند پیکربندی Streamable HTTP، تنظیم دامنه یا آدرس دسترسی و آماده‌سازی بستر شبکه است. در محیط‌های عملیاتی، رعایت چند نکتۀ فنی برای حفظ پایداری و امنیت ضروری است، مانند:

  • فعال‌سازی HTTPS برای رمزنگاری ارتباط‌ها؛
  • تنظیم دقیق فایروال برای بستن پورت‌های اضافی و محدودکردن دسترسی به IPها یا مبدأهای مجاز؛
  • پیش‌بینی سازوکار راه‌اندازی مجدد خودکار (Restart)، ثبت لاگ‌ها و مدیریت مجوزها.

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

MCP چه کاربردهایی دارد؟

ارزش واقعی MCP زمانی مشخص می‌شود که بخواهید مدل زبانی را از یک چت‌بات صرفاً متنی، به دستیاری عملیاتی تبدیل کنید که با ابزارها و داده‌های واقعی کار می‌کند. بسته به اینکه سرور چه ابزارهایی را پوشش دهد، می‌توان از این پروتکل در پروژه‌های متنوعی بهره برد:

  • دسترسی کنترل‌شده به فایل‌ها و اسناد: سرور می‌تواند امکان خواندن فایل‌های یک پروژه یا گشتن در اسناد داخلی شرکت را برای مدل فراهم کند؛ البته با حفظ محدودیت دسترسی به پوشه‌ها و مسیرهای مجاز.
  • کمک به توسعۀ نرم‌افزار: در تیم‌های فنی، می‌توان دستیارهای کدنویسی را از طریق MCP به مخازن کد و سیستم‌های کنترل نسخۀ متصل کرد. برای مثال، سرورهایی وجود دارند که امکان بررسی تغییرات کد، جست‌وجو در مخزن یا مدیریت Issues را در گیت‌هاب بر اساس مجوزهای تعیین‌شده فراهم می‌کنند.
  • ارتباط با داده‌های زنده و سازمانی: مدل‌های زبانی به اطلاعات لحظه‌ای کسب‌وکار شما دسترسی ندارند. با کمک MCP، مدل می‌تواند موجودی انبار را چک کند، وضعیت سفارش‌ها را ببیند یا گزارش‌های فروش را مستقیم از سیستم‌های داخلی بخواند.
  • ساختارهای ترکیبی و چندسروره: در معماری‌های بزرگ‌تر، می‌توان چند سرور MCP مختلف را به یک برنامۀ واحد وصل کرد؛ مثلاً یک سرور وظیفۀ جست‌وجوی اسناد را بر عهده بگیرد، دومی اطلاعات سفارش‌ها را از پایگاه داده بخواند و سومی خروجی‌ها را از سامانه تحلیلی دریافت کند.

کاربردها و تفاوت‌های MCP

MCP چه مزایا و معایبی دارد؟

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

مزیت مهم دیگر، تفکیک تمیز مسئولیت‌ها در معماری نرم‌افزار است. سرور فقط روی ارائۀ درست ابزارها تمرکز دارد و برنامۀ میزبان (Host) وظیفۀ مدیریت مدل و هماهنگی میان بخش‌ها را به دوش می‌کشد. به این ترتیب، بدون اینکه تمام منطق برنامه در یک نقطه جمع شود، می‌توان چندین سرور مستقل را به محیط هوش مصنوعی وصل کرد. با این حال، استفاده از MCP به معنای حذف تمام چالش‌های فنی نیست و ممکن است با چالش‌هایی از این دست روبه‌رو شوید:

  • سربار توسعه و نگهداری: طراحی سرور، بررسی سازگاری کلاینت‌ها، کنترل دسترسی‌ها و مدیریت خطاها همچنان نیازمند زمان و دانش فنی است.
  • ریسک‌های امنیتی: اضافه‌شدن هر سرور جدید (به‌خصوص اگر به فایل‌های حساس، حساب‌های کاربری یا دیتابیس دسترسی داشته باشد) سطح حمله (Attack Surface) سیستم را گسترده‌تر می‌کند.
  • وابستگی مستقیم به کیفیت پیاده‌سازی: اگر توضیحات ابزارها مبهم نوشته شوند، ورودی‌ها اعتبارسنجی نشوند یا سرور خطاها را به‌درستی مدیریت نکند، مدل در انتخاب و اجرای ابزار دچار خطا می‌شود. بنابراین پیش از پیاده‌سازی، باید سبک‌سنگین کنید که آیا پروژه‌تان واقعاً به چنین لایۀ استانداردی نیاز دارد یا خیر.

تفاوت MCP و API چیست؟

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

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

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

MCP چه تفاوتی با RAG دارد؟

فناوری‌های RAG و MCP دو هدف کاملاً متفاوت را دنبال می‌کنند و اتفاقاً در بسیاری از پروژه‌ها مکمل یکدیگرند. رویکرد RAG (مخفف Retrieval-Augmented Generation) روی بازیابی اطلاعات از منابع بیرونی و تزریق آن به مدل تمرکز دارد تا پاسخ‌های دقیق‌تر و مستندتری تولید شود.

اگر بخواهیم تفاوت این دو را در یک جمله خلاصه کنیم: RAG به این سؤال جواب می‌دهد که «چه اطلاعاتی را برای پاسخ‌گویی بهتر به مدل بدهیم؟»، اما MCP مشخص می‌کند که «برنامۀ هوش مصنوعی چطور از طریق یک پروتکل استاندارد با ابزارها و منابع تعامل کند؟».

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

MCP و Function Calling چه تفاوتی دارند؟

قابلیت Function Calling ویژگی شناخته‌شده‌ای در بسیاری از مدل‌های زبانی است که به مدل اجازه می‌دهد به‌جای متن ساده، خروجی ساختاریافته‌ای (شامل نام تابع و پارامترهای لازم) برای اجرای یک ابزار تولید کند. اما اینکه این درخواست چطور تحویل گرفته شود و کجا اجرا شود، خارج از وظایف خود مدل است.

اینجاست که تفاوت و هماهنگی این دو مفهوم مشخص می‌شود: Function Calling در سطح مدل کار می‌کند، اما MCP در لایۀ ارتباط میان برنامه میزبان و سرور قرار می‌گیرد. بنابراین نه‌تنها رقیب هم نیستند، بلکه در یک زنجیره در کنار هم کار می‌کنند.

در عمل، مدل با کمک قابلیت Function Calling تشخیص می‌دهد که باید ابزار get_order اجرا شود و پارامترهای آن را می‌سازد. سپس برنامۀ میزبان این درخواست را می‌گیرد و از طریق کلاینت MCP، ابزار متناظر را روی سرور فراخوانی می‌کند. به بیان ساده، Function Calling «شیوۀ درخواست مدل» را مشخص می‌کند و MCP «مسیر استاندارد اجرای آن درخواست» را فراهم می‌کند.

هزینه استفاده از MCP چقدر است؟

از آنجا که MCP یک استاندارد باز و رایگان است، بابت استفاده از خود پروتکل نیازی به خرید لایسنس یا پرداخت هزینه‌ای ندارید. اما راه‌اندازی یک سیستم عملیاتی بر پایۀ آن، بسته به مقیاس پروژه شامل هزینه‌های جانبی توسعه، زیرساخت و نگهداری خواهد بود. در جدول زیر، بخش‌های مختلف هزینه در یک پروژۀ مبتنی بر MCP را می‌بینید:

هزینه احتمالی

بخش

رایگان (بدون هزینۀ مستقیم بابت خرید استاندارد)

پروتکل MCP

وابسته به پیچیدگی منطق برنامه و دستمزد تیم فنی

توسعه MCP Server

بسته به منابع پردازشی موردنیاز و نوع میزبانی (محلی یا سرور مجازی)

هاست یا سرور

بر اساس تعرفۀ سرویس انتخابی و حجم مصرف توکن‌ها

مدل هوش مصنوعی

مطابق با تعرفۀ سرویس‌دهنده‌های متصل به سرور

APIهای خارجی

وابسته به نوع دیتابیس، حجم داده و شیوۀ میزبانی

پایگاه داده

بسته به سطح حساسیت داده‌ها و زیرساخت مانیتورینگ

امنیت و پایش

بنابراین برای برآورد دقیق بودجه، باید سناریوی واقعی خودتان را ملاک قرار دهید. یک سرور ساده که روی سیستم شخصی اجرا می‌شود و به ابزارهای رایگان وصل است، تقریباً هزینه‌ای ندارد؛ اما سرویسی که روی سرور ابری بالا می‌آید و مدام به APIها و مدل‌های تجاری درخواست می‌فرستد، هزینه‌های جاری زیرساخت و مصرف سرویس را به همراه خواهد داشت.

امنیت MCP چگونه است؟

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

یکی از تهدیدهای جدی در این معماری، حملات Prompt Injection از طریق داده‌های برگشتی ابزارهاست. فرض کنید مدل از طریق ابزاری محتوای یک سند یا صفحۀ وب را می‌خواند که داخل آن دستورات مخربی پنهان شده است؛ مثلاً دستوری که مدل را فریب می‌دهد تا اطلاعات محرمانه را به بیرون ارسال کند یا کاری خارج از خواستۀ کاربر انجام دهد. بنابراین خروجی ابزارها همیشه باید به‌عنوان «دادۀ غیرقابل اعتماد» فرض شود و کنترل‌های لازم پیش از اجرای دستورات حساس صورت بگیرد.

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

  • بررسی دقیق سورس‌کد و اعتبار منتشرکننده سرور پیش از نصب.
  • اعمال اصل حداقل دسترسی (Least Privilege)؛ به این معنا که هر سرور فقط به داده‌ها و عملیاتی دسترسی داشته باشد که واقعاً به آن‌ها نیاز دارد.
  • محدودسازی ترافیک شبکه، اعتبارسنجی دقیق ورودی‌ها و ثبت لاگ تمام رخدادها.
  • دریافت تأیید مستقیم از کاربر پیش از اجرای عملیات حساس (مثل حذف یا ویرایش داده‌ها).
  • عدم اعتماد صرف به نام یا توضیحات (Annotations) ابزارها؛ چراکه این توضیحات فقط نقش راهنما دارند و جای کنترل‌های امنیتی را نمی‌گیرند.

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

نسخۀ جدید MCP چه تغییراتی داشته است؟

مشخصات رسمی این پروتکل در تاریخ ۲۸ ژوئیه ۲۰۲۶ با انتشار نسخۀ 2026-07-28 به‌روزرسانی مهمی را تجربه کرد. این نسخه تغییرات قابل توجهی در معماری، شیوۀ مدیریت درخواست‌ها و سازوکارهای امنیتی به همراه داشته است؛ بنابراین هنگام خواندن مقالات آموزشی یا استفاده از نمونه‌کدها، حتماً دقت کنید که بر اساس کدام نسخه نوشته شده‌اند.

یکی از کلیدی‌ترین تغییرات این نسخه، حرکت به سمت هسته‌ای بدون وابستگی به نشست (Stateless) در لایۀ انتقال است. این تغییر باعث می‌شود استقرار سرورهای MCP روی زیرساخت‌های HTTP استاندارد بسیار ساده‌تر شود و دیگر نیازی به مدیریت وضعیت نشست در سطح پروتکل نباشد؛ هرچند خود برنامه همچنان می‌تواند وضعیت داخلی موردنیازش را نگه دارد.

علاوه بر این، بخش Authorization برای ارتقای امنیت بازطراحی شده و برخی روش‌های ارتباطی قدیمی کنار گذاشته شده‌اند. به همین دلیل، اگر از نسخه‌های قبلی استفاده می‌کنید، لازم است راهنمای مهاجرت را بررسی کنید. برای مثال، نسخۀ ۲ از SDK تایپ‌اسکریپت بر پایۀ همین مشخصات 2026-07-28 منتشر شده و تفاوت‌های ساختاری مشخصی با نسل اول دارد. جزئیات کامل این تغییرات را می‌توانید در اعلامیه انتشار مشخصات MCP در سال ۲۰۲۶ مطالعه کنید.

جمع‌بندی

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

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

 

سؤالات متداول

چه برنامه‌هایی از MCP پشتیبانی می‌کنند؟

ابزارهای محبوبی مثل Claude Code ،Visual Studio Code و Cursor از اکوسیستم MCP پشتیبانی می‌کنند و امکان اتصال به سرورهای سازگار را دارند. البته سطح پشتیبانی و شیوۀ پیکربندی در هر برنامه متفاوت است؛ بنابراین بهتر است پیش از شروع، مستندات کلاینت موردنظرتان را بررسی کنید.

آیا می‌توان MCP Server را روی سرور مجازی اجرا کرد؟

بله. اگر محیط اجرای سرور با سیستم‌عامل و منابع سرور سازگار باشد، به‌راحتی می‌توان آن را روی سرور مجازی میزبانی کرد. در این حالت معمولاً از روش Streamable HTTP استفاده می‌شود و رعایت نکاتی مثل فعال‌سازی HTTPS، تنظیم فایروال و مدیریت دقیق مجوزها برای حفظ امنیت و پایداری سرویس ضروری است.

برای ساخت MCP Server به چه زبان برنامه‌نویسی‌ای نیاز داریم؟

انتخاب زبان به زیرساخت پروژه و مهارت تیم شما بستگی دارد. در حال حاضر SDKهای رسمی و کاربردی برای زبان‌های محبوبی مثل Python و TypeScript در دسترس است و زبان‌های دیگر هم در اکوسیستم آن حضور دارند. در کنار تسلط به زبان برنامه‌نویسی، آشنایی با مفاهیم API، شبکه و امنیت وب هم برای توسعه یک سرور مطمئن لازم است.

آیا MCP می‌تواند به پایگاه داده متصل شود؟

بله. یک MCP Server می‌تواند ابزارهایی برای خواندن اطلاعات، جست‌وجوی رکوردها، گزارش‌گیری یا حتی ویرایش داده‌های پایگاه داده در اختیار مدل قرار دهد. با این حال، بسیار مهم است که دسترسی سرور محدود بماند و اجرای Queryهای حساس حتماً با اعتبارسنجی ورودی‌ها و تأیید کاربر همراه باشد.

آیا MCP به‌تنهایی امنیت برنامۀ هوش مصنوعی را تضمین می‌کند؟

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

دیدگاهتان را بنویسید

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

5 × یک =