پروتکل ارتباط متنی مدل (Model Context Protocol) استانداردی متنباز است که تعامل مدلهای هوش مصنوعی با ابزارها و دیتابیسها را دگرگون کرده است. در این مقاله به طور جامع بررسی میکنیم که MCP Server چیست، چگونه کار میکند و چرا آینده ایجنتهای هوش مصنوعی بر این استاندارد استوار است.
فهرست مطالب
- MCP Server چیست و چه مشکلی را در هوش مصنوعی حل میکند؟
- معماری سهلایه: Host، Client و MCP Server
- پروتکلهای تبادل داده: stdio در برابر SSE و WebSocket
- منابع (Resources)، ابزارها (Tools) و پرامپتها در استاندارد MCP
- نحوه راهاندازی یک سرور MCP شخصی روی سرور لینوکس
- ملاحظات امنیتی و دسترسیهای ایجنت هوش مصنوعی
- سوالات متداول
MCP Server چیست و چه مشکلی را در هوش مصنوعی حل میکند؟
تا پیش از پیدایش پروتکل MCP، هر شرکت ارائهدهنده ابزار هوش مصنوعی روش اختصاصی خود را برای فراخوانی توابع (Function Calling) پیادهسازی میکرد. اتصال یک دستیار هوش مصنوعی به پایگاه داده، گیتهاب، فایلهای سرور یا سرویسهای ابری نیازمند نوشتن دهها خط کد چسبنده (Glue Code) اختصاصی بود. شرکت Anthropic با معرفی استاندارد Model Context Protocol (MCP)، رابطی همگانی و یکتا مشابه استاندارد درگاه USB-C برای نرمافزارهای هوش مصنوعی تعریف کرد.
معماری سهلایه: Host، Client و MCP Server
معماری پروتکل MCP شامل سه عضو کلیدی است:
- میزبان (Host Application): برنامهای که کاربر با آن تعامل دارد؛ مانند Claude Desktop، Cursor، VS Code یا کلاینتهای اختصاصی وب.
- کلاینت (MCP Client): لایه میانی درون هاست که وظیفه ترجمه درخواستهای مدل و ارتباط با سرورهای خارجی را بر عهده دارد.
- سرور کانتکست (MCP Server): برنامهای مستقل و ایزوله که دسترسی به دادهها یا ابزارها را به صورت استاندارد ارائه میدهد (مانند سرور MCP دیتابیس، سیستم فایل، یا گیتهاب).
پروتکلهای تبادل داده: stdio در برابر SSE و WebSocket
ارتباط میان کلاینت و سرور میتواند به دو روش برقرار شود:
- روش ورودی/خروجی استاندارد (stdio): کلاینت سرور را به صورت یک زیرفرآیند (Subprocess) محلی اجرا کرده و پیامهای JSON-RPC را رد و بدل میکند؛ بسیار امن و مناسب کارهای لوکال.
- روش تحت شبکه (Server-Sent Events / HTTP SSE): سرور روی یک سرور مجازی لینوکس یا شبکه راه دور میزبانی میشود و کلاینتها از طریق اینترنت یا شبکه داخلی به آن متصل میگردند.
منابع (Resources)، ابزارها (Tools) و پرامپتها در استاندارد MCP
یک سرور MCP میتواند سه قابلیت را برای مدل فراهم کند:
- Resources: دادههای خواندنی مانند مستندات، فایلها یا لاگهای سیستم.
- Tools: عملگرهای اجرایی که مدل میتواند آنها را صدا بزند؛ مانند اجرای کوئری در PostgreSQL، ارسال پیام در دیسکورد یا اجرای دستورات لینوکس.
- Prompts: قالبهای آماده پرامپت برای هدایت دقیق مدل در انجام تسکهای مشخص.
نحوه راهاندازی یک سرور MCP شخصی روی سرور لینوکس
با استفاده از فریمورکهای پایتون FastMCP یا تایپاسکریپت، میتوان در کمتر از ۱۰ دقیقه یک سرور ابزار نوشت:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("TrustHost Server Monitor")
@mcp.tool()
def check_server_status(server_ip: str) -> str:
"""بررسی وضعیت سلامت و پینگ سرور مجازی"""
# کدهای بررسی سلامت سرور
return f"سرور {server_ip} با آپتایم ۹۹.۹٪ فعال است."
if __name__ == "__main__":
mcp.run(transport="sse")
میزبانی سرورهای MCP و ایجنتهای هوش مصنوعی در تراست هاست
برای اجرای ۲۴ ساعته سرورهای MCP سازمانی و اتصال بدون قطعی به مدلهای هوش مصنوعی، از پلنهای امن و پایدار سرور مجازی لینوکس تراست هاست با فایروال لبه شبکه استفاده نمایید.
سوالات متداول
آیا MCP مختص مدلهای شرکت Claude است؟
خیر، پروتکل MCP یک استاندارد کاملاً متنباز (Open Standard) است و با تمام مدلهای زبانی از جمله مدلهای متنباز Llama، Mistral و Qwen در ابزارهایی نظیر Ollama قابل استفاده است.
تفاوت MCP با Function Calling معمولی چیست؟
فانکشن کالینگ روشی خاص برای یک مدل مشخص است، در حالی که MCP استانداردی عمومی است که به سرور ابزار اجازه میدهد با هر مدل، هر IDE و هر پلتفرمی بدون نیاز به کدنویسی مجدد کار کند.