Model Context Protocol (MCP)

پروتکل زمینه مدل (MCP): درک مفاهیم پایه و معماری

با تکامل مدل‌های زبانی بزرگ (LLMs) از یک نوآوری به یک ضرورت، چالش اتصال امن و کارآمد آن‌ها به منابع داده خارجی حیاتی شده است. پروتکل زمینه مدل (MCP) یک استاندارد باز است که برای حل مشکل پراکندگی در یکپارچه‌سازی‌های هوش مصنوعی طراحی شده است. برای توسعه‌دهندگانی که نسل بعدی برنامه‌های هوش مصنوعی را می‌سازند، درک MCP دیگر یک انتخاب نیست—بلکه ضروری است.

مشکل: سیلوهای یکپارچه‌سازی

از نظر تاریخی، اتصال یک LLM به پایگاه داده، سیستم فایل یا یک API نیازمند کدنویسی سفارشی برای هر یکپارچه‌سازی جداگانه بود. اگر توسعه‌دهنده‌ای بخواهد یک چت‌بات بسازد که بتواند فایل‌های محلی را بخواند و پایگاه داده PostgreSQL را پرس‌وجو کند، باید دو اتصال‌دهنده جداگانه و مستقل بنویسد. این رویکرد «نقطه به نقطه» با افزایش تعداد منابع داده، بدهی فنی، ریسک‌های امنیتی و کابوس‌های نگهداری ایجاد می‌کند.

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

معماری اصلی: میزبان‌ها، کلاینت‌ها و سرورها

در هسته خود، MCP از معماری کلاینت-سرور پیروی می‌کند. برای درک آن، باید سه جزء کلیدی را تعریف کنیم:

  1. میزبان (Host): برنامه‌ای که اتصال را آغاز می‌کند. این می‌تواند یک محیط توسعه یکپارچه (IDE) مانند Cursor یا VS Code، یا یک پلتفرم سفارشی عامل هوش مصنوعی باشد.
  2. کلاینت (Client): بخشی در داخل میزبان که مدیریت اتصال به سرور MCP را بر عهده دارد. این بخش چرخه حیات اتصال را مدیریت کرده و پیام‌ها را مسیریابی می‌کند.
  3. سرور (Server): برنامه‌ای که ابزارها، پرامپت‌ها و منابع را به مدل هوش مصنوعی ارائه می‌دهد. این سرور می‌داند چگونه با منابع داده خاص تعامل کند (برای مثال، یک «سرور MCP گیت‌هاب» که به LLM اجازه می‌دهد مخازن را پرس‌وجو کند).

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

مفاهیم کلیدی: منابع، پرامپت‌ها و ابزارها

MCP نحوه تعامل یک LLM با دنیای بیرون را از طریق سه اصل اولیه استاندارد می‌کند:

  • منابع (Resources): داده‌های ایستا یا پویایی که مدل می‌تواند آن‌ها را بخواند. این‌ها را می‌توان مانند فایل‌ها یا پاسخ‌های API در نظر گرفت. سرور طرح URI را تعریف می‌کند و کلاینت محتوا را درخواست می‌کند.
  • ابزارها (Tools): توابعی که مدل می‌تواند برای انجام اقدامات فراخوانی کند. برای مثال، یک ابزار «ایجاد ایشو» در یک سرور گیت‌هاب به LLM اجازه می‌دهد کد بنویسد یا درخواست‌های API را به نمایندگی از شما ارسال کند.
  • پرامپت‌ها (Prompts): قالب‌های از پیش تعریف شده‌ای که به ساختاردهی تعاملات کمک می‌کنند. یک سرور ممکن است یک پرامپت «بررسی کد» ارائه دهد که به طور خودکار محتوای فایل‌های مرتبط و تاریخچه گیت را شامل می‌شود و از هدر رفتن پنجره زمینه برای دستورالعمل‌های تکراری جلوگیری می‌کند.

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

اگرچه پیاده‌سازی‌های MCP بسته به زبان (TypeScript، Python و غیره) متفاوت هستند، اما منطق زیربنایی ثابت می‌ماند. در زیر نمایش مفهومی نحوه ارائه یک ابزار ساده توسط یک سرور با استفاده از ساختاری به سبک JSON-RPC آمده است که MCP بر پایه آن ساخته شده است.

// قطعه کد مفهومی TypeScript برای یک سرور MCP

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";

const server = new McpServer({
  name: "example-server",
  version: "1.0.0"
});

// ثبت ابزاری که LLM می‌تواند آن را فراخوانی کند
server.tool("get_current_time", "دریافت زمان فعلی سیستم", async () => {
  return {
    content: [{
      type: "text",
      text: new Date().toISOString()
    }]
  };
});

// راه‌اندازی سرور (معمولاً از طریق stdio)
server.start();

در این مثال، LLM یک قابلیت جدید را مشاهده می‌کند: get_current_time. وقتی مدل تصمیم می‌گیرد که این اطلاعات برای پرس‌وجوی کاربر مرتبط است، یک درخواست به کلاینت ارسال می‌کند که آن را به سرور منتقل می‌کند. سرور منطق را اجرا کرده و پاسخ فرمت‌شده را برمی‌گرداند.

نتیجه‌گیری

پروتکل زمینه مدل (MCP) گامی بزرگ به جلو در قابل اعتماد، امن و قابل تعامل‌سازی (Interoperable) کردن برنامه‌های هوش مصنوعی است. با حرکت از یکپارچه‌سازی‌های سفارشی به سمت یک پروتکل استاندارد، توسعه‌دهندگان می‌توانند تجربیات غنی‌تری از هوش مصنوعی بسازند بدون اینکه برای هر منبع داده چرخ را از نو اختراع کنند. با بالغ‌تر شدن اکوسیستم، MCP در موقعیتی قرار دارد که به «USB-C» هوش مصنوعی تبدیل شود—یک اتصال‌دهنده جهانی که پتانسیل کامل LLMها را در دنیای واقعی آزاد می‌کند.

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

Share: