ساخت MCP Server با پایتون یکی از نوین‌ترین مهارت‌هایی است که یک توسعه‌دهنده هوش مصنوعی در سال ۲۰۲۶ باید به آن مسلط باشد. پروتکل کانتکست مدل یا همان $Model Context Protocol$، استانداردی باز است که به مدل‌های زبانی بزرگ ($LLM$) اجازه می‌دهد به شکلی امن و پایدار به منابع داده‌ای محلی و ابزارهای خارجی متصل شوند. با استفاده از این تکنولوژی، دیگر نیازی نیست برای هر ابزار یک رابط کاربری جداگانه بنویسید؛ بلکه هوش مصنوعی مستقیماً به دیتابیس، فایل‌ها یا سرویس‌های شما دسترسی پیدا می‌کند. در این مقاله از سایت کدیتی، گام‌به‌گام یاد می‌گیریم چگونه یک سرور اختصاصی با این پروتکل بر پایه پایتون بنا کنیم.

مفهوم و معماری پروتکل کانتکست مدل

پیش از شروع کدنویسی، باید درک کنیم که این پروتکل چگونه کار می‌کند. در معماری $MCP$، ما سه ضلع اصلی داریم: میزبان ($Host$) که معمولاً یک اپلیکیشن هوش مصنوعی است، کلاینت که واسط ارتباطی است و در نهایت سرور که منابع را مدیریت می‌کند. ساخت MCP Server با پایتون در واقع ایجاد همان بخش سوم است که وظیفه دارد داده‌ها را استخراج کرده و در قالب ابزارهای قابل فهم ($Tools$) یا منابع ($Resources$) به مدل هوش مصنوعی تحویل دهد. این ساختار باعث می‌شود هوش مصنوعی فراتر از دانش عمومی خود، به داده‌های اختصاصی و لحظه‌ای پروژه شما دسترسی داشته باشد.

پیش‌نیازها و نصب کتابخانه‌های مورد نیاز

برای شروع پروژه، ابتدا باید محیط پایتون خود را آماده کنید. گوگل و سایر توسعه‌دهندگان این پروتکل، کتابخانه‌های استانداردی را برای پایتون ارائه داده‌اند که فرآیند اتصال را بسیار ساده می‌کند. شما به پایتون نسخه ۳.۱۰ یا بالاتر نیاز دارید. اولین قدم، نصب کیت توسعه نرم‌افزاری مخصوص این پروتکل است. با نصب این بسته، تمام ابزارهای لازم برای مدیریت پیام‌های ورودی و خروجی بین مدل و سرور در اختیار شما قرار می‌گیرد تا بتوانید بدون درگیر شدن با لایه‌های زیرین شبکه، روی منطق برنامه خود تمرکز کنید.

Python

pip install mcp

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

هسته اصلی در ساخت MCP Server با پایتون، تعریف دقیق “ابزارها” است. ابزارها در واقع توابعی هستند که هوش مصنوعی می‌تواند آن‌ها را فراخوانی کند. برای مثال، اگر می‌خواهید هوش مصنوعی بتواند وضعیت آب‌وهوا را چک کند یا یک کوئری در دیتابیس بزند، باید این عملیات را به عنوان یک $Tool$ تعریف کنید. در پایتون، این کار با استفاده از دکوراتورهای مخصوص انجام می‌شود. شما نام ابزار، توضیحات (که مدل از آن برای فهمیدن کاربرد ابزار استفاده می‌کند) و پارامترهای ورودی را مشخص می‌کنید. هر چه توضیحات متنی شما دقیق‌تر باشد، هوش مصنوعی هوشمندانه‌تر از آن ابزار استفاده خواهد کرد.

پیاده‌سازی منطق سرور و مدیریت درخواست‌ها

پس از تعریف ابزارها، نوبت به مدیریت جریان داده می‌رسد. سرور شما باید بتواند درخواست‌های ارسال شده از سمت کلاینت را دریافت کرده، پردازش انجام دهد و پاسخ را در قالب استانداردهای $JSON-RPC$ برگرداند. خوشبختانه پایتون به دلیل داشتن ساختار ناهمگام ($Asynchronous$)، بهترین گزینه برای این کار است. استفاده از asyncio در ساخت MCP Server با پایتون به شما اجازه می‌دهد تا چندین درخواست همزمان را مدیریت کنید بدون اینکه سرور دچار وقفه شود. این موضوع به خصوص در پروژه‌هایی که با دیتابیس‌های سنگین سرور و کار دارند، بسیار حیاتی است.

