بازگشت به بلاگ
مهندسی ایجنت۱۴۰۵/۰۶/۲۵۲۲ دقیقه

MCP چیست؟ پروتکل اتصال ابزارها به مدل‌های زبانی

MCP یا Model Context Protocol چیست؟ با معماری MCP Server و Client، تفاوت MCP با API، نقش آن در اتصال AI Agentها به ابزارها و زمان استفاده از آن آشنا شوید.

MCP چیست؟ پروتکل اتصال ابزارها به مدل‌های زبانی

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

فرض کنید از یک AI Agent بخواهیم: «فروش این هفته را بررسی کن، مشتریانی که احتمال ریزش دارند پیدا کن و برای تیم فروش یک گزارش آماده کن.»

برای انجام واقعی این کار، مدل باید بتواند به CRM متصل شود، اطلاعات فروش را بخواند، شاید داده‌های دیتابیس را Query کند و در نهایت نتیجه را در یک سیستم دیگر ثبت کند.

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

اینجاست که MCP یا Model Context Protocol وارد می‌شود.

MCP یک استاندارد باز برای اتصال برنامه‌های مبتنی بر مدل‌های زبانی به داده‌ها، ابزارها و سرویس‌های خارجی است. مشخصات رسمی MCP آن را روشی استاندارد برای اشتراک Context، ارائه Toolها و ساخت Integrationهای قابل ترکیب میان برنامه‌های LLM و سیستم‌های خارجی تعریف می‌کند.

اما MCP دقیقاً چه مشکلی را حل می‌کند؟ آیا جای API را می‌گیرد؟ MCP Server چیست؟ و چرا این پروتکل در ساخت AI Agentها اهمیت پیدا کرده است؟

MCP چیست؟

MCP مخفف Model Context Protocol است.

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

Anthropic که MCP را در نوامبر ۲۰۲۴ معرفی کرد، مسئله اصلی را این‌گونه مطرح کرد: هر منبع داده جدید معمولاً به Integration اختصاصی خودش نیاز دارد و این اتصال‌های پراکنده با بزرگ شدن سیستم سخت‌تر مدیریت می‌شوند. MCP تلاش می‌کند این اتصال را با یک استاندارد مشترک ساده‌تر کند.

برای درک بهتر، USB-C مثال خوبی است.

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

MCP هم می‌خواهد نقش مشابهی در دنیای AI داشته باشد.

به‌جای اینکه برای:

Claude ↔ CRM
ChatGPT ↔ CRM
Cursor ↔ CRM
Agent اختصاصی شرکت ↔ CRM

هر بار Integration متفاوتی طراحی کنیم، می‌توانیم قابلیت‌های CRM را از طریق یک MCP Server ارائه کنیم و Clientهای سازگار با MCP از همان قرارداد استاندارد استفاده کنند.

MCP مسائل مهمی مانند Permission، Authentication، Tool Schema و Context را هم درگیر می‌کند؛ اما برای فهم ایده اصلی، USB-C تشبیه مناسبی است.

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

فرض کنید سه برنامه هوش مصنوعی داریم:

یک دستیار مدیریتی، یک Agent فروش و یک Coding Agent.

همزمان پنج سیستم هم داریم:

CRM، دیتابیس، Google Drive، سیستم تیکتینگ و ابزار مدیریت پروژه.

اگر قرار باشد برای هر برنامه AI اتصال اختصاصی به هر سیستم نوشته شود، در حالت ساده ممکن است به تعداد زیادی Integration جداگانه نیاز پیدا کنیم.

این مسئله را می‌توان به شکل زیر دید:

تعداد AI Applicationها × تعداد Tools و Data Sources

هرچه هر دو طرف رشد کنند، پیچیدگی نیز بیشتر می‌شود.

MCP یک لایه استاندارد میان این دو سمت قرار می‌دهد.

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

