توهم هوش مصنوعی (Hallucination) چیست و کدام مدل کمتر اشتباه میکند؟
از ChatGPT میپرسید فلان قانون مالیاتی چه میگوید و پاسخی دقیق، مرتب و با اعتمادبهنفس کامل میگیرید؛ با شمارهٔ ماده …
تا چند وقت پیش، ChatGPT یا Claude فقط میتوانستند با متنی که خودتان در چت میچسباندید کار کنند. نه به فایلهای کامپیوترتان دسترسی داشتند، نه به دیتابیس شرکت و نه به تقویم یا Notion. هر شرکتی هم که میخواست هوش مصنوعی را به ابزارش وصل کند، باید یک اتصال اختصاصی میساخت. MCP آمد تا این مشکل را حل کند.
در این مقاله به زبان ساده توضیح میدهیم MCP چیست، چطور کار میکند، چه کاربردهایی دارد، چه خطرهایی دارد و چطور میتوانید یک سرور MCP ساده بسازید. اگر با مفهوم ایجنت آشنا نیستید، پیشنهاد میکنیم اول معرفی ایجنت هوش مصنوعی را بخوانید.
آخرین بهروزرسانی: ۴ آبان ۱۴۰۵ — بر اساس مستندات رسمی modelcontextprotocol.io (نسخهٔ پروتکل 2026-07-28).
⚡ پاسخ کوتاه
MCP یا Model Context Protocol یک استاندارد متنباز برای اتصال اپلیکیشنهای هوش مصنوعی به سیستمهای بیرونی است. با MCP، دستیارهایی مثل Claude و ChatGPT و ابزارهایی مثل VS Code و Cursor میتوانند به منابع داده (فایلها، دیتابیسها)، ابزارها (موتور جستوجو، ماشینحساب) و گردشکارها وصل شوند. مستندات رسمی آن را به «پورت USB-C برای اپلیکیشنهای هوش مصنوعی» تشبیه میکند: یک بار سرور MCP میسازید و همهٔ کلاینتهای سازگار میتوانند از آن استفاده کنند.
📑 فهرست مطالب
تصور کنید هر گوشی و لپتاپ شارژر مخصوص خودش را داشت. USB-C این آشفتگی را با یک درگاه استاندارد حل کرد. MCP همین کار را برای هوش مصنوعی انجام میدهد: یک روش استاندارد که مدلهای زبانی از طریق آن داده بخوانند و کار انجام دهند.
MCP را شرکت Anthropic (سازندهٔ Claude) بهصورت متنباز معرفی کرد، اما امروز به یک استاندارد عمومی تبدیل شده است. طبق سایت رسمی، دستیارهایی مثل Claude و ChatGPT و ابزارهای توسعه مثل Visual Studio Code، Cursor و MCPJam همگی از MCP پشتیبانی میکنند. یعنی سروری که امروز برای Claude میسازید، فردا در ChatGPT یا VS Code هم کار میکند.
خود سایت رسمی MCP چند مثال واقعی آورده است:
قبل از MCP، اگر N اپلیکیشن هوش مصنوعی داشتیم و M ابزار یا منبع داده، در بدترین حالت به N×M اتصال اختصاصی نیاز بود. هر اتصال باید جداگانه ساخته، تست و نگهداری میشد. با MCP، هر اپلیکیشن فقط یک بار «کلاینت MCP» را پیاده میکند و هر ابزار فقط یک بار «سرور MCP» میسازد؛ تعداد اتصالها از N×M به N+M میرسد.
سایت رسمی MCP مزایا را برای سه گروه اینطور خلاصه میکند:
MCP با API جایگزین نمیشود؛ بلکه لایهای روی APIهاست. سرور MCP معمولاً پشت صحنه همان API سرویس را صدا میزند، اما آن را به شکلی استاندارد در اختیار مدل قرار میدهد تا مدل بفهمد چه ابزارهایی دارد و چطور از آنها استفاده کند. اگر با مفهوم API آشنا نیستید، اتصال سرویسهای سایت با API را ببینید.
MCP یک معماری کلاینت-سرور دارد که سه نقش اصلی در آن وجود دارد:
مستندات رسمی مثال خوبی میزند: وقتی VS Code به سرور MCP شرکت Sentry وصل میشود، VS Code نقش هاست را دارد و یک شیء کلاینت میسازد که اتصال با سرور Sentry را نگه میدارد.
پروتکل MCP دو لایه دارد. لایهٔ داده بر پایهٔ JSON-RPC 2.0 ساختار پیامها را تعریف میکند: کشف قابلیتها و نسخه، ابزارها، منابع، پرامپتها و اعلانها. لایهٔ انتقال تعیین میکند پیامها چطور جابهجا شوند و دو روش دارد:
| روش انتقال | کجا استفاده میشود | ویژگی |
|---|---|---|
| STDIO | سرور محلی روی همان کامپیوتر | ارتباط مستقیم بین پردازهها؛ بدون سربار شبکه؛ معمولاً یک کلاینت |
| Streamable HTTP | سرور راه دور روی اینترنت | HTTP POST و در صورت نیاز Server-Sent Events؛ احراز هویت با توکن و کلید API؛ توصیهٔ رسمی OAuth |
مهمترین مفهوم MCP «Primitive»ها هستند؛ یعنی چیزهایی که سرور میتواند به کلاینت ارائه دهد. سه قابلیت اصلی سمت سرور اینها هستند:
در سمت کلاینت هم قابلیتی به نام Elicitation وجود دارد که به سرور اجازه میدهد در میانهٔ کار از کاربر اطلاعات یا تأیید بیشتری بخواهد. طبق مستندات، قابلیت Sampling از نسخهٔ پروتکل 2026-07-28 منسوخ (deprecated) شده است.
امروز هزاران سرور MCP برای سرویسهای مختلف ساخته شده است. چند دسته از رایجترین کاربردها:
اگر میخواهید بدانید کدام مدل Claude برای کار با ابزارها و ایجنتها مناسبتر است، راهنمای انتخاب مدلهای Claude را بخوانید.
ساخت یک سرور MCP سادهتر از چیزی است که فکر میکنید. آموزش رسمی سایت MCP یک سرور «هواشناسی» میسازد. نسخهٔ خلاصهشدهٔ مراحل با پایتون:
۱. پیشنیازها: پایتون نسخهٔ 3.10 یا بالاتر و SDK پایتون MCP نسخهٔ 2.0.0 یا بالاتر. با ابزار uv پروژه را بسازید:
uv init weather
cd weather
uv add "mcp[cli]"
۲. تعریف سرور و یک ابزار: فایل weather.py را بسازید. هر تابعی که با دکوریتور tool علامت بخورد، به یک ابزار MCP تبدیل میشود و docstring آن به مدل توضیح میدهد ابزار چه کاری انجام میدهد:
from mcp.server import MCPServer
mcp = MCPServer("weather")
@mcp.tool()
async def get_alerts(state: str) -> str:
"""Get weather alerts for a US state (e.g. CA, NY)."""
# call the real weather API here and return text
return f"No active alerts for {state}"
if __name__ == "__main__":
mcp.run(transport="stdio")
۳. اتصال به Claude Desktop: فایل تنظیمات claude_desktop_config.json را باز کنید و سرور را اضافه کنید (مسیر را با مسیر کامل پوشهٔ پروژه جایگزین کنید):
{
"mcpServers": {
"weather": {
"command": "uv",
"args": ["--directory", "/ABSOLUTE/PATH/weather", "run", "weather.py"]
}
}
}
بعد از راهاندازی دوبارهٔ Claude Desktop، ابزار get_alerts در فهرست ابزارها ظاهر میشود و Claude هر وقت لازم بداند آن را صدا میزند (و قبل از اجرا از شما تأیید میگیرد).
۴. تست: برای تست سرور بدون اپلیکیشن، ابزار رسمی MCP Inspector را با npx اجرا کنید. SDKهای رسمی برای زبانهای دیگر مثل TypeScript هم در دسترس است و کدهای نمونه در مخزن GitHub پروژه قرار دارد.
MCP به مدل قدرت «انجام کار» میدهد و همین یعنی ریسک. سروری که به ایمیل، فایل یا دیتابیس شما دسترسی دارد، اگر مخرب باشد یا فریب بخورد، میتواند آسیب جدی بزند. یکی از خطرهای رایج Prompt Injection است: متنی در یک صفحهٔ وب یا ایمیل که دستورهای مخفی برای مدل دارد و او را به انجام کار ناخواسته وادار میکند.
برای آشنایی بیشتر با ریسکهای کلی هوش مصنوعی، چهار خطر بزرگ هوش مصنوعی را بخوانید.
MCP مخفف Model Context Protocol (پروتکل کانتکست مدل) است؛ یک استاندارد متنباز برای اتصال اپلیکیشنهای هوش مصنوعی به دادهها، ابزارها و گردشکارهای بیرونی.
نه. MCP را Anthropic معرفی کرد اما متنباز است و طبق سایت رسمی، ChatGPT، Visual Studio Code، Cursor و بسیاری ابزار دیگر هم از آن پشتیبانی میکنند.
API رابط اختصاصی هر سرویس است. MCP یک لایهٔ استاندارد روی APIهاست که به مدل میگوید چه ابزارها و دادههایی دارد و چطور از آنها استفاده کند؛ معمولاً سرور MCP پشت صحنه همان API را صدا میزند.
SDKهای رسمی برای چند زبان از جمله پایتون و TypeScript وجود دارد. در پایتون به نسخهٔ 3.10 یا بالاتر و SDK نسخهٔ 2.0.0 یا بالاتر نیاز دارید.
به سرور و تنظیمات بستگی دارد. سرورهای رسمی را نصب کنید، حداقل دسترسی بدهید، تأیید دستی را برای کارهای حساس روشن نگه دارید و مراقب Prompt Injection باشید.
همه منابع در تاریخ ۴ آبان ۱۴۰۵ بررسی شدهاند.
نظرات 0
برای ارسال نظر وارد حساب کاربری شوید.
هنوز نظری ثبت نشده؛ اولین نفر باشید.