Skip to content

Latest commit

 

History

History
275 lines (179 loc) · 18.5 KB

File metadata and controls

275 lines (179 loc) · 18.5 KB

پیاده‌سازی عملی

پیاده‌سازی عملی جایی است که قدرت پروتکل مدل کانتکست (MCP) ملموس می‌شود. در حالی که درک نظریه و معماری پشت MCP اهمیت دارد، ارزش واقعی زمانی ظاهر می‌شود که این مفاهیم را برای ساخت، آزمایش و استقرار راه‌حل‌هایی که مشکلات دنیای واقعی را حل می‌کنند، به کار ببرید. این فصل فاصله بین دانش مفهومی و توسعه عملی را پر می‌کند و شما را در فرآیند زنده کردن برنامه‌های مبتنی بر MCP راهنمایی می‌کند.

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

در بخش‌های بعدی، نمونه‌های عملی، کد نمونه و استراتژی‌های استقرار را خواهید دید که نشان می‌دهد چگونه MCP را در C#، Java، TypeScript، JavaScript و Python پیاده‌سازی کنید. همچنین یاد خواهید گرفت چگونه سرورهای MCP خود را اشکال‌زدایی و آزمایش کنید، APIها را مدیریت کنید و راه‌حل‌ها را با استفاده از Azure به ابر منتقل کنید. این منابع عملی طراحی شده‌اند تا یادگیری شما را تسریع کرده و به شما کمک کنند با اطمینان برنامه‌های MCP مقاوم و آماده تولید بسازید.

مرور کلی

این درس بر جنبه‌های عملی پیاده‌سازی MCP در چند زبان برنامه‌نویسی تمرکز دارد. ما بررسی خواهیم کرد چگونه از SDKهای MCP در C#، Java، TypeScript، JavaScript و Python برای ساخت برنامه‌های مقاوم، اشکال‌زدایی و آزمایش سرورهای MCP و ایجاد منابع، پرامپت‌ها و ابزارهای قابل استفاده مجدد استفاده کنیم.

اهداف یادگیری

در پایان این درس، قادر خواهید بود:

  • پیاده‌سازی راه‌حل‌های MCP با استفاده از SDKهای رسمی در زبان‌های برنامه‌نویسی مختلف
  • اشکال‌زدایی و آزمایش سیستماتیک سرورهای MCP
  • ایجاد و استفاده از ویژگی‌های سرور (منابع، پرامپت‌ها و ابزارها)
  • طراحی گردش‌های کاری موثر MCP برای وظایف پیچیده
  • بهینه‌سازی پیاده‌سازی‌های MCP برای عملکرد و قابلیت اطمینان

منابع SDK رسمی

پروتکل مدل کانتکست SDKهای رسمی برای چند زبان ارائه می‌دهد:

کار با SDKهای MCP

این بخش نمونه‌های عملی از پیاده‌سازی MCP در چند زبان برنامه‌نویسی را ارائه می‌دهد. می‌توانید کد نمونه را در دایرکتوری samples که بر اساس زبان سازمان‌دهی شده است، پیدا کنید.

نمونه‌های موجود

مخزن شامل نمونه‌های پیاده‌سازی در زبان‌های زیر است:

هر نمونه مفاهیم کلیدی MCP و الگوهای پیاده‌سازی مربوط به آن زبان و اکوسیستم را نشان می‌دهد.

ویژگی‌های اصلی سرور

سرورهای MCP می‌توانند هر ترکیبی از این ویژگی‌ها را پیاده‌سازی کنند:

منابع

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

  • مخازن اسناد
  • پایگاه‌های دانش
  • منابع داده ساخت‌یافته
  • سیستم‌های فایل

پرامپت‌ها

پرامپت‌ها پیام‌ها و گردش‌های کاری قالب‌بندی شده برای کاربران هستند:

  • قالب‌های مکالمه از پیش تعریف شده
  • الگوهای تعامل راهنمایی شده
  • ساختارهای گفتگوی تخصصی

ابزارها

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

  • ابزارهای پردازش داده
  • ادغام‌های API خارجی
  • قابلیت‌های محاسباتی
  • قابلیت جستجو

نمونه‌های پیاده‌سازی: C#

