MCP چیست؟ آموزش کامل Model Context Protocol و کاربرد آن در هوش مصنوعی
اخبار و تکنولوژی

MCP چیست؟ آموزش کامل Model Context Protocol و کاربرد آن در هوش مصنوعی

MCP یک استاندارد باز برای اتصال مدل‌های هوش مصنوعی مانند ChatGPT و Claude به ابزارها، فایل‌ها، پایگاه‌های داده و سرویس‌های خارجی است. در این مقاله با مفهوم MCP، نحوه عملکرد، تفاوت آن با API و Skill، کاربردهای واقعی و روش ساخت اولین MCP Server آشنا می‌شویم.

تصور کنید به ChatGPT یا Claude بگویید: «ایمیل‌های امروز من را بررسی کن، کارهای مهم را پیدا کن، سفارش‌های مشتریان را از سیستم فروش بخوان و یک گزارش آماده کن.»

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

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

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

برای مثال، MCP می‌تواند به یک Agent هوش مصنوعی کمک کند تا:

  • اطلاعات را از Google Drive دریافت کند.
  • رویدادهای Google Calendar را بررسی کند.
  • داده‌های یک پایگاه داده را بخواند.
  • وضعیت پروژه را از GitHub دریافت کند.
  • اطلاعات سفارش‌های فروشگاه را بررسی کند.
  • یک گزارش براساس داده‌های واقعی تهیه کند.
  • با تأیید کاربر، عملیاتی مانند ثبت اطلاعات یا ایجاد یک وظیفه را انجام دهد.

در این مقاله از هوش آموزان، مفهوم MCP را از صفر توضیح می‌دهیم، ساختار آن را بررسی می‌کنیم و در پایان یاد می‌گیریم چگونه با Python یک MCP Server ساده بسازیم.

این آموزش براساس مستندات رسمی MCP و آخرین نسخه اصلی استاندارد، یعنی 2026-07-28، تا تاریخ ۱۶ اکتبر ۲۰۲۶ تهیه شده است. به دلیل تغییرات مهم این نسخه، بعضی آموزش‌های قدیمی MCP ممکن است از ساختارها و کتابخانه‌های قبلی استفاده کنند.

MCP چیست و چرا در هوش مصنوعی مهم شده است؟

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

این استاندارد ابتدا در ۲۵ نوامبر ۲۰۲۴ توسط شرکت Anthropic معرفی شد و سپس مورد توجه توسعه‌دهندگان و شرکت‌های فعال در حوزه هوش مصنوعی قرار گرفت.

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

برای مثال، یک مدل ممکن است بتواند روش محاسبه فروش ماهانه را توضیح دهد، اما بدون دسترسی به اطلاعات فروشگاه نمی‌تواند فروش واقعی امروز را محاسبه کند.

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

MCP را با یک مثال ساده درک کنیم

فرض کنید یک فروشگاه اینترنتی دارید و از هوش مصنوعی می‌پرسید:

text
فروش امروز فروشگاه من چقدر بوده است؟

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

اما اگر یک MCP Server به سیستم فروش متصل باشد، فرایند می‌تواند به این شکل انجام شود:

  1. شما سؤال را مطرح می‌کنید.
  2. دستیار هوش مصنوعی تشخیص می‌دهد برای پاسخ به اطلاعات فروش نیاز دارد.
  3. از طریق MCP Client ابزار مناسب را پیدا می‌کند.
  4. درخواست دریافت اطلاعات فروش به MCP Server ارسال می‌شود.
  5. MCP Server اطلاعات مجاز را از سیستم فروش دریافت می‌کند.
  6. نتیجه به دستیار هوش مصنوعی برمی‌گردد.
  7. مدل براساس داده واقعی پاسخ می‌دهد.

در این حالت، اگر سیستم فروش اطلاعات لازم را داشته باشد، پاسخ می‌تواند چیزی شبیه این باشد:

text
فروش امروز:

