(برای مشاهده ویدئوی این درس روی تصویر بالا کلیک کنید)
برنامههای هوش مصنوعی مولد یک گام بزرگ به جلو هستند، زیرا اغلب به کاربران اجازه میدهند با استفاده از دستورات زبان طبیعی با برنامه تعامل داشته باشند. با این حال، هرچه زمان و منابع بیشتری در این برنامهها سرمایهگذاری شود، باید مطمئن شوید که میتوانید قابلیتها و منابع را به گونهای ادغام کنید که گسترش آنها آسان باشد، برنامه شما بتواند بیش از یک مدل را پشتیبانی کند و پیچیدگیهای مختلف مدلها را مدیریت کند. به طور خلاصه، ساخت برنامههای هوش مصنوعی مولد در ابتدا آسان است، اما با رشد و پیچیدهتر شدن آنها، نیاز به تعریف یک معماری خواهید داشت و احتمالاً باید به یک استاندارد تکیه کنید تا اطمینان حاصل شود که برنامههایتان به صورت یکپارچه ساخته میشوند. اینجاست که MCP وارد عمل میشود تا همه چیز را سازماندهی کرده و یک استاندارد ارائه دهد.
پروتکل زمینه مدل (MCP) یک رابط باز و استاندارد شده است که به مدلهای زبانی بزرگ (LLM) اجازه میدهد به طور یکپارچه با ابزارها، APIها و منابع داده خارجی تعامل داشته باشند. این پروتکل یک معماری سازگار ارائه میدهد تا عملکرد مدلهای هوش مصنوعی را فراتر از دادههای آموزشی آنها افزایش دهد و سیستمهای هوش مصنوعی هوشمندتر، مقیاسپذیرتر و پاسخگوتر ایجاد کند.
با پیچیدهتر شدن برنامههای هوش مصنوعی مولد، ضروری است که استانداردهایی اتخاذ شوند که مقیاسپذیری، گسترشپذیری، نگهداریپذیری و اجتناب از قفل شدن به یک فروشنده خاص را تضمین کنند. MCP این نیازها را با:
- یکپارچهسازی مدلها و ابزارها
- کاهش راهحلهای سفارشی و شکننده
- امکان همزیستی چندین مدل از فروشندگان مختلف در یک اکوسیستم
توجه: اگرچه MCP خود را به عنوان یک استاندارد باز معرفی میکند، هیچ برنامهای برای استانداردسازی MCP از طریق نهادهای استاندارد موجود مانند IEEE، IETF، W3C، ISO یا سایر نهادهای استاندارد وجود ندارد.
در پایان این مقاله، شما قادر خواهید بود:
- پروتکل زمینه مدل (MCP) و موارد استفاده آن را تعریف کنید
- درک کنید که چگونه MCP ارتباط بین مدلها و ابزارها را استاندارد میکند
- اجزای اصلی معماری MCP را شناسایی کنید
- کاربردهای واقعی MCP در زمینههای سازمانی و توسعه را بررسی کنید
پیش از MCP، ادغام مدلها با ابزارها نیازمند:
- کدنویسی سفارشی برای هر جفت ابزار-مدل
- APIهای غیر استاندارد برای هر فروشنده
- خرابیهای مکرر به دلیل بهروزرسانیها
- مقیاسپذیری ضعیف با افزایش تعداد ابزارها
| مزیت | توضیح |
|---|---|
| تعاملپذیری | مدلهای زبانی بزرگ به طور یکپارچه با ابزارهای فروشندگان مختلف کار میکنند |
| سازگاری | رفتار یکنواخت در پلتفرمها و ابزارها |
| قابلیت استفاده مجدد | ابزارهایی که یک بار ساخته میشوند، میتوانند در پروژهها و سیستمهای مختلف استفاده شوند |
| توسعه سریعتر | کاهش زمان توسعه با استفاده از رابطهای استاندارد و آماده به کار |
MCP از یک مدل کلاینت-سرور پیروی میکند، که در آن:
- میزبانهای MCP مدلهای هوش مصنوعی را اجرا میکنند
- کلاینتهای MCP درخواستها را آغاز میکنند
- سرورهای MCP زمینه، ابزارها و قابلیتها را ارائه میدهند
- منابع – دادههای ایستا یا پویا برای مدلها
- دستورات – جریانهای کاری از پیش تعریفشده برای تولید هدایتشده
- ابزارها – توابع اجرایی مانند جستجو، محاسبات
- نمونهگیری – رفتار عاملمحور از طریق تعاملات بازگشتی
سرورهای MCP به این صورت عمل میکنند:
- جریان درخواست:
- یک درخواست توسط کاربر نهایی یا نرمافزاری که از طرف او عمل میکند، آغاز میشود.
- کلاینت MCP درخواست را به میزبان MCP ارسال میکند، که زمان اجرای مدل هوش مصنوعی را مدیریت میکند.
- مدل هوش مصنوعی درخواست کاربر را دریافت میکند و ممکن است برای دسترسی به ابزارها یا دادههای خارجی درخواست دهد.
- میزبان MCP، نه مدل به طور مستقیم، با سرورهای MCP مناسب از طریق پروتکل استاندارد ارتباط برقرار میکند.
- عملکرد میزبان MCP:
- ثبت ابزار: فهرستی از ابزارهای موجود و قابلیتهای آنها را نگهداری میکند.
- احراز هویت: مجوزهای دسترسی به ابزارها را تأیید میکند.
- مدیریت درخواست: درخواستهای ابزار ورودی از مدل را پردازش میکند.
- فرمتدهنده پاسخ: خروجی ابزارها را در قالبی که مدل بتواند درک کند، ساختاردهی میکند.
- اجرای سرور MCP:
- میزبان MCP درخواستهای ابزار را به یک یا چند سرور MCP هدایت میکند که توابع تخصصی (مانند جستجو، محاسبات، پرسوجوهای پایگاه داده) را ارائه میدهند.
- سرورهای MCP عملیات مربوطه را انجام داده و نتایج را در قالبی سازگار به میزبان MCP بازمیگردانند.
- میزبان MCP این نتایج را فرمتدهی کرده و به مدل هوش مصنوعی منتقل میکند.
- تکمیل پاسخ:
- مدل هوش مصنوعی خروجی ابزارها را در یک پاسخ نهایی ادغام میکند.
- میزبان MCP این پاسخ را به کلاینت MCP ارسال میکند، که آن را به کاربر نهایی یا نرمافزار فراخواننده تحویل میدهد.
---
title: MCP Architecture and Component Interactions
description: A diagram showing the flows of the components in MCP.
---
graph TD
Client[MCP Client/Application] -->|Sends Request| H[MCP Host]
H -->|Invokes| A[AI Model]
A -->|Tool Call Request| H
H -->|MCP Protocol| T1[MCP Server Tool 01: Web Search]
H -->|MCP Protocol| T2[MCP Server Tool 02: Calculator tool]
H -->|MCP Protocol| T3[MCP Server Tool 03: Database Access tool]
H -->|MCP Protocol| T4[MCP Server Tool 04: File System tool]
H -->|Sends Response| Client
subgraph "MCP Host Components"
H
G[Tool Registry]
I[Authentication]
J[Request Handler]
K[Response Formatter]
end
H <--> G
H <--> I
H <--> J
H <--> K
style A fill:#f9d5e5,stroke:#333,stroke-width:2px
style H fill:#eeeeee,stroke:#333,stroke-width:2px
style Client fill:#d5e8f9,stroke:#333,stroke-width:2px
style G fill:#fffbe6,stroke:#333,stroke-width:1px
style I fill:#fffbe6,stroke:#333,stroke-width:1px
style J fill:#fffbe6,stroke:#333,stroke-width:1px
style K fill:#fffbe6,stroke:#333,stroke-width:1px
style T1 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T2 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T3 fill:#c2f0c2,stroke:#333,stroke-width:1px
style T4 fill:#c2f0c2,stroke:#333,stroke-width:1px
سرورهای MCP به شما امکان میدهند قابلیتهای مدلهای زبانی بزرگ را با ارائه دادهها و عملکرد گسترش دهید.
آماده امتحان کردن هستید؟ در اینجا SDKهای زبان یا پشته خاص با مثالهایی از ایجاد سرورهای ساده MCP در زبانها/پشتههای مختلف آورده شده است:
- Python SDK: https://github.com/modelcontextprotocol/python-sdk
- TypeScript SDK: https://github.com/modelcontextprotocol/typescript-sdk
- Java SDK: https://github.com/modelcontextprotocol/java-sdk
- C#/.NET SDK: https://github.com/modelcontextprotocol/csharp-sdk
MCP طیف گستردهای از برنامهها را با گسترش قابلیتهای هوش مصنوعی امکانپذیر میکند:
| کاربرد | توضیح |
|---|---|
| یکپارچهسازی دادههای سازمانی | اتصال مدلهای زبانی بزرگ به پایگاههای داده، CRMها یا ابزارهای داخلی |
| سیستمهای هوش مصنوعی عاملمحور | فعالسازی عوامل خودمختار با دسترسی به ابزارها و جریانهای کاری تصمیمگیری |
| برنامههای چندوجهی | ترکیب ابزارهای متنی، تصویری و صوتی در یک برنامه هوش مصنوعی یکپارچه |
| یکپارچهسازی دادههای بلادرنگ | آوردن دادههای زنده به تعاملات هوش مصنوعی برای خروجیهای دقیقتر و بهروزتر |
پروتکل زمینه مدل (MCP) به عنوان یک استاندارد جهانی برای تعاملات هوش مصنوعی عمل میکند، مشابه نحوه استانداردسازی USB-C برای اتصالات فیزیکی دستگاهها. در دنیای هوش مصنوعی، MCP یک رابط سازگار ارائه میدهد که به مدلها (کلاینتها) اجازه میدهد به طور یکپارچه با ابزارها و ارائهدهندگان داده خارجی (سرورها) ادغام شوند. این امر نیاز به پروتکلهای متنوع و سفارشی برای هر API یا منبع داده را از بین میبرد.
فراتر از ارائه ابزارها، MCP دسترسی به دانش را نیز تسهیل میکند. این پروتکل به برنامهها اجازه میدهد زمینه را به مدلهای زبانی بزرگ (LLM) ارائه دهند، با اتصال آنها به منابع داده مختلف. برای مثال، یک سرور MCP ممکن است مخزن اسناد یک شرکت را نمایندگی کند و به عوامل اجازه دهد اطلاعات مرتبط را در صورت نیاز بازیابی کنند. سرور دیگری میتواند اقدامات خاصی مانند ارسال ایمیل یا بهروزرسانی سوابق را مدیریت کند. از دیدگاه عامل، اینها صرفاً ابزارهایی هستند که میتواند استفاده کند—برخی ابزارها داده (زمینه دانش) بازمیگردانند، در حالی که برخی دیگر اقدامات را انجام میدهند. MCP هر دو را به طور کارآمد مدیریت میکند.
فراتر از معماری پایه MCP، سناریوهای پیشرفتهای وجود دارد که در آن هم کلاینت و هم سرور شامل مدلهای زبانی بزرگ (LLM) هستند و تعاملات پیچیدهتری را امکانپذیر میکنند. در نمودار زیر، برنامه کلاینت میتواند یک IDE باشد که تعدادی ابزار MCP برای استفاده توسط LLM در دسترس دارد:
---
title: Advanced MCP Scenarios with Client-Server LLM Integration
description: A sequence diagram showing the detailed interaction flow between user, client application, client LLM, multiple MCP servers, and server LLM, illustrating tool discovery, user interaction, direct tool calling, and feature negotiation phases
---
sequenceDiagram
autonumber
actor User as 👤 User
participant ClientApp as 🖥️ Client App
participant ClientLLM as 🧠 Client LLM
participant Server1 as 🔧 MCP Server 1
participant Server2 as 📚 MCP Server 2
participant ServerLLM as 🤖 Server LLM
%% Discovery Phase
rect rgb(220, 240, 255)
Note over ClientApp, Server2: TOOL DISCOVERY PHASE
ClientApp->>+Server1: Request available tools/resources
Server1-->>-ClientApp: Return tool list (JSON)
ClientApp->>+Server2: Request available tools/resources
Server2-->>-ClientApp: Return tool list (JSON)
Note right of ClientApp: Store combined tool<br/>catalog locally
end
%% User Interaction
rect rgb(255, 240, 220)
Note over User, ClientLLM: USER INTERACTION PHASE
User->>+ClientApp: Enter natural language prompt
ClientApp->>+ClientLLM: Forward prompt + tool catalog
ClientLLM->>-ClientLLM: Analyze prompt & select tools
end
%% Scenario A: Direct Tool Calling
alt Direct Tool Calling
rect rgb(220, 255, 220)
Note over ClientApp, Server1: SCENARIO A: DIRECT TOOL CALLING
ClientLLM->>+ClientApp: Request tool execution
ClientApp->>+Server1: Execute specific tool
Server1-->>-ClientApp: Return results
ClientApp->>+ClientLLM: Process results
ClientLLM-->>-ClientApp: Generate response
ClientApp-->>-User: Display final answer
end
%% Scenario B: Feature Negotiation (VS Code style)
else Feature Negotiation (VS Code style)
rect rgb(255, 220, 220)
Note over ClientApp, ServerLLM: SCENARIO B: FEATURE NEGOTIATION
ClientLLM->>+ClientApp: Identify needed capabilities
ClientApp->>+Server2: Negotiate features/capabilities
Server2->>+ServerLLM: Request additional context
ServerLLM-->>-Server2: Provide context
Server2-->>-ClientApp: Return available features
ClientApp->>+Server2: Call negotiated tools
Server2-->>-ClientApp: Return results
ClientApp->>+ClientLLM: Process results
ClientLLM-->>-ClientApp: Generate response
ClientApp-->>-User: Display final answer
end
end
در اینجا مزایای عملی استفاده از MCP آورده شده است:
- بهروز بودن: مدلها میتوانند به اطلاعات بهروز فراتر از دادههای آموزشی خود دسترسی داشته باشند
- گسترش قابلیتها: مدلها میتوانند از ابزارهای تخصصی برای وظایفی که برای آنها آموزش ندیدهاند استفاده کنند
- کاهش توهمات: منابع داده خارجی زمینه واقعی ارائه میدهند
- حریم خصوصی: دادههای حساس میتوانند در محیطهای امن باقی بمانند و در دستورات جاسازی نشوند
نکات کلیدی استفاده از MCP عبارتند از:
- MCP نحوه تعامل مدلهای هوش مصنوعی با ابزارها و دادهها را استاندارد میکند
- گسترشپذیری، سازگاری و تعاملپذیری را ترویج میدهد
- MCP به کاهش زمان توسعه، بهبود قابلیت اطمینان و گسترش قابلیتهای مدل کمک میکند
- معماری کلاینت-سرور برنامههای هوش مصنوعی انعطافپذیر و گسترشپذیر را امکانپذیر میکند
به یک برنامه هوش مصنوعی که به ساخت آن علاقه دارید فکر کنید.
- کدام ابزارها یا دادههای خارجی میتوانند قابلیتهای آن را افزایش دهند؟
- MCP چگونه میتواند ادغام را سادهتر و قابل اطمینانتر کند؟
بعدی: فصل ۱: مفاهیم اصلی
سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما تلاش میکنیم دقت را حفظ کنیم، لطفاً توجه داشته باشید که ترجمههای خودکار ممکن است شامل خطاها یا نادرستیها باشند. سند اصلی به زبان اصلی آن باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حساس، توصیه میشود از ترجمه حرفهای انسانی استفاده کنید. ما مسئولیتی در قبال سوء تفاهمها یا تفسیرهای نادرست ناشی از استفاده از این ترجمه نداریم.