مخزن SDK رسمی C# شامل چندین نمونه پیاده‌سازی است که جنبه‌های مختلف MCP را نشان می‌دهند:

  • کلاینت MCP ساده: نمونه‌ای ساده که نشان می‌دهد چگونه یک کلاینت MCP ایجاد کرده و ابزارها را فراخوانی کنید
  • سرور MCP پایه: پیاده‌سازی حداقلی سرور با ثبت ابزارهای پایه
  • سرور MCP پیشرفته: سرور کامل با ثبت ابزار، احراز هویت و مدیریت خطا
  • ادغام ASP.NET: نمونه‌هایی که ادغام با ASP.NET Core را نشان می‌دهند
  • الگوهای پیاده‌سازی ابزار: الگوهای مختلف برای پیاده‌سازی ابزارها با سطوح پیچیدگی متفاوت

SDK C# MCP در حالت پیش‌نمایش است و APIها ممکن است تغییر کنند. ما به‌طور مداوم این بلاگ را با تکامل SDK به‌روزرسانی خواهیم کرد.

ویژگی‌های کلیدی

برای نمونه‌های کامل پیاده‌سازی C# به مخزن نمونه‌های رسمی C# SDK مراجعه کنید.

نمونه پیاده‌سازی: پیاده‌سازی Java

SDK جاوا گزینه‌های قدرتمندی برای پیاده‌سازی MCP با ویژگی‌های سطح سازمانی ارائه می‌دهد.

ویژگی‌های کلیدی

  • ادغام با Spring Framework
  • ایمنی نوع قوی
  • پشتیبانی از برنامه‌نویسی واکنشی
  • مدیریت جامع خطا

برای نمونه کامل پیاده‌سازی Java، به نمونه Java در دایرکتوری نمونه‌ها مراجعه کنید.

نمونه پیاده‌سازی: پیاده‌سازی JavaScript

SDK جاوااسکریپت رویکردی سبک‌وزن و انعطاف‌پذیر برای پیاده‌سازی MCP ارائه می‌دهد.

ویژگی‌های کلیدی

  • پشتیبانی از Node.js و مرورگر
  • API مبتنی بر Promise
  • ادغام آسان با Express و فریم‌ورک‌های دیگر
  • پشتیبانی از WebSocket برای استریم

برای نمونه کامل پیاده‌سازی JavaScript، به نمونه JavaScript در دایرکتوری نمونه‌ها مراجعه کنید.

نمونه پیاده‌سازی: پیاده‌سازی Python

SDK پایتون رویکردی پایتونیک به پیاده‌سازی MCP با ادغام عالی با فریم‌ورک‌های ML ارائه می‌دهد.

ویژگی‌های کلیدی

  • پشتیبانی از async/await با asyncio
  • ادغام با Flask و FastAPI
  • ثبت ساده ابزار
  • ادغام بومی با کتابخانه‌های محبوب ML

برای نمونه کامل پیاده‌سازی Python، به نمونه Python در دایرکتوری نمونه‌ها مراجعه کنید.

مدیریت API

مدیریت API در Azure پاسخ خوبی به این سوال است که چگونه می‌توان سرورهای MCP را ایمن کرد. ایده این است که یک نمونه Azure API Management را جلوی سرور MCP خود قرار دهید و اجازه دهید ویژگی‌هایی که احتمالاً نیاز دارید مانند:

  • محدودیت نرخ
  • مدیریت توکن
  • نظارت
  • تعادل بار
  • امنیت

را مدیریت کند.

نمونه Azure

در اینجا یک نمونه Azure وجود دارد که دقیقاً همین کار را انجام می‌دهد، یعنی ایجاد یک سرور MCP و ایمن‌سازی آن با Azure API Management.

نحوه جریان احراز هویت را در تصویر زیر ببینید:

APIM-MCP

در تصویر بالا، موارد زیر اتفاق می‌افتد:

  • احراز هویت/مجوز با استفاده از Microsoft Entra انجام می‌شود.
  • Azure API Management به عنوان دروازه عمل می‌کند و با استفاده از سیاست‌ها ترافیک را هدایت و مدیریت می‌کند.
  • Azure Monitor تمام درخواست‌ها را برای تحلیل‌های بعدی ثبت می‌کند.

جریان احراز هویت

بیایید نگاهی دقیق‌تر به جریان احراز هویت بیندازیم:

Sequence Diagram

مشخصات احراز هویت MCP

برای اطلاعات بیشتر درباره مشخصات احراز هویت MCP مطالعه کنید.

استقرار سرور MCP از راه دور در Azure