تعداد سفارش‌ها: 48
مجموع فروش: 32,500,000 تومان
میانگین مبلغ سفارش: 677,083 تومان

اعداد بالا فقط یک مثال فرضی هستند؛ نکته اصلی این است که در یک اتصال واقعی، اطلاعات از سیستم فروش دریافت می‌شوند و مدل نباید آن‌ها را حدس بزند.

چرا MCP را به USB-C تشبیه می‌کنند؟

در مستندات رسمی Model Context Protocol، MCP به یک پورت USB-C برای برنامه‌های هوش مصنوعی تشبیه شده است.

دلیل این تشبیه ساده است.

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

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

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

البته پشتیبانی از MCP به معنی سازگاری کامل همه ابزارها با یکدیگر نیست؛ نوع اتصال، مجوزها و قابلیت‌های پشتیبانی‌شده همچنان اهمیت دارند.

MCP چگونه کار می‌کند؟ آشنایی با معماری Client و Server

معماری MCP بر پایه ارتباط میان Host، Client و Server طراحی شده است.

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

بخشوظیفه
MCP Hostبرنامه اصلی هوش مصنوعی که تعامل کاربر را مدیریت می‌کند
MCP Clientارتباط با MCP Server را برقرار و مدیریت می‌کند
MCP Serverداده‌ها و ابزارهای مشخصی را در اختیار Client قرار می‌دهد
Data Sourceمنبع واقعی اطلاعات مانند فایل، API یا پایگاه داده

MCP Host چیست؟

Host همان برنامه‌ای است که کاربر معمولاً با آن تعامل دارد.

برای مثال یک برنامه هوش مصنوعی مانند:

  • Claude Desktop
  • Claude Code
  • Visual Studio Code با قابلیت MCP
  • ChatGPT در محیط‌های پشتیبانی‌شده
  • یک Agent اختصاصی سازمانی

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

Host مسئول مدیریت تجربه کاربر و ارتباط با Clientهای مربوط به سرورهای مختلف است.

MCP Client چیست؟

MCP Client بخشی از برنامه است که با MCP Server ارتباط برقرار می‌کند.

برای مثال، اگر یک Agent به دو MCP Server متصل باشد:

  • سرور اطلاعات فروش
  • سرور مدیریت پروژه

برنامه می‌تواند برای هر سرور یک MCP Client جداگانه داشته باشد.

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

MCP Server چیست؟

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

یک MCP Server می‌تواند روی کامپیوتر خودتان اجرا شود یا به‌صورت یک سرویس اینترنتی در دسترس باشد.

برای مثال:

text
MCP Server فروشگاه

Tools:
- get_orders
- get_sales_report
- get_product_stock

Resources:
- store://products
- store://policies

Prompts:
- sales_summary

این سرور چند قابلیت مختلف به Agent ارائه می‌کند.

دستیار هوش مصنوعی می‌تواند در محدوده مجوزهای تعریف‌شده از آن‌ها استفاده کند.

سه بخش اصلی MCP: Tools، Resources و Prompts

یکی از مهم‌ترین ویژگی‌های MCP این است که فقط برای اجرای ابزار نیست.

MCP سه قابلیت اصلی برای ارائه اطلاعات و عملیات دارد.

قابلیتمفهوممثال
Toolsتوابع قابل اجرامحاسبه قیمت یا دریافت سفارش
Resourcesمنابع اطلاعاتی قابل خواندنمحتوای فایل یا اطلاعات محصول
Promptsقالب‌های آماده تعاملدستور تهیه گزارش فروش

Tools در MCP چه هستند؟

Tools توابعی هستند که برنامه هوش مصنوعی می‌تواند از طریق MCP Server فراخوانی کند.

برای مثال:

text
get_today_orders()

ممکن است سفارش‌های امروز را برگرداند.

یا:

text
calculate_discount(price, percent)

قیمت نهایی یک محصول را محاسبه کند.

ابزارهای دیگری نیز ممکن است عملیات واقعی انجام دهند؛ مثلاً:

