پرش به محتوای اصلی
پرش به محتوای مقاله

چگونه FastMCP ابزارهای سفارشی پایتون را به مدل Claude متصل می‌کند؟

·۲۶ مرداد ۱۴۰۵۷ دقیقه مطالعه۲ بازدید
راهنما
ساخت سرور MCP با FastMCP و اتصال آن به Claude
ساخت سرور MCP با FastMCP و اتصال آن به Claude
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

استفاده از FastMCP برای حذف Boilerplate در پیاده‌سازی MCP و ترکیب آن با LocalTunnel برای دور زدن محدودیت دسترسی ابری Claude به محیط Localhost.

تصور کنید یک برنامه‌نویس بخواهد Claude را به جای یک چت‌بات ساده، به مدیر پایگاه داده محلی خود تبدیل کند تا بدون خروج از محیط چت، یادداشت‌ها را ثبت یا بازیابی کند. این سناریو اکنون با استفاده از FastMCP به واقعیت تبدیل شده است. ساخت یک پل سفارشی بین یک پایگاه داده محلی و یک دستیار هوش مصنوعی، اکنون به دلیل معرفی FastMCP به کدهای تکراری (Boilerplate) بسیار کمتری نیاز دارد.

طبق یک راهنمای فنی مفصل که در ۱۷ اوت ۲۰۲۶ منتشر شد، توسعه‌دهندگان می‌توانند توابع پایتون محلی خود را به‌عنوان ابزارهای استاندارد تعریف کنند تا Claude به‌طور خودکار آن‌ها را شناسایی و اجرا کند. این تحول در حالی رخ می‌دهد که صنعت به سمت پروتکل زمینه مدل (Model Context Protocol یا MCP) حرکت می‌کند؛ استانداردی که برای متوقف کردن تکه‌تکه شدن ابزارهای مورد استفاده در هوش مصنوعی طراحی شده است. این تغییر شبیه به حرکت از کابل‌های شارژ اختصاصی به سمت USB-C است؛ زمانی که سرور از این پروتکل پیروی کند، هر کلاینت هوش مصنوعی سازگار می‌تواند از آن استفاده کند. در همین راستا، بررسی می‌کنیم که چطور پروتکل MCP نیاز به توسعه APIهای مجزا برای داده‌ها را می‌کاهد و بهره‌وری توسعه‌دهندگان را افزایش می‌دهد.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی ناپایداری اکوسیستم Anthropic در طول حوادث مربوط به سرویس اشاره کردیم، حرکت به سمت کانکتورهای استاندارد مانند MCP با هدف ماژولارتر کردن و افزایش تاب‌آوری ادغام‌های هوش مصنوعی صورت می‌گیرد.

معماری FastMCP

هسته این سیستم، کتابخانه FastMCP است که پیچیدگی‌های پروتکل MCP را می‌پوشاند. توسعه‌دهندگان به‌جای تعریف دستی طرح‌های پیچیده JSON-RPC، از یک دکوراتور ساده به نام @mcp.tool استفاده می‌کنند تا توابع معمولی پایتون را به ابزارهایی تبدیل کنند که برای هوش مصنوعی قابل فراخوانی باشند.

برای شروع، محیط سیستم به پایتون ۳، VS Code، Node.js، npm و یک حساب Claude که از کانکتورهای سفارشی پشتیبانی می‌کند، نیاز دارد. فرآیند با ایجاد یک محیط مجازی پایتون از طریق دستور python3 -m venv venv و فعال‌سازی آن (با استفاده از source venv/bin/activate در macOS/Linux) آغاز می‌شود و سپس کتابخانه با دستور pip install fastmcp نصب می‌گردد.

در پیاده‌سازی نمایش داده شده، یک سرور یادداشت‌برداری ساده ساخته شده است که از یک لیست در حافظه (In-memory Python list) به‌عنوان یک پایگاه داده نمایشی (Mock Database) استفاده می‌کند. این سرور با دستور mcp = FastMCP("Simple Note Taker") مقداردهی شده و در ابتدا شامل دو یادداشت پیش‌فرض است: یادداشت شماره ۰ («به یاد داشته باش سرور را مستقر کنی») و یادداشت شماره ۱ («ساعت ۵ عصر سیب بخور»).

تعریف ابزارها و منطق اجرا