هدف MCP این نیست که منطق CRM یا دیتابیس را تغییر دهد؛ بلکه قرارداد ارتباط آن‌ها با سیستم AI را استانداردتر می‌کند.

همین موضوع دلیل مهمی است که MCP طی مدت کوتاهی از یک پروژه متعلق به Anthropic به استانداردی گسترده‌تر تبدیل شد. Anthropic در دسامبر ۲۰۲۵ MCP را به Agentic AI Foundation زیرمجموعه Linux Foundation اهدا کرد؛ بنیادی که Anthropic، Block و OpenAI در تأسیس آن نقش داشتند و شرکت‌هایی مانند Google، Microsoft، AWS و Cloudflare نیز از آن حمایت کردند. در آن زمان MCP در محصولاتی مانند ChatGPT، Cursor، Gemini، Microsoft Copilot و VS Code نیز پذیرفته شده بود.

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

برای فهم معماری MCP سه مفهوم اصلی را باید بشناسیم:

Host

برنامه LLM که اتصال‌ها را مدیریت می‌کند.

Client

کانکتوری درون Host که با یک MCP Server ارتباط برقرار می‌کند.

Server

سرویسی که Context یا Capability را ارائه می‌دهد.

نسخه فعلی MCP برای تبادل پیام از JSON-RPC 2.0 استفاده می‌کند.

فرض کنید داخل یک برنامه AI می‌خواهیم به سیستم فروش شرکت متصل شویم.

برنامه AI می‌تواند Host باشد.

بخش ارتباطی آن MCP Client است.

و سرویسی که دسترسی کنترل‌شده به اطلاعات فروش را ارائه می‌دهد MCP Server است.

AI ApplicationMCP ClientMCP ServerCRM / Database / Service

نکته مهم این است که MCP Server الزاماً خود دیتابیس نیست.

ممکن است Server یک لایه امن روی دیتابیس باشد و فقط چند قابلیت مشخص ارائه کند.

مثلاً به‌جای اینکه مدل بتواند هر SQL دلخواهی اجرا کند، MCP Server فقط این ابزارها را ارائه دهد:

get_customerget_sales_summaryfind_open_opportunitiescreate_followup_task

این طراحی هم قابل کنترل‌تر است و هم از دادن دسترسی مستقیم و بیش‌ازحد به مدل جلوگیری می‌کند.

MCP Server چیست؟

MCP Server برنامه یا سرویسی است که مجموعه‌ای از قابلیت‌ها را براساس استاندارد MCP در اختیار Client قرار می‌دهد.

مثلاً می‌توان برای سیستم حسابداری شرکت MCP Server ساخت.

این Server می‌تواند اجازه دهد AI مواردی مانند مانده حساب، فاکتورهای یک مشتری یا خلاصه فروش را دریافت کند، بدون اینکه مدل لزوماً دسترسی مستقیم به کل دیتابیس داشته باشد.

یا می‌توان برای GitHub یک MCP Server داشت که قابلیت جست‌وجوی Repository، خواندن Issue یا ایجاد Pull Request را ارائه کند.

نکته کلیدی این است که Server تعیین می‌کند چه چیزی قابل دسترسی است و چگونه در اختیار AI قرار می‌گیرد.

در اکوسیستم فعلی MCP، Serverها می‌توانند به شکل Local یا Remote اجرا شوند و SDKهای رسمی برای زبان‌های مختلف وجود دارد. نسخه پایدار فعلی TypeScript SDK نیز مشخصات MCP نسخه 2026-07-28 را پیاده‌سازی می‌کند.

Tools، Resources و Prompts در MCP چه هستند؟

یکی از بخش‌های مهم MCP این است که همه قابلیت‌ها را به شکل یک Function ساده نمی‌بیند.

در هسته پروتکل سه مفهوم مهم وجود دارد:

Tools، Resources و Prompts.

Tools

Tool کاری است که مدل می‌تواند انجام دهد. مثلاً search_customer، create_ticket، get_weather، run_report یا send_message.