text
create_task(title, deadline)

یک وظیفه جدید ایجاد کند.

فراخوانی Tool می‌تواند فقط خواندنی باشد یا باعث تغییر داده شود. برای اقداماتی مانند حذف فایل، ثبت سفارش، ارسال پیام یا تغییر اطلاعات حساس باید مجوزهای مناسب و کنترل‌های تأیید کاربر در نظر گرفته شوند.

Resources در MCP چه هستند؟

Resources منابعی هستند که اطلاعات موردنیاز Agent را فراهم می‌کنند.

مثلاً:

text
store://products

می‌تواند اطلاعات محصولات فروشگاه را در اختیار مدل قرار دهد.

یا:

text
company://brand-guide

می‌تواند راهنمای هویت برند شرکت را ارائه کند.

در این حالت Agent لازم نیست هر بار اطلاعات پایه را از کاربر دریافت کند؛ می‌تواند منبع مجاز را از طریق MCP بخواند.

Prompts در MCP چه هستند؟

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

برای مثال:

text
weekly_sales_report

ممکن است یک قالب آماده برای تهیه گزارش فروش هفتگی باشد.

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

تفاوت مهم این است که Tool یک عملیات را فراهم می‌کند، Resource داده ارائه می‌دهد و Prompt روش یا قالب تعامل را مشخص می‌کند.

MCP چگونه اطلاعات را منتقل می‌کند؟

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

در لایه انتقال نیز دو روش اصلی وجود دارد:

  • stdio: ارتباط میان فرایندهای محلی روی یک سیستم
  • Streamable HTTP: ارتباط از طریق HTTP، به‌ویژه برای سرورهای راه دور

برای مثال یک MCP Server محلی ممکن است مستقیماً روی کامپیوتر کاربر اجرا شود.

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

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

در ۲۸ ژوئیه ۲۰۲۶ نسخه جدیدی از استاندارد MCP منتشر شد که یکی از مهم‌ترین تغییرات آن، حرکت به سمت معماری Stateless بود.

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

این تغییر می‌تواند توسعه و مقیاس‌پذیری سرورهای MCP را ساده‌تر کند.

همچنین نسخه جدید قابلیت‌هایی مانند موارد زیر را بهبود داده است:

  • کش کردن فهرست ابزارها
  • مسیریابی درخواست‌ها
  • امنیت و Authorization
  • کشف قابلیت‌های سرور
  • مدیریت وظایف طولانی از طریق Extensions
  • سازگاری بهتر با زیرساخت‌های HTTP

برای جزئیات فنی می‌توانید معرفی نسخه 2026-07-28 در وبلاگ رسمی MCP را بخوانید.

اگر در یک آموزش قدیمی با initialize، Sessionهای دائمی یا روش HTTP+SSE به‌عنوان روش اصلی مواجه شدید، حتماً نسخه پروتکل و SDK را بررسی کنید. برخی از این روش‌ها مربوط به نسخه‌های قدیمی هستند و در معماری ۲۰۲۶ تغییر کرده یا در مسیر منسوخ شدن قرار گرفته‌اند.

کاربردهای MCP چیست؟ هفت مثال واقعی

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

این موضوع برای کاربران عادی، برنامه‌نویسان، کسب‌وکارها و تیم‌های تولید محتوا کاربردهای متفاوتی دارد.

۱. اتصال هوش مصنوعی به ایمیل

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

با اتصال مجاز به سرویس ایمیل، یک Agent می‌تواند وظایفی مانند موارد زیر را انجام دهد:

  • دریافت ایمیل‌های جدید
  • خلاصه‌سازی مکالمات
  • شناسایی ایمیل‌های مهم
  • استخراج کارهای ضروری
  • تهیه پیش‌نویس پاسخ

برای مثال:

text
ایمیل‌های کاری امروز را بررسی کن.

موارد مهم را جدا کن و یک خلاصه از
ایمیل‌هایی که نیاز به پاسخ دارند ارائه بده.

