# پیاده‌سازی پایتون پروتکل مدل کانتکست (MCP) این مخزن شامل پیاده‌سازی پایتون پروتکل مدل کانتکست (MCP) است که نشان می‌دهد چگونه می‌توان یک برنامه سرور و کلاینت ایجاد کرد که با استفاده از استاندارد MCP با هم ارتباط برقرار کنند. ## مرور کلی پیاده‌سازی MCP از دو بخش اصلی تشکیل شده است: 1. **سرور MCP (`server.py`)** - سروری که ارائه می‌دهد: - **ابزارها**: توابعی که می‌توان به صورت ریموت فراخوانی کرد - **منابع**: داده‌هایی که می‌توان دریافت کرد - **پرومپت‌ها**: قالب‌هایی برای تولید پرومپت برای مدل‌های زبانی 2. **کلاینت MCP (`client.py`)** - برنامه کلاینتی که به سرور متصل می‌شود و از امکانات آن استفاده می‌کند ## ویژگی‌ها این پیاده‌سازی چند ویژگی کلیدی MCP را نشان می‌دهد: ### ابزارها - `completion` - تولید تکمیل متن از مدل‌های هوش مصنوعی (شبیه‌سازی شده) - `add` - ماشین حساب ساده که دو عدد را جمع می‌کند ### منابع - `models://` - اطلاعاتی درباره مدل‌های هوش مصنوعی موجود برمی‌گرداند - `greeting://{name}` - یک پیام خوش‌آمدگویی شخصی‌سازی شده برای نام داده شده برمی‌گرداند ### پرومپت‌ها - `review_code` - پرومپتی برای بازبینی کد تولید می‌کند ## نصب برای استفاده از این پیاده‌سازی MCP، بسته‌های مورد نیاز را نصب کنید: ```powershell pip install mcp-server mcp-client ``` ## اجرای سرور و کلاینت ### راه‌اندازی سرور سرور را در یک پنجره ترمینال اجرا کنید: ```powershell python server.py ``` همچنین می‌توان سرور را در حالت توسعه با استفاده از MCP CLI اجرا کرد: ```powershell mcp dev server.py ``` یا در صورت موجود بودن، در Claude Desktop نصب کرد: ```powershell mcp install server.py ``` ### اجرای کلاینت کلاینت را در پنجره ترمینال دیگری اجرا کنید: ```powershell python client.py ``` این کار به سرور متصل می‌شود و تمام ویژگی‌های موجود را نشان می‌دهد. ### استفاده از کلاینت کلاینت (`client.py`) تمام قابلیت‌های MCP را نشان می‌دهد: ```powershell python client.py ``` این اتصال به سرور را برقرار می‌کند و تمام ویژگی‌ها از جمله ابزارها، منابع و پرومپت‌ها را به کار می‌گیرد. خروجی موارد زیر را نمایش می‌دهد: 1. نتیجه ابزار ماشین حساب (۵ + ۷ = ۱۲) 2. پاسخ ابزار تکمیل به "معنای زندگی چیست؟" 3. فهرست مدل‌های هوش مصنوعی موجود 4. پیام خوش‌آمدگویی شخصی‌سازی شده برای "MCP Explorer" 5. قالب پرومپت بازبینی کد ## جزئیات پیاده‌سازی سرور با استفاده از API `FastMCP` پیاده‌سازی شده است که انتزاعات سطح بالا برای تعریف سرویس‌های MCP فراهم می‌کند. در اینجا یک مثال ساده از نحوه تعریف ابزارها آمده است: ```python @mcp.tool() def add(a: int, b: int) -> int: """Add two numbers together Args: a: First number b: Second number Returns: The sum of the two numbers """ logger.info(f"Adding {a} and {b}") return a + b ``` کلاینت از کتابخانه کلاینت MCP برای اتصال و فراخوانی سرور استفاده می‌کند: ```python async with stdio_client(server_params) as (reader, writer): async with ClientSession(reader, writer) as session: await session.initialize() result = await session.call_tool("add", arguments={"a": 5, "b": 7}) ``` ## اطلاعات بیشتر برای اطلاعات بیشتر درباره MCP، به آدرس زیر مراجعه کنید: https://modelcontextprotocol.io/ **سلب مسئولیت**: این سند با استفاده از سرویس ترجمه هوش مصنوعی [Co-op Translator](https://github.com/Azure/co-op-translator) ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است حاوی خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان بومی خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما مسئول هیچ گونه سوءتفاهم یا تفسیر نادرستی که از استفاده این ترجمه ناشی شود، نیستیم.