بیایید ببینیم آیا می‌توانیم نمونه‌ای که قبلاً ذکر کردیم را مستقر کنیم:

  1. مخزن را کلون کنید

    git clone https://github.com/Azure-Samples/remote-mcp-apim-functions-python.git
    cd remote-mcp-apim-functions-python
  2. ثبت Microsoft.App را انجام دهید و پس از مدتی با دستور زیر بررسی کنید که ثبت کامل شده است یا خیر:

    ` resource provider.

    • If you are using Azure CLI, run az provider register --namespace Microsoft.App --wait.
    • If you are using Azure PowerShell, run Register-AzResourceProvider -ProviderNamespace Microsoft.App. Then run `(Get-AzResourceProvider -ProviderNamespace Microsoft.App).RegistrationState
  3. این دستور azd را اجرا کنید تا سرویس مدیریت API، برنامه تابع (با کد) و سایر منابع مورد نیاز Azure را فراهم کند:

    azd up

    این دستور باید تمام منابع ابری را در Azure مستقر کند.

آزمایش سرور خود با MCP Inspector

  1. در یک پنجره ترمینال جدید، MCP Inspector را نصب و اجرا کنید

    npx @modelcontextprotocol/inspector

    باید رابطی مشابه زیر مشاهده کنید:

    Connect to Node inspector

  2. با کلیک همزمان CTRL، برنامه وب MCP Inspector را از URL نمایش داده شده توسط برنامه باز کنید (مثلاً http://127.0.0.1:6274/#resources)

  3. نوع انتقال را به SSE تنظیم کنید و اتصال را بزنید:

    https://<apim-servicename-from-azd-output>.azure-api.net/mcp/sse
  4. فهرست ابزارها. روی یک ابزار کلیک کنید و اجرای ابزار را انتخاب کنید.

اگر همه مراحل به درستی انجام شده باشد، اکنون به سرور MCP متصل شده‌اید و توانسته‌اید یک ابزار را فراخوانی کنید.

سرورهای MCP برای Azure

Remote-mcp-functions: این مجموعه مخازن قالب شروع سریع برای ساخت و استقرار سرورهای سفارشی از راه دور MCP (پروتکل مدل کانتکست) با استفاده از Azure Functions با Python، C# .NET یا Node/TypeScript است.

نمونه‌ها راه‌حلی کامل ارائه می‌دهند که به توسعه‌دهندگان امکان می‌دهد:

  • ساخت و اجرای محلی: توسعه و اشکال‌زدایی سرور MCP روی ماشین محلی
  • استقرار در Azure: به راحتی با یک دستور azd up به ابر استقرار دهید
  • اتصال از کلاینت‌ها: اتصال به سرور MCP از کلاینت‌های مختلف از جمله حالت عامل Copilot در VS Code و ابزار MCP Inspector

ویژگی‌های کلیدی:

  • امنیت از ابتدا: سرور MCP با استفاده از کلیدها و HTTPS ایمن شده است
  • گزینه‌های احراز هویت: پشتیبانی از OAuth با احراز هویت داخلی و/یا مدیریت API
  • جداسازی شبکه: امکان جداسازی شبکه با استفاده از شبکه‌های مجازی Azure (VNET)
  • معماری بدون سرور: استفاده از Azure Functions برای اجرای مقیاس‌پذیر و رویدادمحور
  • توسعه محلی: پشتیبانی جامع از توسعه و اشکال‌زدایی محلی
  • استقرار ساده: فرآیند استقرار ساده به Azure

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

نکات کلیدی

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

تمرین

یک گردش کاری عملی MCP طراحی کنید که یک مشکل واقعی در حوزه کاری شما را حل کند:

  1. 3 تا 4 ابزار که برای حل این مشکل مفید هستند را شناسایی کنید
  2. نمودار گردش کاری بسازید که نشان دهد این ابزارها چگونه با هم تعامل دارند
  3. یک نسخه پایه از یکی از ابزارها را با زبان دلخواه خود پیاده‌سازی کنید
  4. قالب پرامپتی ایجاد کنید که به مدل کمک کند به طور موثر از ابزار شما استفاده کند

منابع اضافی


بعدی: موضوعات پیشرفته

سلب مسئولیت:
این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما برای دقت تلاش می‌کنیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، استفاده از ترجمه حرفه‌ای انسانی توصیه می‌شود. ما در قبال هرگونه سوءتفاهم یا تفسیر نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.