برای سه ایمیل مهم، پیش‌نویس پاسخ آماده کن،
اما بدون تأیید من چیزی ارسال نکن.

در این سناریو MCP می‌تواند مسیر ارتباط با ابزارهای ایمیل را فراهم کند.

البته اتصال واقعی به وجود یک سرور سازگار و مجوزهای حساب بستگی دارد.

۲. مدیریت تقویم و جلسات

یک Agent متصل به تقویم می‌تواند در محدوده مجوزهای خود:

  • جلسات آینده را بررسی کند.
  • تداخل برنامه‌ها را پیدا کند.
  • زمان‌های آزاد را شناسایی کند.
  • برنامه روزانه را خلاصه کند.
  • در صورت مجاز بودن، رویداد جدید ثبت کند.

برای مثال:

text
برنامه فردای من را بررسی کن.

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

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

۳. اتصال به GitHub و ابزارهای برنامه‌نویسی

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

یک Agent برنامه‌نویسی می‌تواند با کمک MCP به ابزارهایی برای انجام وظایفی مانند این موارد دسترسی داشته باشد:

  • بررسی Issueها
  • مطالعه Pull Requestها
  • خواندن اطلاعات Repository
  • دریافت وضعیت پروژه
  • بررسی خطاها
  • مدیریت وظایف توسعه

برای مثال:

text
Issueهای باز پروژه را بررسی کن.

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

در این حالت، مدل می‌تواند به‌جای حدس زدن وضعیت پروژه، از اطلاعات واقعی دریافت‌شده استفاده کند.

۴. اتصال هوش مصنوعی به فروشگاه اینترنتی

برای کسب‌وکارهای اینترنتی، MCP می‌تواند یک رابط میان Agent و سیستم فروش باشد.

فرض کنید اطلاعات فروشگاه شامل موارد زیر است:

  • محصولات
  • موجودی انبار
  • سفارش‌ها
  • وضعیت پرداخت
  • گزارش فروش

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

سپس از Agent بپرسید:

text
پنج محصول پرفروش هفته گذشته را پیدا کن.

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

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

۵. استفاده در تولید محتوا و سئو

MCP برای تیم‌های تولید محتوا نیز کاربرد دارد.

برای مثال می‌توان یک Agent را به منابعی مانند این‌ها متصل کرد:

  • فایل‌های راهنمای برند
  • اطلاعات محصولات
  • سیستم مدیریت محتوای سایت
  • داده‌های تحلیلی
  • بانک موضوعات مقالات

سپس درخواست کرد:

text
مقالات منتشرشده درباره Gemini را بررسی کن.

موضوعاتی را پیدا کن که هنوز پوشش داده نشده‌اند.

پنج پیشنهاد مقاله جدید بده
و برای هرکدام هدف جستجوی کاربر را توضیح بده.

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

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

۶. اتصال به پایگاه داده

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

برای مثال یک شرکت می‌تواند به کارمندان مجاز اجازه دهد سؤال‌هایی مانند این‌ها بپرسند:

  • فروش ماه گذشته چقدر بود؟
  • کدام محصول بیشترین فروش را داشت؟
  • تعداد سفارش‌های لغوشده چقدر است؟
  • کدام دسته محصولات رشد بیشتری داشته است؟

در این حالت یک MCP Server می‌تواند اطلاعات موردنیاز را با ابزارهای محدود و مشخص ارائه کند.

البته دسترسی مستقیم و نامحدود Agent به پایگاه داده حساس توصیه نمی‌شود.

بهتر است ابزارها فقط عملیات لازم را ارائه دهند؛ مثلاً اجرای Queryهای ازپیش‌تعریف‌شده یا خواندن Viewهای مشخص.

۷. ساخت Agentهای سازمانی

در یک سیستم سازمانی، ممکن است Agent نیاز داشته باشد از چند سرویس مختلف اطلاعات جمع کند.

برای مثال:

text
سیستم فروش
+
سیستم پشتیبانی
+
مدیریت پروژه
+
تقویم
+
پایگاه دانش

با استفاده از MCP می‌توان برای هر منبع یک Server سازگار در نظر گرفت.

در نتیجه Agent می‌تواند اطلاعات مجاز را دریافت کند و یک Workflow چندمرحله‌ای را انجام دهد.

این کاربرد یکی از دلایلی است که MCP در معماری سیستم‌های Agentic اهمیت پیدا کرده است.

تفاوت MCP با API، Skill و AI Agent چیست؟

MCP، API، Skill و AI Agent مفاهیم مرتبطی هستند، اما یکسان نیستند.

API امکان ارتباط با یک سرویس را فراهم می‌کند، MCP یک استاندارد مشترک برای معرفی و استفاده از ابزارها و اطلاعات توسط برنامه‌های هوش مصنوعی است، Skill روش انجام یک کار را توضیح می‌دهد و Agent اجرای وظیفه را مدیریت می‌کند.

مفهومنقش اصلیمثال
APIارتباط برنامه‌ها با یک سرویسدریافت سفارش از فروشگاه
MCPاستاندارد اتصال ابزارها و داده‌ها به برنامه AIمعرفی ابزار دریافت سفارش به Agent
Skillدستورالعمل انجام یک Workflowروش تهیه گزارش فروش
AI Agentمدیریت و اجرای مراحل رسیدن به هدفساخت گزارش فروش با استفاده از ابزارها

تفاوت MCP و API

فرض کنید یک فروشگاه API زیر را دارد:

text
GET /api/orders

این API می‌تواند اطلاعات سفارش‌ها را برگرداند.

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

MCP یک لایه استاندارد برای معرفی چنین قابلیت‌هایی فراهم می‌کند.

برای مثال یک MCP Server می‌تواند ابزاری به نام زیر ارائه دهد:

text
get_orders

و مشخص کند این ابزار چه کاری انجام می‌دهد و چه ورودی‌هایی لازم دارد.

در پشت صحنه، MCP Server ممکن است همان API فروشگاه را فراخوانی کند.

بنابراین:

text
API = قابلیت ارتباط با سرویس

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

تفاوت MCP و Skill

Skill معمولاً به Agent توضیح می‌دهد چگونه یک کار را انجام دهد.

برای مثال یک Skill تولید محتوا ممکن است مشخص کند:

  1. ابتدا منابع بررسی شوند.
  2. اطلاعات زمان‌حساس تأیید شوند.
  3. مقاله با ساختار SEO نوشته شود.
  4. لینک‌ها بررسی شوند.
  5. چک‌لیست نهایی اجرا شود.

اما اگر Agent برای این کار به اطلاعات سایت نیاز داشته باشد، یک MCP Server می‌تواند ابزار دریافت اطلاعات را در اختیار آن قرار دهد.

درواقع:

text
Skill:
چگونه کار را انجام بده؟

MCP:
از چه ابزارها و اطلاعاتی می‌توان استفاده کرد؟

این دو می‌توانند در یک Workflow مکمل یکدیگر باشند.

تفاوت MCP و AI Agent

MCP خودش Agent نیست.

Agent سیستمی است که می‌تواند هدف کاربر را دریافت کند، برای انجام آن برنامه‌ریزی کند و از ابزارهای مختلف استفاده کند.

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

برای مثال:

text
درخواست کاربر
      |
      v
   AI Agent
      |
      v
   MCP Client
      |
      v
   MCP Server
      |
      v
  ابزار یا API
      |
      v
   اطلاعات واقعی

سپس نتیجه از مسیر ارتباطی به Agent برمی‌گردد و برای آماده‌سازی پاسخ استفاده می‌شود.

آموزش ساخت MCP Server با پایتون از صفر

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

این نمونه برای شروع مناسب است؛ چون:

  • به API خارجی نیاز ندارد.
  • اطلاعات حساس دریافت نمی‌کند.
  • رایگان است.
  • به حساب سرویس پولی وابسته نیست.
  • می‌توان عملکرد آن را به‌سادگی تست کرد.