Tool معمولاً Action یا محاسبه‌ای است که مدل می‌تواند براساس نیاز آن را فراخوانی کند.

اگر کاربر بگوید: «وضعیت سفارش ۱۲۳ را بررسی کن.» مدل ممکن است Tool مربوط به سفارش را انتخاب و اجرا کند.

Resources

Resource بیشتر برای ارائه اطلاعات و Context استفاده می‌شود. مثلاً فایل، مستندات پروژه، Schema دیتابیس، اطلاعات یک Repository یا محتوای یک سیستم سازمانی.

در مشخصات MCP، Resourceها راه استانداردی برای ارائه داده و Context از Server به Client هستند.

Prompts

MCP Server می‌تواند Promptهای از پیش تعریف‌شده یا Templateهای کاری نیز ارائه کند.

مثلاً یک Server مرتبط با Git می‌تواند Promptی برای «بررسی تغییرات فعلی پروژه» ارائه کند.

بنابراین MCP صرفاً پروتکل Tool Calling نیست؛ می‌تواند داده، دستورالعمل و قابلیت اجرایی را در قالب یک قرارداد مشترک عرضه کند.

یک مثال عملی: Agent فروش بدون MCP

فرض کنید می‌خواهیم یک AI Agent فروش بسازیم.

این Agent باید:

اطلاعات مشتری را از CRM بگیرد
سفارش‌ها را از سیستم فروش بررسی کند
Ticketهای قبلی را ببیند
در نهایت Task پیگیری ایجاد کند

بدون MCP ممکن است مستقیم برای هر سرویس کد بنویسیم:

CRM SDKSales APITicket APITask API

اگر فردا بخواهیم Agent دیگری بسازیم، ممکن است دوباره بخش زیادی از همین Integrationها را پیاده‌سازی کنیم.

یا اگر بخواهیم همین ابزارها را داخل Cursor، Claude یا یک سیستم AI دیگر استفاده کنیم، دوباره باید Adapter دیگری بنویسیم.

این روش الزاماً بد نیست. برای یک سیستم کوچک حتی ممکن است بهترین روش باشد. مشکل زمانی ایجاد می‌شود که تعداد Consumerها و Integrationها رشد کند.

همان مثال با MCP

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

Server قابلیت‌های مشخصی ارائه می‌دهد:

get_customer_profile
get_recent_orders
get_support_history
create_sales_task

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

بعداً یک دستیار مدیرعامل هم می‌تواند به همان MCP Server متصل شود.

یا یک Agent خدمات مشتری از بخشی از همان قابلیت‌ها استفاده کند.

مزیت اصلی در اینجا فقط «کم شدن کد» نیست.

یک قرارداد مشترک برای کشف Tool، Schema ورودی و خروجی، ارتباط و قابلیت‌های سرویس داریم.

این مسئله در سیستم‌های Agentic بزرگ ارزش بیشتری پیدا می‌کند.

از پروتکل تا Agent واقعی

MCP را در مسیر مهندسی ایجنت یاد بگیر

در بوت‌کمپ تنسوا بعد از Tool Calling و معماری Agent، نقش MCP و اتصال امن به سیستم‌های واقعی را پروژه‌محور تمرین می‌کنی.

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

یکی از رایج‌ترین سوءبرداشت‌ها این است که MCP قرار است API را جایگزین کند.

خیر. MCP و API رقیب مستقیم یکدیگر نیستند.

API مشخص می‌کند یک نرم‌افزار چگونه با سرویس دیگری ارتباط برقرار کند.

مثلاً CRM یک REST API دارد:

GET /customers/123

این API همچنان وجود دارد.

MCP Server ممکن است پشت صحنه همین API را فراخوانی کند، اما آن را به شکلی مناسب برای سیستم AI ارائه دهد.

مثلاً Tool زیر را به مدل نشان دهد:

get_customer(customer_id)