این سرور دو قابلیت اصلی را از طریق دکوراتور @mcp.tool ارائه می‌دهد:

  • get_notes: تابعی که در لیست یادداشت‌ها پیمایش کرده و تمام یادداشت‌های ذخیره شده را به‌صورت یک رشته متنی برمی‌گرداند. این تابع از یک حلقه برای قالب‌بندی خروجی به صورت Note #{id}: {text} استفاده می‌کند. این قابلیت به Claude اجازه می‌دهد تا تمام ورودی‌های فعلی را از پایگاه داده نمایشی بازیابی کند.
  • add_note: تابعی که یک رشته متنی را می‌پذیرد، بر اساس طول فعلی لیست یک شناسه (ID) جدید به آن اختصاص می‌دهد و ورودی را به پایگاه داده اضافه می‌کند. این تابع پیامی مانند «یادداشت شماره ۲ با موفقیت ذخیره شد» را برمی‌گرداند.

این ابزارها به هوش مصنوعی اجازه می‌دهند عملیات خواندن و نوشتن را به‌طور هم‌زمان انجام دهد. برای مثال، وقتی Claude تابع add_note را فراخوانی می‌کند، یک ID جدید تولید کرده، یادداشت را ذخیره می‌کند و ذخیره‌سازی را به کاربر تایید می‌دهد.

جزئیات فنی پیاده‌سازی

برای در دسترس قرار دادن سرور، آن را روی پورت ۸۰۰۰ و پروتکل HTTP تنظیم می‌کنند. پیکربندی در انتهای فایل main.py به این صورت است:

  • Transport: http
  • Host: 0.0.0.0
  • Port: 8000

این تنظیمات به سرور FastMCP اجازه می‌دهد تا درخواست‌های ورودی را به‌صورت محلی دریافت کند. با این حال، چون Claude یک سرویس ابری است، نمی‌تواند مستقیماً به localhost:8000 دسترسی داشته باشد. این موضوع یک شکاف ارتباطی ایجاد می‌کند که باید برای تعامل هوش مصنوعی با محیط پایتون محلی، برطرف شود.

استقرار و برقراری اتصال

به دلیل عدم دسترسی مستقیم Claude به localhost:8000 توسعه‌دهنده، در این گردش کار از LocalTunnel استفاده می‌شود. این ابزار یک تونل HTTPS امن ایجاد می‌کند و یک URL عمومی می‌سازد که به‌عنوان دروازه‌ای به ماشین محلی عمل می‌کند.