در این مثال از Python SDK نسخه ۲ استفاده می‌کنیم که طبق مستندات رسمی، نسخه Stable فعلی در زمان نگارش مقاله است.

مرحله اول: نصب پیش‌نیازها

برای شروع به موارد زیر نیاز دارید:

  • Python نسخه 3.11 یا جدیدتر
  • یک ویرایشگر کد
  • ابزار uv
  • دسترسی به Terminal

ابتدا در Terminal یک پروژه جدید ایجاد کنید:

bash
uv init mcp-demo

سپس وارد پوشه پروژه شوید:

bash
cd mcp-demo

حالا کتابخانه رسمی MCP را نصب کنید:

bash
uv add "mcp[cli]"

این دستور SDK پایتون و ابزارهای خط فرمان مرتبط را به پروژه اضافه می‌کند.

برای استفاده از ابزار تست گرافیکی MCP Inspector، وجود Node.js و npx روی سیستم نیز لازم است.

مرحله دوم: فایل MCP Server را بسازید

داخل پروژه فایلی با نام زیر ایجاد کنید:

text
server.py

حالا کد زیر را داخل آن قرار دهید:

python
from mcp.server import MCPServer

mcp = MCPServer("Store Calculator")


@mcp.tool()
def calculate_discount(
    price: float,
    discount_percent: float
) -> float:
    """Calculate final product price after a percentage discount."""

    if price < 0:
        raise ValueError("Price cannot be negative.")

    if not 0 <= discount_percent <= 100:
        raise ValueError(
            "Discount must be between 0 and 100."
        )

    final_price = price * (1 - discount_percent / 100)

    return round(final_price, 2)


@mcp.resource("store://guide")
def store_guide() -> str:
    """Return basic information about the calculator."""

    return (
        "This server calculates product prices "
        "after percentage discounts. "
        "Prices use the currency supplied by the user."
    )

در این کد چند اتفاق مهم رخ می‌دهد.

ابتدا یک MCP Server ساخته‌ایم:

python
mcp = MCPServer("Store Calculator")

سپس با این Decorator یک Tool تعریف کرده‌ایم:

python
@mcp.tool()

این Tool دو ورودی دریافت می‌کند:

text
price
discount_percent

و قیمت نهایی را برمی‌گرداند.

همچنین یک Resource ساده ساخته‌ایم:

python
@mcp.resource("store://guide")

که اطلاعات پایه مربوط به سرور را ارائه می‌دهد.

مرحله سوم: اجرای MCP Server

در Terminal دستور زیر را اجرا کنید:

bash
uv run mcp dev server.py

این دستور محیط توسعه MCP را اجرا می‌کند و امکان تست سرور را از طریق MCP Inspector فراهم می‌سازد.

MCP Inspector ابزار رسمی تست و بررسی MCP Server است.

پس از اجرای دستور، آدرس محیط Inspector در Terminal نمایش داده می‌شود.

آن را در مرورگر باز کنید.

مرحله چهارم: اولین Tool را تست کنید

در MCP Inspector وارد بخش Tools شوید.

باید ابزاری با نام زیر مشاهده کنید:

text
calculate_discount

حالا ورودی‌ها را وارد کنید:

text
price: 100000
discount_percent: 20

خروجی مورد انتظار:

text
80000

است.

یعنی محصولی با قیمت ۱۰۰ هزار واحد پولی، پس از ۲۰ درصد تخفیف، ۸۰ هزار واحد قیمت خواهد داشت.

این محاسبه توسط کد Python انجام می‌شود، نه با حدس مدل زبانی.

مرحله پنجم: Resource را بررسی کنید

در Inspector به بخش Resources بروید.

Resource زیر را بررسی کنید:

text
store://guide

این Resource اطلاعات ساده‌ای درباره عملکرد سرور ارائه می‌کند.