بنابراین معمولاً ساختار این‌طور است:

AI AgentMCPMCP ServerExisting APIBusiness System

MCP بیشتر یک لایه استاندارد مخصوص تعامل AI با قابلیت‌ها و Context است.

به همین دلیل اگر فقط یک Backend و یک سرویس مشخص دارید، اضافه کردن MCP ممکن است هیچ مزیت فوری نداشته باشد.

چه زمانی MCP لازم نیست؟

این بخش بسیار مهم است، چون با ترند شدن MCP ممکن است تصور کنیم هر Integration جدید باید MCP داشته باشد.

فرض کنید یک اپلیکیشن فقط به یک API آب‌وهوا متصل است.

کد ساده‌ای داریم که هر بار getWeather() را اجرا می‌کند.

هیچ Client دیگری قرار نیست از این قابلیت استفاده کند و معماری سیستم هم پیچیده نیست.

اینجا MCP می‌تواند فقط یک لایه اضافه باشد.

اگر Integration اختصاصی، محدود و ثابت است، API مستقیم معمولاً کافی است. اگر می‌خواهیم یک Capability را میان چند AI Client قابل کشف و قابل استفاده مجدد کنیم، MCP جذاب‌تر می‌شود.

بنابراین MCP را نباید به‌خاطر مد بودن به معماری اضافه کرد.

MCP چه ارتباطی با AI Agent دارد؟

AI Agent برای انجام کار واقعی به Tools نیاز دارد.

Agent ممکن است تصمیم بگیرد اطلاعاتی را جست‌وجو کند، به CRM مراجعه کند، فایلی بخواند، Query اجرا کند یا Task ایجاد کند.

هرچه تعداد ابزارها بیشتر شود، مسئله Tool Integration نیز جدی‌تر می‌شود.

MCP می‌تواند این ابزارها را با یک قرارداد مشترک در اختیار Agent قرار دهد.

مثلاً به‌جای اینکه Agent مستقیماً منطق اتصال به GitHub، CRM، فایل‌ها و دیتابیس را درون خودش داشته باشد، این قابلیت‌ها توسط MCP Serverهای مجزا ارائه شوند.

همین جداسازی باعث می‌شود معماری Modular و Composable‌تر شود.

MCP خودش Agent نیست. MCP تصمیم نمی‌گیرد چه کاری انجام شود. مدل یا Agent تصمیم می‌گیرد. MCP فقط راه استانداردی در اختیار سیستم قرار می‌دهد تا بتواند Context یا Toolهای موردنیازش را پیدا و استفاده کند.

آیا MCP همان Tool Calling است؟

نه دقیقاً.

Tool Calling قابلیتی است که به مدل اجازه می‌دهد Function یا Tool مناسب را انتخاب و فراخوانی کند.

اما سؤال مهم این است:

این Toolها از کجا آمده‌اند؟
چطور معرفی می‌شوند؟
Schema آن‌ها چیست؟
Client چگونه آن‌ها را کشف می‌کند؟
چگونه یک Tool Server استاندارد ساخته شود که چند Client بتوانند با آن کار کنند؟

MCP بخشی از پاسخ این سؤال‌هاست.

می‌توان Tool Calling داشت بدون MCP.

در واقع سال‌ها قبل از MCP نیز Function Calling وجود داشت.

MCP بیشتر استانداردسازی لایه Integration و Discovery را هدف گرفته است.

MCP در سال ۲۰۲۶ چه تغییری کرده است؟

این موضوع مهم است، زیرا بسیاری از آموزش‌های اینترنت هنوز براساس نسخه‌های قبلی MCP نوشته شده‌اند.

نسخه فعلی Specification در ۲۸ ژوئیه ۲۰۲۶ منتشر شده و یکی از بزرگ‌ترین تغییرات آن حرکت هسته پروتکل به سمت درخواست‌های Stateless و Self-contained است. Handshake و Session در سطح پروتکل حذف شده‌اند و هر درخواست اطلاعات موردنیاز خودش را حمل می‌کند؛ تغییری که Scale کردن MCP Serverها روی زیرساخت معمول HTTP را ساده‌تر می‌کند.

