سال ۲۰۲۳، تیم توسعه یک استارتاپ فین تک در تهران با چالشی عجیب روبرو شد. آنها می خواستند دستیار هوش مصنوعی خود را به سیستم های مختلفی مانند پایگاه داده مشتریان، سرویس ایمیل، پلتفرم CRM و ابزارهای تحلیل داده متصل کنند. برای هر اتصال، مجبور بودند کد سفارشی بنویسند، API های مختلف را یکپارچه کنند و با فرمت های متفاوت داده دست و پنجه نرم کنند. بعد از سه ماه تلاش، تنها توانسته بودند ۴ سرویس را متصل کنند و تیم فنی به شدت خسته شده بود.
این تجربه تلخ، نمونه ای از یک مشکل گسترده در صنعت هوش مصنوعی بود. مدل های زبانی بزرگ با وجود قدرت بالا، در جزیره های اطلاعاتی محصور مانده بودند و اتصال آنها به دنیای واقعی، هزینه بر و پیچیده بود. اما در نوامبر ۲۰۲۴، Model Context Protocol یا همان MCP، همه چیز را تغییر داد.
Model Context Protocol چیست؟ تعریف جامع و کاربردی
Model Context Protocol یا MCP، یک استاندارد متن باز برای اتصال برنامه های هوش مصنوعی به سیستم های خارجی است. این پروتکل در نوامبر ۲۰۲۴ توسط Anthropic به عنوان یک استاندارد باز برای اتصال دستیارهای هوش مصنوعی به سیستم هایی که داده ها در آنها قرار دارند، از جمله مخازن محتوا، ابزارهای کسب و کار و محیط های توسعه، معرفی شد.
تصور کنید MCP مانند پورت USB-C برای برنامه های هوش مصنوعی است. همانطور که USB-C روشی استاندارد برای اتصال دستگاه های الکترونیکی فراهم می کند، MCP نیز روشی استاندارد برای اتصال برنامه های هوش مصنوعی به سیستم های خارجی ارائه می دهد.
واژه نامه تخصصی MCP
برای درک بهتر Model Context Protocol، با مفاهیم کلیدی آن آشنا شویم:
- MCP Server: سرویسی است که داده ها، ابزارها و قابلیت های خارجی را در اختیار مدل های زبانی قرار می دهد.
- MCP Client: لایه ارتباطی است که درون برنامه میزبان قرار دارد و درخواست های مدل زبانی را به فرمت MCP تبدیل می کند.
- MCP Host: برنامه اصلی هوش مصنوعی مانند Claude Desktop یا IDE های پیشرفته که شامل مدل زبانی و MCP Client است.
- Resources: منابع اطلاعاتی که از پایگاه های داده داخلی یا خارجی بازیابی می شوند اما محاسبات عملیاتی انجام نمی دهند.
- Tools: ابزارهایی که می توانند عملیات جانبی مانند محاسبه یا دریافت داده از طریق درخواست API انجام دهند.
- Prompts: الگوهای قابل استفاده مجدد و گردش کارهایی برای ارتباط LLM با سرور.
- Transport Layer: لایه انتقال مسئول تبدیل دوطرفه پیام ها بین کلاینت ها و سرورها از طریق فرمت JSON-RPC.
مزایای کلیدی Model Context Protocol
حل مشکل N×M در یکپارچه سازی
MCP مشکل N×M را با استانداردسازی نحوه عملکرد ویژگی فراخوانی تابع (function calling) حل نمی کند، بلکه برنامه های هوش مصنوعی را به زمینه متصل می کند و بر روی فراخوانی تابع، که روش اصلی فراخوانی API از LLM ها است، ساخته می شود تا توسعه را ساده تر و سازگارتر کند.
قبل از MCP، اگر ۱۰ برنامه هوش مصنوعی می خواستند به ۱۰ سرویس مختلف متصل شوند، نیاز به ۱۰۰ اتصال سفارشی داشتیم. با MCP، توسعه دهندگان دیگر نیازی به نگهداری کانکتورهای جداگانه برای هر منبع داده ندارند و می توانند در برابر یک پروتکل استاندارد توسعه دهند.
استانداردسازی ارتباطات دوطرفه
MCP یک فرمت درخواست و پاسخ سازگار در تمام ابزارها اعمال می کند. این بدان معناست که برنامه هوش مصنوعی شما نیازی به مدیریت یک پاسخ HTTP برای سرویس A، پاسخ XML دیگری برای سرویس B و غیره ندارد. خروجی های مدل و نتایج ابزارها همگی در یک ساختار JSON یکپاره منتقل می شوند.
امنیت و کنترل دسترسی
این تبادل دوطرفه امن و کنترل شده است. مدل فقط می تواند ابزارهای خاصی که سرور در معرض دید قرار می دهد را فراخوانی کند و تمام داده های ورودی و خروجی از طریق پروتکل تعریف شده عبور می کنند.
قابلیت همکاری با ارائه دهندگان مختلف
پس از اعلام، این پروتکل توسط ارائه دهندگان بزرگ هوش مصنوعی از جمله OpenAI و Google DeepMind پذیرفته شد. این بدان معناست که یک سرور MCP می تواند با مدل های مختلف از شرکت های مختلف کار کند.
معماری Model Context Protocol؛ نگاهی عمیق به ساختار
مؤلفه های اصلی معماری
مدل کلاینت و سرور MCP را می توان به سه مؤلفه معماری کلیدی تقسیم کرد: یک برنامه هوش مصنوعی که درخواست های کاربر را دریافت و به دنبال دسترسی به زمینه از طریق MCP است. این لایه یکپارچه سازی می تواند شامل IDE هایی مانند Cursor یا Claude Desktop باشد. ارتباط در اکوسیستم MCP بین میزبان و سرور باید از طریق کلاینت انجام شود.
MCP Host (میزبان)
میزبان MCP یک برنامه یا محیط هوش مصنوعی است که LLM را در خود جای می دهد، مانند IDE مبتنی بر هوش مصنوعی یا هوش مصنوعی مکالمه ای. این معمولاً نقطه تعامل کاربر است، جایی که میزبان MCP از LLM برای پردازش درخواست هایی که ممکن است به داده ها یا ابزارهای خارجی نیاز داشته باشند استفاده می کند.
MCP Client (کلاینت)
این کلاینت درون میزبان قرار دارد و درخواست های کاربر را به فرمت ساختاریافته ای تبدیل می کند که پروتکل باز می تواند پردازش کند. چندین کلاینت می توانند با یک میزبان MCP منفرد وجود داشته باشند اما هر کلاینت رابطه ۱:۱ با یک سرور MCP دارد.
نمونه هایی از MCP Client ها شامل IBM BeeAI، Microsoft Copilot Studio، Claude.ai، Windsurf Editor و Postman هستند.
MCP Server (سرور)
سرور MCP سرویس خارجی است که زمینه، داده یا قابلیت ها را برای LLM فراهم می کند. این با اتصال به سیستم های خارجی مانند پایگاه های داده و سرویس های وب، و ترجمه پاسخ های آنها به فرمتی که LLM می تواند درک کند، به LLM ها کمک می کند.
طبق مستندات ارائه شده توسط Anthropic، سرورهای Model Context Protocol داده ها را از طریق موارد زیر در معرض دید قرار می دهند: Resources، Tools و Prompts.
جریان ارتباطات در Model Context Protocol
یک سناریوی واقعی را تصور کنید: شما از دستیار هوش مصنوعی می خواهید: “آخرین گزارش فروش را در پایگاه داده ما پیدا کن و برای مدیرم ایمیل کن”.
LLM می فهمد که نمی تواند به تنهایی به پایگاه داده دسترسی داشته باشد یا ایمیل ارسال کند. از MCP Client برای جستجوی ابزارهای موجود استفاده می کند و دو ابزار مرتبط ثبت شده در سرورهای MCP پیدا می کند: ابزار database_query و ابزار email_sender.
LLM یک درخواست ساختاریافته برای استفاده از این ابزارها تولید می کند. ابتدا ابزار database_query را با مشخص کردن نام گزارش فراخوانی می کند. سپس MCP Client این درخواست را به سرور MCP مناسب ارسال می کند.
سرور MCP درخواست را دریافت می کند، آن را به یک کوئری SQL امن برای پایگاه داده شرکت ترجمه می کند و گزارش فروش را بازیابی می کند.
اکنون که به داده های گزارش مجهز است، LLM ابزار email_sender را فراخوانی می کند و آدرس ایمیل مدیر و محتوای گزارش را ارائه می دهد. پس از ارسال ایمیل، سرور MCP تأیید می کند که عمل تکمیل شده است.
پیاده سازی Model Context Protocol؛ آموزش گام به گام