بنابراین اکنون یک MCP Server دارید که هم:

  • Tool
  • Resource

در اختیار Client قرار می‌دهد.

مرحله ششم: اتصال به یک AI Client

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

بسته به برنامه موردنظر، روش اتصال ممکن است شامل این موارد باشد:

  • معرفی فایل اجرایی سرور
  • تنظیم Command و Arguments
  • تعریف مسیر فایل
  • ثبت یک MCP Server محلی
  • اتصال به یک Remote MCP Server

برای نمونه، برنامه‌ای که از MCP محلی پشتیبانی می‌کند ممکن است برای راه‌اندازی این سرور به اجرای Python از طریق مسیر پروژه نیاز داشته باشد.

اما محل فایل تنظیمات و ساختار Configuration در Claude Desktop، Claude Code، VS Code و دیگر ابزارها یکسان نیست.

بنابراین برای این مرحله باید مستندات Host موردنظر بررسی شود.

قبل از اتصال MCP Server به Agent اصلی، ابتدا همه Tools را با Inspector آزمایش کنید. این کار باعث می‌شود مشکلات کد و ورودی‌ها را مستقل از رفتار مدل هوش مصنوعی شناسایی کنید.

آیا ساخت MCP Server هزینه دارد؟

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

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

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

بنابراین خود MCP رایگان است، اما همه سرویس‌هایی که به آن متصل می‌شوند الزاماً رایگان نیستند.

برای ادامه یادگیری می‌توانید به مستندات رسمی زیر مراجعه کنید:

آموزش Python SDK برای MCP

آیا استفاده از MCP امن است؟ مزایا، محدودیت‌ها و خطرات

MCP ذاتاً تضمین نمی‌کند که یک اتصال امن یا قابل اعتماد باشد. امنیت نهایی به پیاده‌سازی سرور، سطح دسترسی، احراز هویت، اعتبار منابع و کنترل‌های برنامه هوش مصنوعی بستگی دارد.

این موضوع اهمیت زیادی دارد؛ زیرا MCP می‌تواند در کنار خواندن اطلاعات، امکان اجرای عملیات واقعی را نیز فراهم کند.

مهم‌ترین مزایای MCP

MCP چند مزیت مهم برای توسعه‌دهندگان و کاربران ایجاد می‌کند.

۱. استانداردسازی اتصال

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

۲. کاهش نیاز به اتصال اختصاصی

برای هر ترکیب از مدل و سرویس، الزاماً نیازی به طراحی یک سیستم اتصال کاملاً جداگانه نیست.

۳. دسترسی به اطلاعات واقعی

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

۴. امکان ساخت Workflowهای پیچیده

چند MCP Server می‌توانند منابع موردنیاز یک Agent را فراهم کنند.

۵. قابلیت استفاده محلی و راه دور

می‌توان MCP Server را روی کامپیوتر شخصی یا روی زیرساخت سازمانی اجرا کرد.

۶. قابلیت توسعه و استفاده مجدد

یک MCP Server می‌تواند در چند برنامه سازگار مورد استفاده قرار گیرد؛ البته ممکن است تنظیمات و قابلیت‌های آن‌ها متفاوت باشد.

مهم‌ترین محدودیت‌های MCP

با وجود مزایا، MCP محدودیت‌هایی نیز دارد.

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

خطر Prompt Injection

یکی از خطرات مهم سیستم‌های Agentic، Prompt Injection است.

فرض کنید یک Agent برای خلاصه‌سازی اطلاعات، متنی را از یک منبع خارجی دریافت می‌کند.

اگر آن متن حاوی دستور مخرب باشد، ممکن است تلاش کند مدل را به انجام کاری خارج از درخواست اصلی کاربر ترغیب کند.

برای مثال یک منبع غیرقابل اعتماد ممکن است از Agent بخواهد اطلاعات محرمانه را به سرویس دیگری ارسال کند.