توسعه‌دهندگان LocalTunnel را به‌صورت جهانی با دستور npm install -g localtunnel نصب کرده و سپس دستور lt --port 8000 را اجرا می‌کنند. این کار یک URL عمومی HTTPS (مثلاً https://your-generated-url.loca.lt) تولید می‌کند که تا زمانی که فرآیند در حال اجرا باشد، فعال می‌ماند. در این راهنما اشاره شده است که اگرچه LocalTunnel برای توسعه و آموزش مفید است، اما محیط‌های عملیاتی (Production) به نقاط انتهایی HTTPS میزبانی شده و رسمی نیاز دارند.

برای نهایی کردن اتصال، توسعه‌دهنده در رابط کاربری Claude از مسیر Customize → Connectors → Add a custom connector اقدام می‌کند. با دادن نامی به کانکتور (مانند "Custom Todo") و اشاره دادن URL سرور راه دور به نقطه انتهایی LocalTunnel — به‌طور خاص با افزودن مسیر /mcp (مثلاً https://your-generated-url.loca.lt/mcp) — Claude به‌طور خودکار ابزارهای موجود را شناسایی می‌کند. این قابلیت در کنار امکان اتصال مستقیم به URL برای میزبانی وب، انعطاف‌پذیری Claude در تعامل با محیط‌های خارجی را به شدت افزایش داده است. پس از اینکه کاربر این ابزارها را تایید کرد، هوش مصنوعی می‌تواند توابع پایتون را بر اساس درخواست‌های زبان طبیعی فعال کند.

تست یکپارچگی

این اتصال از طریق دو مورد آزمایشی خاص در چت Claude تایید می‌شود:

  • تست بازیابی: پرسیدن «یادداشت‌هایم را نشان بده» ابزار get_notes را فعال می‌کند. Claude رشته متنی را از سرور دریافت کرده و یادداشت‌های اولیه (یادداشت ۰ و ۱) را نمایش می‌دهد.
  • تست ایجاد: پرسیدن «یک یادداشت جدید اضافه کن: تحقیق درباره احراز هویت MCP» ابزار add_note را فعال می‌کند. سرور متن را به لیست اضافه کرده و درخواست بعدی برای نمایش یادداشت‌ها، اضافه شدن یادداشت شماره ۲ را تایید می‌کند.

چرخه حیات درخواست

جریان داده‌ها مسیر مشخصی را طی می‌کند تا اطمینان حاصل شود که هوش مصنوعی ارکستراتور (هماهنگ‌کننده) باقی می‌ماند. وقتی کاربر از Claude می‌خواهد «یک یادداشت جدید اضافه کند...»، توالی زیر رخ می‌دهد:

۱. کاربر یک پرامپت به زبان طبیعی به Claude ارائه می‌دهد.
۲. Claude تشخیص می‌دهد که ابزار get_notes یا add_note مکانیسم صحیح برای پاسخ است.
۳. یک درخواست HTTPS از طریق URL LocalTunnel به سرور FastMCP ارسال می‌شود.
۴. سرور تابع پایتون مربوطه را اجرا کرده و با پایگاه داده نمایشی تعامل می‌کند.
۵. نتیجه (مثلاً لیست یادداشت‌ها) به Claude بازگردانده می‌شود.
۶. Claude رشته متنی خام را پردازش کرده و اقدام را تایید می‌کند یا داده‌ها را به کاربر نمایش می‌دهد.

مسیر حرکت به سمت تولید (Production)

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

  • PostgreSQL: برای مدیریت داده‌های رابطه‌ای و قدرتمند.
  • SQLite: برای ذخیره‌سازی سبک و فایل‌محور.
  • MongoDB: برای ذخیره‌سازی منعطف و سند-محور.

علاوه بر پایگاه داده، این راهنما هشدار می‌دهد که LocalTunnel صرفاً برای توسعه است. یک سرور MCP آماده تولید به یک دامنه HTTPS پایدار و وضعیت امنیتی سخت‌گیرانه‌تر نیاز دارد. ملاحظات کلیدی برای محیط عملیاتی عبارتند از:

  • امنیت: افزودن لایه‌های احراز هویت (Authentication) و مجوزدهی (Authorization) برای جلوگیری از دسترسی‌های غیرمجاز.
  • اعتبارسنجی: پیاده‌سازی اعتبارسنجی سخت‌گیرانه ورودی‌ها برای جلوگیری از اجرای دستورات ناخواسته یا مخرب توسط هوش مصنوعی.
  • پایداری: افزودن سیستم‌های ثبت وقایع (Logging)، مانیتورینگ و مدیریت صحیح خطاها.
  • کنترل ترافیک: پیاده‌سازی محدودیت نرخ درخواست (Rate Limiting) برای محافظت از سرور در برابر فشار بیش از حد.
  • حفاظت از داده‌ها: محافظت از داده‌های حساس و محدود کردن دسترسی به ابزارهای پرخطر.

این تغییر در رویکرد به این معناست که توسعه‌دهندگان دیگر نیازی به ساخت رابط‌های API پیچیده برای هر ویژگی جدید هوش مصنوعی ندارند. با تمرکز بر تعریف ابزار به‌جای لایه انتقال، سد ورود به جریان‌های کاری عامل‌محور (Agentic) — جایی که هوش مصنوعی وضعیت و داده‌ها را مدیریت می‌کند — به‌شدت کاهش می‌یابد. توسعه‌دهندگان می‌توانند سرورهای خود را با افزودن ابزارهای پیچیده‌تر مانند update_note (به‌روزرسانی)، delete_note (حذف) یا search_notes (جستجو) گسترش دهند تا یک سیستم مدیریت کامل مبتنی بر هوش مصنوعی بسازند.

برای بررسی بیشتر، توسعه‌دهندگان باید با ساخت یک سرور تک-ابزاری برای یک API داخلی خاص شروع کنند و آن را از طریق رابط کانکتور سفارشی Claude تست نمایند.

گام بعدی شما

  • یک سرور تک-ابزاری برای یکی از APIهای داخلی خود بسازید و آن را از طریق رابط کانکتور Claude تست کنید.
  • برای تبدیل سیستم به حالت دائمی، اتصال FastMCP را به یک پایگاه داده SQLite جایگزین لیست‌های حافظه کنید.
  • لایه‌های احراز هویت ساده را به تونل خود اضافه کنید تا امنیت دسترسی به توابع محلی تامین شود.

اما داستان سخت‌افزاری این تحول و نحوه اجرای محلی این مدل‌ها حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی حافظه ۲۴ گیگابایتی برای اجرای Qwen مراجعه کنید.

چرا این موضوع مهم است؟

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

تأثیر برای ایران

توسعه‌دهندگان ایرانی می‌توانند با این روش بدون نیاز به سرورهای گران‌قیمت ابری، ابزارهای محلی خود را به Claude متصل کنند؛ هرچند دسترسی به APIهای Anthropic همچنان نیازمند ابزارهای تغییر IP است.

·نگاه ما
تحریریه دات‌هوش

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

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

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

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.