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

MCP که مخفف پروتکل Model Context است ، توسط Anthropic به دلیل Claude AI خود در نوامبر 2024 آغاز شد.
همه در تلاشند سرور MCP خود را از OpenAi و Neon تا CloudFlare و Sentry بسازند. بیایید شیرجه بزنیم و سریع از پروتکل MCP یا Model Context ایده ای به شما ارائه دهیم.
- مدل: به یک مدل زبان بزرگ یا یک مدل هوش مصنوعی اشاره دارد
- زمینه: داده ها یا اطلاعات مربوطه (که به مدل AI داده می شود)
- پروتکل: مجموعه ای از قوانین یا استانداردها.
بنابراین ، MCP به مجموعه ای از استانداردها تبدیل می شود که ما برای ارائه زمینه یا اطلاعات مربوط به مدل زبان بزرگ استفاده می کنیم. Anthropic آن را مانند یک درگاه USB-C برای مدل های AI توصیف می کند-یک روش جهانی برای اتصال و تعامل.
چرا USB-C ، هر چند؟
آشفتگی شارژرها و کابل های مختلف را که قبلاً داشتیم به خاطر دارید؟ USB-C همه این موارد را ساده کرد. یک درگاه تقریباً همه چیز را به هم متصل می کند – قدرت ، داده ، مانیتور و موارد دیگر. این یک استاندارد جهانی است.
MCP قصد دارد همین کار را برای هوش مصنوعی انجام دهد. به جای هر ابزار هوش مصنوعی که به یک اتصال منحصر به فرد و سفارشی به هر منبع داده ای نیاز دارد (تصور کنید که سعی کنید 10 مدل مختلف AI را به 20 ابزار مختلف متصل کنید-این 200 ادغام سفارشی!) ، MCP یک روش استاندارد را برای صحبت آنها ایجاد می کند. این مسئله مشکل “m x n” را به یک تنظیم ساده تر “m + n” تبدیل می کند.
MCP چگونه کار می کند؟
منبع تصویر modelcontextprotocol.io
- میزبان: این معمولاً برنامه هوش مصنوعی شما است ، مانند IDE (فکر کنید zed ، کد vs یا مکان نما) یا یک برنامه دسک تاپ AI (مانند دسک تاپ کلود). میزبان مدیر است و بر همه چیز نظارت دارد.
- مشتریان MCP: در داخل میزبان ، مشتری دارید. آنها را به عنوان خطوط ارتباطی اختصاصی فکر کنید. هر مشتری به یکی سرور MCP خاص.
- سرورهای MCP: اینها دروازه ها هستند. یک سرور قبل از یک منبع داده خاص ، مانند درایو سند شرکت شما ، یک مخزن کد یا یک پایگاه داده یا ابزاری مانند عملکرد جستجوی وب قرار دارد. این می داند که چگونه با آن سیستم خاص صحبت کند و قابلیت های آن را با استفاده از قوانین MCP در معرض دید قرار دهد.
این مؤلفه ها با استفاده از JSON-RPC 2.0 صحبت می کنند ، که فقط یک روش ساختاری برای ارسال پیام به عقب و جلو با استفاده از JSON است. این امر ارتباطات را روشن و سازگار نگه می دارد ، مهم نیست که چه کسی مشتری یا سرور را ساخته است.
چه نوع “زمینه” می توانند مبادله کنند؟
MCP استاندارد می شود چه با استفاده از سه بلوک اصلی ساختمان ، به نام “بدوی” به عقب و جلو منتقل می شود:
- منابع: این ساختار یافته است داده که سرور می تواند به AI بدهد. به قطعه های کد ، بخش هایی از یک سند یا نتایج پایگاه داده فکر کنید – هر چیزی که زمینه واقعی را اضافه می کند. معمولاً در هنگام تأمین منابع ، برنامه کنترل می شود.
- اعلان: این دستورالعمل ها یا الگوهای از پیش ساخته شده است که سرور می تواند ارائه دهد. تصور کنید که برای خلاصه کردن متن یا تولید کد به سبک خاصی ، از آنها صرفه جویی کرده اید. اغلب ، کاربر انتخاب می کند چه موقع از این موارد استفاده کنید.
- ابزار: اینها واقعی هستند اقدامات هوش مصنوعی می تواند از سرور بخواهد که انجام دهد (معمولاً ابتدا به شما احتیاج دارد!). این موارد شامل پرس و جو یک بانک اطلاعاتی ، جستجوی وب یا حتی ارسال ایمیل است. در شما یک مدل دارید به طور معمول تصمیم می گیرد وقتی به یک ابزار نیاز دارد.
با استاندارد سازی این موارد ، هر هوش مصنوعی با استفاده از MCP می تواند نحوه درخواست داده ها (منابع) را درک کند ، از دستورالعمل های از پیش تعیین شده (درخواست ها) استفاده کند ، یا اقدامات (ابزارها) را از طریق هر سرور MCP سازگار انجام دهد.
تنظیم محلی در مقابل ابر دسترسی: سرورهای محلی و از راه دور
حال ، این سرورهای MCP کجا اجرا می شوند؟ دو روش وجود دارد:
- سرورهای محلی MCP: اینها در رایانه شما اجرا می شوند ، اغلب در کنار برنامه میزبان (مانند IDE شما). ممکن است آنها را خودتان تنظیم کنید ، به آنها یک کلید API بدهید ، و آنها درخواست های مستقیم از مشتری در دستگاه شما را گوش می دهند. آنها غالباً از یک لوله ارتباطی مستقیم استفاده می کنند (stdio – ورودی/خروجی استاندارد). عالی برای توسعه دهندگان که در محلی کار می کنند.
-
سرورهای MCP از راه دور: اینها در ابر زندگی می کنند. شما به طور معمول به صورت آنلاین به آنها متصل می شوید ، اغلب با استفاده از روش های ورود به سیستم ایمن مانند OAuth. آنها با استفاده از پروتکل های وب (SSE/HTTP – رویدادهای سرور -سرور و درخواست های استاندارد وب) ارتباط برقرار می کنند.
- چرا از راه دور؟ برای کاربر نهایی هیچ راه اندازی لازم نیست-فقط وارد شوید! آنها به راحتی به روز می شوند ، و به طور مهم ، آنها به نمایندگان هوش مصنوعی مبتنی بر وب اجازه می دهند تا به ابزارها و داده ها دسترسی پیدا کنند ، نه فقط برنامه های دسک تاپ محلی.
- Vercel و CloudFlare به میزبانی MCP های از راه دور یا سرور اجازه می دهند ، استقرار و ایجاد تغییرات را در صورت لزوم آسانتر می کند.
کانال های ارتباطی: انواع حمل و نقل
چگونه پیام ها در واقع بین مشتری و سرور سفر می کنید؟ این “لایه حمل و نقل” است. MCP در اینجا انعطاف پذیر است (وابسته به حمل و نقل) ، اما دو راه مشترک با ایده محلی در مقابل از راه دور ما پیوند می خورند:
- ورودی/خروجی استاندارد (stdio): مناسب برای محلی سرورها پیام ها به طور مستقیم بین فرآیندهای مشتری و سرور که در همان دستگاه اجرا می شوند منتقل می شوند. ساده ، مستقیم ، هیچ شبکه ای لازم نیست.
- رویدادهای سرور (SSE) / HTTP: رفتن به دور سرورها سرور پیام می فرستد به مشتری با استفاده از جریان کارآمد SSE ، و مشتری پیام ارسال می کند به سرور با استفاده از درخواست های استاندارد HTTP. در سراسر اینترنت و از طریق فایروال کار می کند.
بنابراین ، MCP تعریف می کند چه (بدوی) و چگونه (ساختار JSON-RPC) ، در حالی که لایه حمل و نقل فراهم می کند مسیر (Stdio برای محلی ، SSE/HTTP برای از راه دور).
امنیت در MCPS
پروتکل زمینه Model (MCP) ، در حالی که به قابلیت همکاری عامل هوش مصنوعی قول می دهد ، چالش های امنیتی قابل توجهی را ارائه می دهد که کاربران و توسعه دهندگان باید به صورت پیشگیرانه به آن بپردازند ، زیرا این امر به طور پیش فرض فاقد حاکمیت امنیتی قوی است.
نگرانی های اصلی امنیت:
- فقدان امنیت ذاتی: MCP خود اقدامات امنیتی دقیق را اجرا نمی کند. این مسئولیت به شدت بر روی مجریان می شود تا لایه های ایمن در اطراف آن بسازند.
- مسمومیت ابزاری: بازیگران مخرب می توانند دستورالعمل ها یا دستورات مضر را از طریق توضیحات ابزار یا داده های متن ارائه شده به هوش مصنوعی تزریق کنند. بدون اعتبار و ضد عفونی مناسب ، هوش مصنوعی ممکن است این دستورالعمل ها را ناآگاهانه اجرا کند.
- داده های حساس به دیگری نیزل: این یک خطر قابل توجه است که در آن یک دستیار هوش مصنوعی به چندین ابزار دسترسی دارد. یک ابزار مخرب یا به خطر افتاده می تواند هوش مصنوعی را در استفاده از مجوزهای ابزار دیگری و ممتاز تر برای دسترسی یا تبعید داده های حساس بدون مجوز مناسب یا آگاهی کاربر فریب دهد.
خطرات محلی در مقابل سرور از راه دور:
- سرورهای محلی: ریسک بالایی را ایجاد کنید زیرا آنها اغلب با امتیازات سطح کاربر اجرا می شوند و دسترسی به پرونده های محلی ، شبکه ها و منابع سیستم را اعطا می کنند. آنها می توانند برای ماسهبازی به طور مؤثر چالش برانگیز باشند و شبیه خطرات مرتبط با اجرای برنامه های دسک تاپ غیرقابل اعتماد باشند.
- سرورهای دور افتاده: معرفی بردارهای حمله مبتنی بر شبکه (مانند انسان در وسط) ، نگرانی های مربوط به سوء استفاده از داده ها و چالش های مربوط به تأیید اعتبار ، مجوز و مدیریت کلید API.
پرداختن به این خطرات نیاز به استراتژی های عمدی ، مانند درمان هر ابزار به عنوان یک مرز امنیتی مجزا با حداقل مجوزهای لازم دارد. و اجرای کنترل های قوی مانند OAuth ، به ویژه برای سرورهای از راه دور ، و پیروی از اصل حداقل امتیاز برای سرورهای محلی.
در حالی که MCP یک پروتکل بنیادی قدرتمند و قوی است ، اما نباید آن را “خارج از جعبه” ایمن تلقی کرد. توسعه دهندگان و کاربران باید هوشیار باشند و اقدامات جامع امنیتی را برای کاهش خطرات ذاتی انجام دهند.
برخی از موارد MCP استفاده می کنند
- دستیاران کد نویسی باهوش تر در IDES: MCP به دستیاران برنامه نویسی هوش مصنوعی در محیط های توسعه یکپارچه (IDE) اجازه می دهد تا مستقیماً به پایگاه کد خاص ، مستندات و ابزارهای مرتبط شما متصل شوند.
- chatbots chatbots شرکت های بیش از حد: به جای یک چت بابات عمومی ، شرکت ها می توانند دستیارهایی بسازند که به طور ایمن به پایگاه های دانش داخلی ضربه بزنند.
- دستیاران هوش مصنوعی تواناتر: برنامه های AI می توانند از MCP برای تعامل ایمن با پرونده های محلی ، برنامه ها و خدمات موجود در رایانه خود استفاده کنند.
پیچیدن
MCP برای اتصال مدل های هوش مصنوعی به دنیای داده ها و ابزارها ، یک زبان مشترک و استاندارد پلاگین و بازی ایجاد می کند. با ساده کردن این اتصالات ، ایمن سازی آنها ، و استاندارد سازی نحوه تبادل اطلاعات ، راه را برای دستیاران هوش مصنوعی باهوش تر ، تواناتر و واقعاً مفید در سراسر دسک تاپ ، IDES و وب هموار می کند.
منابع اضافی برای کسب اطلاعات بیشتر در مورد MCPS:
می توانید در مورد نحوه تنظیم MCP در مکان نما در اینجا بخوانید:
از خواندن شما متشکرم
من واقعاً امیدوارم که برای شما ارزشمند باشد. من در حال نوشتن پست های بیشتر از این دست هستم و روی ایده های جالب دیگری کار می کنم که به زودی از اشتراک گذاری هیجان زده ام.
من به اشتراک گذاری مطالب را ادامه می دهم که به شما در کشف ابزارهای جدید ، پروژه های منبع باز ، ابزارهای هوش مصنوعی ، تجزیه مفاهیم AI و موارد دیگر کمک می کند.
- ✅ مرا در Dev دنبال کن: srbhr – در مورد آخرین مقاله ها و آموزش های من مطلع شوید.
- ✨ مرا در GitHub دنبال کن: SRBHR – پروژه های بسیار جذاب منبع باز را که من در حال ساختن یا مشارکت در آن هستم ، کاوش کنید.
باز هم ممنون از خواندن!