اطلاعات دریافت‌شده از Tool یا Resource نباید به‌صورت خودکار هم‌سطح دستور معتبر کاربر تلقی شوند.

خطر MCP Server ناشناس

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

یک سرور مخرب ممکن است:

  • اطلاعات حساس را دریافت کند.
  • درخواست‌های اضافی اجرا کند.
  • اطلاعات نادرست برگرداند.
  • دسترسی‌های غیرضروری مطالبه کند.
  • در نسخه محلی، کد ناامن اجرا کند.

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

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

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

برای کاهش خطرات، این موارد اهمیت دارند:

  1. فقط از MCP Serverهای معتبر و بررسی‌شده استفاده کنید.
  2. سطح دسترسی هر Tool را تا حد امکان محدود کنید.
  3. برای عملیات حساس، تأیید انسانی در نظر بگیرید.
  4. دسترسی خواندنی را از دسترسی نوشتنی جدا کنید.
  5. API Keyها و Tokenها را داخل کد یا Prompt قرار ندهید.
  6. برای سرورهای راه دور از ارتباط امن و احراز هویت مناسب استفاده کنید.
  7. ورودی و خروجی Tools را اعتبارسنجی کنید.
  8. فعالیت‌های حساس را ثبت و بررسی کنید.
  9. سرورهای محلی را در صورت امکان داخل محیط محدود اجرا کنید.
  10. اتصال‌هایی را که دیگر لازم ندارید غیرفعال کنید.

در نسخه جدید استاندارد MCP توجه ویژه‌ای به Authorization و کاهش برخی ریسک‌های امنیتی شده است.

برای مطالعه جزئیات فنی می‌توانید راهنمای رسمی امنیت MCP را بخوانید.

آیا MCP آینده AI Agentها را تغییر می‌دهد؟

اهمیت MCP فقط در اتصال چند ابزار نیست.

این استاندارد بخشی از یک روند بزرگ‌تر در هوش مصنوعی است: حرکت از Chatbotهای پاسخ‌گو به Agentهایی که می‌توانند با نرم‌افزارها و داده‌های واقعی کار کنند.

در یک سیستم سنتی، کاربر اغلب مجبور است اطلاعات را بین برنامه‌های مختلف جابه‌جا کند.

مدیر هوش آموزان
درباره نویسنده

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

این مقاله برایتان مفید بود؟ بازخورد شما به بهتر شدن آموزش‌های بعدی کمک می‌کند.
پیشنهاد برای ادامه مطالعه

مقالات مرتبط

مشاهده همه مقالات
قابلیت رایگان جدید ChatGPT معرفی شد؛ اتصال ایمیل و تقویم آیفون به هوش مصنوعی
اخبار و تکنولوژی

قابلیت رایگان جدید ChatGPT معرفی شد؛ اتصال ایمیل و تقویم آیفون به هوش مصنوعی

۱۱ دقیقه ۶ بازدید
Gemini 4 Carbon معرفی شد؛ بررسی کامل مدل جدید گوگل، قدرت، قیمت و زمان دسترسی
اخبار و تکنولوژی

Gemini 4 Carbon معرفی شد؛ بررسی کامل مدل جدید گوگل، قدرت، قیمت و زمان دسترسی

۱۰ دقیقه ۱۰ بازدید
Nano Banana 2.1 معرفی شد؛ مدل جدید تصویرسازی گوگل سریع‌تر، دقیق‌تر و ارزان‌تر
اخبار و تکنولوژی

Nano Banana 2.1 معرفی شد؛ مدل جدید تصویرسازی گوگل سریع‌تر، دقیق‌تر و ارزان‌تر

۱۰ دقیقه ۱۰ بازدید
گفت‌وگو درباره این مطلب

دیدگاه‌ها و پرسش‌ها

۰ دیدگاه
دیدگاه خود را بنویسید ایمیل شما منتشر نخواهد شد.
هنوز دیدگاهی ثبت نشده است اولین نفری باشید که تجربه یا پرسش خود را به اشتراک می‌گذارد.