Python

from mcp.server.fastmcp import FastMCP

# ایجاد یک سرور جدید
mcp = FastMCP("Codity Server")

@mcp.tool()
async def calculate_logic(n: int) -> str:
    """انجام محاسبات اختصاصی روی اعداد"""
    return f"نتیجه پردازش: {n * 2}"

اتصال سرور به اپلیکیشن‌های هوش مصنوعی

بعد از اینکه کد سرور را نوشتید، باید آن را به یک میزبان متصل کنید. اپلیکیشن‌هایی مثل Claude Desktop یا محیط‌های توسعه هوشمند، از جمله اولین میزبان‌هایی هستند که از این پروتکل پشتیبانی می‌کنند. برای این کار کافی است مسیر اجرای فایل پایتون خود را در تنظیمات کلاینت وارد کنید. در این مرحله، هوش مصنوعی متوجه می‌شود که ابزارهای جدیدی در اختیار دارد. ساخت MCP Server با پایتون به شما این قدرت را می‌دهد که به عنوان مثال، به چت‌بات خود اجازه دهید کدهای پروژه شما را بخواند، آن‌ها را اصلاح کند و مستقیماً در فایل‌های محلی ذخیره نماید.

امنیت و محدودسازی دسترسی‌ها در MCP

یکی از چالش‌های مهم در بحث اتصال هوش مصنوعی به منابع محلی، امنیت داده‌هاست. زمانی که اقدام به ساخت MCP Server با پایتون می‌کنید، باید به شدت مراقب دسترسی‌هایی که به مدل می‌دهید باشید. همیشه از اصل “کمترین دسترسی” پیروی کنید. یعنی اگر مدل فقط نیاز به خواندن فایل دارد، به او اجازه نوشتن یا حذف کردن ندهید. پایتون ابزارهای فوق‌العاده‌ای برای اعتبارسنجی ورودی‌ها دارد. قبل از اجرای هر دستوری که توسط مدل ارسال شده، حتماً پارامترها را بررسی کنید تا از حملات تزریق کد ($Code Injection$) جلوگیری شود.

دیباگ کردن و رفع خطاهای سرور

فرآیند عیب‌یابی در پروتکل‌های ارتباطی می‌تواند کمی پیچیده باشد چون شما مستقیماً خروجی را در کنسول نمی‌بینید و همه چیز در پس‌زمینه اتفاق می‌افتد. برای موفقیت در ساخت MCP Server با پایتون، استفاده از سیستم لاگ‌نویسی ($Logging$) الزامی است. شما باید تمام پیام‌های رد و بدل شده را در یک فایل ذخیره کنید تا در صورت بروز خطا، متوجه شوید که مشکل از سمت فرمت پیام بوده یا منطق کد پایتون شما ایراد داشته است. ابزارهای بازرسی ($Inspector$) مخصوص $MCP$ نیز وجود دارند که به شما اجازه می‌دهند ابزارهای خود را قبل از اتصال نهایی، به صورت مجزا تست کنید.

جمع‌بندی و آینده توسعه با MCP

در این راهنما آموختیم که چگونه با بهره‌گیری از قدرت پایتون، یک پل ارتباطی میان هوش مصنوعی و دنیای واقعی بسازیم. ساخت MCP Server با پایتون نه تنها بهره‌وری شما را افزایش می‌دهد، بلکه باعث می‌شود اپلیکیشن‌هایی بسازید که واقعاً “هوشمند” هستند و به داده‌های زنده دسترسی دارند. این پروتکل به سرعت در حال تبدیل شدن به استاندارد جهانی است و تسلط بر آن، شما را در صف اول توسعه‌دهندگان عصر جدید قرار می‌دهد. ما در کدیتی مفتخریم که جدیدترین متدهای دنیای برنامه نویسی را با زبانی ساده در اختیار شما قرار می‌دهیم.