ایجاد اولین MCP Server
این پروتکل با کیت های توسعه نرم افزار (SDK) به زبان های برنامه نویسی مختلف از جمله Python، TypeScript، C# و Java منتشر شد.
برای شروع ساخت یک MCP Server، نیازمند نصب SDK مربوطه هستید. در اینجا یک نمونه ساده در Python ارائه می شود:
pythonDownloadCopy codefrom mcp import MCPServer, Tool
# ایجاد سرور MCP
server = MCPServer("my-first-server")
# تعریف یک ابزار
@server.tool()
def calculate_sum(a: int, b: int) -> int:
"""محاسبه مجموع دو عدد"""
return a + b
# اجرای سرور
if __name__ == "__main__":
server.run()
اتصال MCP Server به Claude Desktop
روی دکمه “+” در پایین جعبه چت در Claude Desktop کلیک کنید، سپس “Connectors” را انتخاب کنید. این سرورهای MCP متصل و ابزارهای آنها را نشان می دهد. به طور جایگزین، می توانید به تنظیمات توسعه دهنده بروید تا وضعیت اتصال را ببینید.
Desktop Extensions؛ نصب ساده تر MCP Servers
Desktop Extensions (فایل های .mcpb) این مشکلات را با بسته بندی کل یک سرور MCP شامل تمام وابستگی ها در یک بسته قابل نصب حل می کنند.
امروز، ما Desktop Extensions را معرفی می کنیم – یک فرمت بسته بندی جدید که نصب سرورهای MCP را به اندازه کلیک روی یک دکمه آسان می کند.
سرورهای MCP از راه دور (Remote MCP Servers)
Claude Code می تواند به ابزارها و منابعی که توسط سرورهای MCP در معرض دید قرار می گیرند دسترسی داشته باشد و به آن توانایی کشیدن زمینه از سرویس های شخص ثالث شما مانند ابزارهای توسعه، سیستم های مدیریت پروژه و پایگاه های دانش و انجام اقدامات در آن سرویس ها را می دهد. شما می توانید Claude Code را با هر سرور MCP از راه دور یکپارچه کنید.
کاربردهای عملی Model Context Protocol
یکپارچه سازی با ابزارهای سازمانی
برای کمک به توسعه دهندگان در شروع کاوش، سرورهای MCP از پیش ساخته شده برای سیستم های سازمانی محبوب مانند Google Drive، Slack، GitHub، Git، Postgres و Puppeteer به اشتراک گذاشته می شوند.
توسعه نرم افزار با MCP
این پروتکل در ابزارهای توسعه نرم افزار با کمک هوش مصنوعی استفاده می شود. محیط های توسعه یکپارچه (IDE ها)، پلتفرم های کدنویسی مانند Replit و ابزارهای هوشمند کد مانند Sourcegraph از MCP برای دادن دسترسی زمان واقعی دستیارهای کدنویسی هوش مصنوعی به زمینه پروژه استفاده کرده اند.
MCP Apps؛ رابط های تعاملی در Claude
ویژگی جدید از Model Context Protocol (MCP) و پسوند آن MCP Apps استفاده می کند و به توسعه دهندگان راهی برای ساخت رابط های کاربری تعاملی که می توانند در پلتفرم های مختلف هوش مصنوعی کار کنند ارائه می دهد. برخلاف نسخه های قبلی که فقط به Claude اجازه انجام اقدامات در برنامه های متصل را می دادند، کاربران اکنون محتوای تولید شده توسط ابزار را به صورت زمان واقعی در چت می بینند و با آن همکاری می کنند.
کاربران در برنامه های Pro، Max، Team و Enterprise کلود اکنون می توانند جدول زمانی پروژه را در Asana بسازند، پیام های فرمت شده Slack را پیش نویس و ارسال کنند، نمودارها را در Figma ایجاد و ویرایش کنند و فایل ها را در Box مدیریت کنند.
تفاوت Model Context Protocol با RAG
هم Model Context Protocol (MCP) و هم Retrieval-Augmented Generation (RAG) LLM ها را با اطلاعات خارجی بهبود می بخشند، اما این کار را از طریق راه های مختلف انجام می دهند و اهداف متمایزی دارند. RAG اطلاعات را برای ایجاد متن پیدا و استفاده می کند، در حالی که MCP یک سیستم گسترده تر برای تعامل و عمل است.
RAG تمرکز خود را بر بازیابی اطلاعات مرتبط از یک پایگاه دانش معتبر قبل از تولید پاسخ قرار داده است. MCP در مقابل، ارتباط دوطرفه را استاندارد می کند تا LLM ها بتوانند به ابزارهای خارجی، منابع داده و سرویس ها دسترسی داشته باشند و با آنها تعامل کنند تا در کنار بازیابی اطلاعات، اقدامات انجام دهند.
چالش های امنیتی Model Context Protocol و راهکارها
در آوریل ۲۰۲۵، محققان امنیتی تحلیلی منتشر کردند که نتیجه گرفت مسائل امنیتی متعددی با MCP وجود دارد، از جمله تزریق prompt، مجوزهای ابزار که اجازه ترکیب ابزارها برای سرقت داده را می دهند و ابزارهای شبیه سازی شده که می توانند به طور خاموش جایگزین ابزارهای مورد اعتماد شوند.
مشکل Confused Deputy
زمانی که یک سرور MCP عملی را که توسط درخواست کاربر فعال شده انجام می دهد، خطر مشکل “confused deputy” وجود دارد. در حالت ایده آل، سرور MCP باید این عمل را از طرف کاربر و با اجازه کاربر اجرا کند. این تضمین نشده است و به پیاده سازی سرور MCP بستگی دارد. اگر به درستی پیاده سازی نشده باشد، یک کاربر می تواند به منابعی دسترسی پیدا کند که نباید برای او در دسترس باشند اما برای سرور MCP در دسترس هستند.
توصیه های امنیتی برای استفاده از MCP
مجوزهای درخواست شده را با دقت بررسی کنید: در طول احراز هویت، بررسی کنید که سرور MCP چه مجوزهایی را برای برنامه درخواست می کند. این محدوده ها را در صورت امکان محدود کنید و اگر مجوزهای درخواستی غیرضروری به نظر می رسند، دسترسی را رد کنید.
سرورهای MCP از کد اجرایی تشکیل شده اند، بنابراین کاربران فقط باید از سرورهای MCP که به آنها اعتماد دارند استفاده کنند.
اکوسیستم Model Context Protocol
پذیرش گسترده در صنعت
پذیرندگان اولیه مانند Block و Apollo، MCP را در سیستم های خود ادغام کرده اند، در حالی که شرکت های ابزارهای توسعه از جمله Zed، Replit، Codeium و Sourcegraph با MCP کار می کنند تا پلتفرم های خود را ارتقا دهند.
امروزه، Block (Square)، Apollo، Zed، Replit، Codeium، Sourcegraph و دیگران MCP را پیاده سازی کرده اند. بیش از ۱۰۰۰ کانکتور متن باز تا فوریه ۲۰۲۵ ظهور کردند و با هر افزوده، اکوسیستم آن را گسترش دادند.
MCP Registry؛ ثبت نام سرورهای جامعه محور
یک سرویس ثبت نام جامعه محور برای سرورهای Model Context Protocol (MCP) وجود دارد که توسعه دهندگان می توانند سرورهای خود را در آن به اشتراک بگذارند و از سرورهای دیگران استفاده کنند.
آینده Model Context Protocol
با بلوغ اکوسیستم، سیستم های هوش مصنوعی زمینه را حفظ خواهند کرد همانطور که بین ابزارها و مجموعه داده های مختلف حرکت می کنند و یکپارچه سازی های پراکنده امروز را با معماری پایدارتر جایگزین خواهند کرد.
شرط بندی Anthropic این بود که توانمندسازی توسعه دهندگان با یک MCP باز به آن اجازه می دهد سریعتر رشد کند، به طور قوی تر تکامل یابد و در نهایت ارزش بیشتری نسبت به هر سیستم بسته ای که می توانستند به تنهایی بسازند، ارائه دهد.
Model Context Protocol در پلتفرم استاد آی تی
برای کسانی که می خواهند مهارت های خود را در زمینه Model Context Protocol و سایر فناوری های نوین هوش مصنوعی ارتقا دهند، استاد آی تی مجموعه ای جامع از دوره های آموزشی تخصصی ارائه می دهد. این پلتفرم با تمرکز بر آموزش عملی و کاربردی، به شما کمک می کند تا از تئوری به عمل برسید و پروژه های واقعی را با استفاده از MCP پیاده سازی کنید.
نتیجه گیری
Model Context Protocol نمایانگر یک تحول بنیادی در نحوه تعامل سیستم های هوش مصنوعی با دنیای واقعی است. با فراهم کردن یک استاندارد باز، امن و مقیاس پذیر، MCP راه را برای ایجاد برنامه های هوش مصنوعی قدرتمندتر، زمینه گراتر و کاربردی تر هموار کرده است.
برای توسعه دهندگان، MCP به معنای کاهش چشمگیر زمان و هزینه یکپارچه سازی، افزایش قابلیت های برنامه های خود و دسترسی به اکوسیستمی رو به رشد از ابزارها و منابع است. برای سازمان ها، این پروتکل امکان بهره برداری از داده های داخلی و سیستم های موجود را بدون نیاز به بازنویسی کامل زیرساخت فراهم می کند.
با توجه به پذیرش سریع این پروتکل توسط غول های صنعت مانند OpenAI، Google DeepMind و شرکت های پیشرو در حوزه ابزارهای توسعه، آینده ای روشن برای MCP پیش بینی می شود. این تنها آغاز سفری است که در آن هوش مصنوعی نه تنها به اطلاعات دسترسی دارد، بلکه می تواند به طور معناداری با دنیای واقعی تعامل کند و تغییرات ملموسی ایجاد نماید.
سوالات متداول MCP
بله، یکی از مزایای اصلی MCP این است که مدل-ناشناس (model-agnostic) طراحی شده است. این پروتکل با هر مدل زبانی بزرگی که از فراخوانی تابع پشتیبانی می کند، سازگار است. سرورهای MCP که یک بار ساخته می شوند، می توانند با مدل های مختلف از ارائه دهندگان مختلف مانند GPT-4، Claude، Gemini و دیگران کار کنند. تنها بخش اتصال دهنده (MCP Client) است که ممکن است بسته به پلتفرم میزبان متفاوت باشد.
سرورهای MCP محلی (Local) روی دستگاه خودتان اجرا می شوند و برای ابزارهایی که نیاز به دسترسی مستقیم به سیستم دارند مناسب هستند، مانند دسترسی به فایل های محلی یا اسکریپت های سفارشی. سرورهای از راه دور (Remote) توسط شخص ثالث اجرا می شوند و معمولاً برای اتصال به سرویس های ابری یا API های خارجی استفاده می شوند. انتخاب بین آنها به نیازهای شما بستگی دارد: اگر می خواهید داده ها روی دستگاه خود باقی بمانند، محلی را انتخاب کنید. اگر نیاز به مقیاس پذیری سازمانی دارید، از راه دور مناسب تر است.
خیر، Model Context Protocol یک پروتکل متن باز و رایگان است که توسط Anthropic منتشر شده و اکنون توسط Linux Foundation میزبانی می شود. شما می توانید SDK ها، مستندات و ابزارهای MCP را بدون هیچ هزینه ای استفاده کنید. با این حال، ممکن است برای استفاده از سرویس های شخص ثالث که سرورهای MCP برای آنها فراهم می شوند (مانند Slack، Asana یا خدمات ابری) یا استفاده از مدل های زبانی تجاری (مانند Claude Pro)، هزینه هایی متحمل شوید که مستقل از خود MCP هستند.