نسخه جدید همچنین Extension Framework رسمی دارد و قابلیت‌هایی مانند Tasks برای کارهای طولانی، MCP Apps برای UIهای تعاملی و Skills over MCP را به‌صورت Extension پشتیبانی می‌کند.

اگر آموزش فنی MCP می‌خوانید، تاریخ Specification آن را بررسی کنید. معماری Transport و برخی قابلیت‌ها نسبت به آموزش‌های ۲۰۲۴ و ۲۰۲۵ تغییر کرده‌اند.

امنیت در MCP؛ بخش مهمی که نباید نادیده گرفت

وقتی یک مدل فقط متن تولید می‌کند، خطا ممکن است یک پاسخ اشتباه باشد.

اما وقتی مدل از طریق MCP به Toolها وصل می‌شود، اشتباه می‌تواند تبدیل به Action واقعی شود.

مثلاً:

حذف فایل
ارسال پیام
تغییر رکورد
اجرای کد
دسترسی به اطلاعات حساس

به همین دلیل مشخصات فعلی MCP روی Consent کاربر، کنترل دسترسی، حفاظت از داده و Tool Safety تأکید زیادی دارد. مستندات رسمی توصیه می‌کنند کاربر بداند Tool چه کاری انجام می‌دهد و برای دسترسی به داده یا اجرای عملیات، Authorization و کنترل مناسب وجود داشته باشد.

همچنین اتصال Agentها به منابع خارجی مسئله Prompt Injection را جدی‌تر می‌کند. محتوایی که Agent از یک سایت، فایل یا Tool دریافت می‌کند ممکن است حاوی دستور مخرب باشد.

پس ساخت MCP Server فقط نوشتن چند Function نیست.

در محیط Production باید مواردی مانند:

Permission
Authentication
Scope دسترسی
Validation ورودی
Logging
Confirmation برای عملیات حساس
جداسازی داده‌ها

را جدی گرفت.

یک الگوی بهتر برای طراحی MCP Server

یک اشتباه رایج این است که تمام APIهای داخلی شرکت را مستقیماً تبدیل به صدها Tool کنیم.

اما Tool Catalog بسیار بزرگ الزاماً Agent را بهتر نمی‌کند.

بهتر است MCP Server را براساس Taskهای واقعی مدل طراحی کنیم.

مثلاً به‌جای ده Tool بسیار پایین‌سطح برای ساخت گزارش فروش، شاید Tool زیر مناسب‌تر باشد:

get_sales_summary(period, region)

نه اینکه مدل مجبور شود چندین Endpoint داخلی را خودش ترکیب کند.

MCP باید پیچیدگی سیستم داخلی را برای Agent کاهش دهد، نه اینکه همان پیچیدگی را با نام جدیدی به مدل منتقل کند.

این دقیقاً جایی است که Tool Design، Context Engineering و MCP به یکدیگر متصل می‌شوند.

آیا MCP آینده اتصال AIهاست؟

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

این پروتکل اکنون تحت Agentic AI Foundation در Linux Foundation توسعه پیدا می‌کند و اکوسیستم گسترده‌ای از محصولات AI و زیرساخت‌ها از آن پشتیبانی می‌کنند. نقشه راه MCP در اوت ۲۰۲۶ نیز تمرکز آینده را روی مقیاس‌پذیری، ارتباط Agentها، Governance و نیازهای Enterprise قرار داده است.

این اتفاق اهمیت MCP را برای کسانی که قصد دارند در حوزه AI Agent Engineering فعالیت کنند بیشتر می‌کند.

اما یادگیری درست آن باید بعد از فهم مفاهیم پایه باشد.

بهتر است ابتدا بدانیم:

API چیست
Tool Calling چگونه کار می‌کند
Agent چگونه Tool انتخاب می‌کند
Context چیست
Permission چگونه طراحی می‌شود

بعد MCP بسیار قابل فهم‌تر خواهد شد.

جمع‌بندی

MCP یا Model Context Protocol یک استاندارد باز برای اتصال برنامه‌های مبتنی بر مدل‌های زبانی به داده‌ها، ابزارها و سرویس‌های خارجی است.

هدف اصلی آن این است که به‌جای ساخت Integration اختصاصی برای هر ترکیب مدل و ابزار، یک قرارداد مشترک برای ارائه Capabilityها داشته باشیم.

در معماری MCP، Host برنامه AI را اجرا می‌کند، Client ارتباط MCP را مدیریت می‌کند و MCP Server قابلیت‌هایی مانند Tools، Resources و Prompts را در اختیار آن قرار می‌دهد.

اما MCP جای API را نمی‌گیرد. API همچنان می‌تواند لایه اصلی ارتباط با سرویس باشد و MCP Server روی آن یک رابط استاندارد مناسب AI ایجاد کند.

همچنین MCP خودش Agent نیست و تصمیم‌گیری انجام نمی‌دهد. Agent تصمیم می‌گیرد چه ابزاری لازم است؛ MCP کمک می‌کند آن ابزار به شکل استاندارد در دسترس باشد.

API به نرم‌افزارها می‌گوید چگونه با سرویس صحبت کنند؛ MCP تلاش می‌کند به سیستم‌های هوش مصنوعی یک روش مشترک برای کشف و استفاده از Context و Capabilityها بدهد.

و هرچه AI از Chatbotهای ساده به سمت Agentهایی حرکت کند که واقعاً با نرم‌افزارها، فایل‌ها و سیستم‌های سازمانی کار می‌کنند، اهمیت چنین استانداردی بیشتر خواهد شد.

سوالات متداول درباره MCP

MCP چیست؟+

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

MCP Server چیست؟+

MCP Server سرویسی است که قابلیت‌هایی مانند Tool، Resource یا Prompt را طبق استاندارد MCP در اختیار Clientهای سازگار قرار می‌دهد.

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

API رابط ارتباط یک سرویس با نرم‌افزارهای دیگر است. MCP یک پروتکل استاندارد برای ارائه Context و Capabilityها به برنامه‌های AI است و معمولاً می‌تواند در پشت صحنه از APIهای موجود استفاده کند. بنابراین MCP جایگزین عمومی API نیست.

آیا برای ساخت AI Agent به MCP نیاز داریم؟+

خیر. Agent می‌تواند مستقیماً از API یا Function Calling استفاده کند. MCP زمانی جذاب‌تر می‌شود که بخواهیم Toolها و منابع داده را به شکلی استاندارد، قابل استفاده مجدد و سازگار با چند AI Client ارائه کنیم.

تفاوت MCP و Tool Calling چیست؟+

Tool Calling قابلیت مدل برای انتخاب و فراخوانی یک Tool است. MCP استانداردی برای ارائه، کشف و ارتباط با چنین Toolها و Contextهای خارجی است. می‌توان Tool Calling داشت بدون MCP.

آیا MCP امن است؟+

MCP ابزارهایی برای ساخت معماری کنترل‌شده فراهم می‌کند، اما امن بودن سیستم به پیاده‌سازی آن وابسته است. Authentication، Permission، Validation، User Consent و محدود کردن عملیات حساس همچنان ضروری هستند.

از خواندن تا ساختن

می‌خواهی مسیر AI Agent Engineer را شروع کنی؟

در بوت‌کمپ مهندسی ایجنت تنسوا، از معماری و Tool Calling تا Context Engineering، MCP، Guardrail و Evaluation را پروژه‌محور یاد می‌گیری. پیش‌ثبت‌نام رایگان است.