دسترسی دستیارهای هوش مصنوعی به واتساپ با سرور MCP روی کلودفلر — Show HN: WhatsApp MCP running free on Cloudflare
خلاصه
پروژه متنباز whatsapp-mcp با پیادهسازی پروتکل MCP بر بستر Cloudflare Workers، به دستیارهای هوش مصنوعی مانند Claude اجازه میدهد پیامهای شخصی واتساپ را بخوانند و جستوجو کنند؛ رویکردی سبک که نیازی به سرور اختصاصی یا حساب تجاری واتساپ ندارد.
در یک نگاه
- نام مخزن:
finereli/whatsapp-mcp(توسعهیافته توسط کاربری با نام finereli) - زبان اصلی: TypeScript
- مجوز: MIT
- فناوریهای کلیدی: Cloudflare Workers ،Durable Objects ،SQLite با موتور FTS5 و کتابخانه Baileys
- هدف اصلی: ایجاد سرور فقطخواندنی (Read-only) با پروتکل MCP جهت جستوجو و خواندن چتهای شخصی واتساپ توسط ایجنتهای هوش مصنوعی
ماجرا چیست و چه مشکلی را حل میکند؟
با گسترش پروتکل MCP (کوتاهشدهی Model Context Protocol)، تقاضا برای متصل کردن ایجنتهای هوش مصنوعی مانند Claude Desktop و Claude Code به ابزارهای روزمره بهشدت افزایش یافته است. با این حال، واتساپ هیچ API رسمی و رایگانی برای خواندن چتهای حسابهای شخصی ارائه نمیدهد. راهکارهای موجود یا نیازمند استفاده از WhatsApp Business API هستند یا کاربر را مجبور میکنند یک سرور اختصاصی (مانند VPS) را برای اجرای دائمی کتابخانههای شبیهساز WhatsApp Web نگه دارند.
توسعهدهندهای با نام finereli برای رفع این چالش، پروژهای به نام whatsapp-mcp طراحی کرده است تا بتوان این پل ارتباطی را روی زیرساخت سرورلس Cloudflare برپا کرد؛ بهطوریکه ایجنت بتواند سوالاتی نظیر «خلاصه پیامهای گروه خانواده در این هفته چیست؟» یا «آیا کسی درباره اجارهنامه پیامی داده است؟» را روی پیامهای شخصی کاربر جستوجو و پاسخ دهد.
معماری فنی: اتصال موقت و پایگاه داده محلی
اجرای واتساپ وب روی محیط سرورلس کار سادهای نیست، زیرا واتساپ به نگهداری نشست (Session) و دریافت مداوم پیامها نیاز دارد. این پروژه با چند ترفند مهندسی هوشمندانه پیادهسازی شده است:
- استفاده از Durable Objects: کلیدهای احراز هویت، پیامها و فهرست مخاطبان درون قابلیت Durable Objects شرکت Cloudflare ذخیره میشوند. در این ساختار از SQLite توکار همراه با ایندکس جستوجوی متنی FTS5 استفاده شده است.
- پورت کردن Baileys به محیط Worker: کتابخانه مشهور Baileys (که پروتکل وب واتساپ را بازپیادهسازی میکند) بر مبنای Node.js نوشته شده است. نویسنده با استفاده از پلیفیلهای WebSocket و ماژولهای شبیهساز، آن را برای موتور
workerdکلودفلر بازنویسی کرده است. - عدم اتصال دائمی (Polling هوشمند): سرور اتصال دائمی به واتساپ برقرار نمیکند تا سقف منابع سرورلس مصرف نشود. این سرویس صرفاً هنگام درخواست ایجنت یا یکبار در روز پیامهای صفکشیده در واتساپ را دریافت کرده، در دیتابیس SQLite ثبت میکند و سپس سوکت را میبندد.
حل چالش شناسایی مخاطبان بدون نقض حریم خصوصی
پروتکل واتساپ وب در بسیاری از مواقع صرفاً شماره تلفن چتها را بدون نام ذخیرهشده ارسال میکند. اگر سرور بخواهد خودش به Google Contacts متصل شود، به پروژه ابری و مجوزهای دسترسی پیچیده نیاز دارد. راهکار پروژه واگذاری این وظیفه به خود ایجنت هوش مصنوعی است؛ ایجنت از طریق ابزار unnamed_chats شمارهها را دریافت کرده، آنها را با دفترچه تلفنی که پیشتر به آن دسترسی دارد تطبیق میدهد و سپس نامها را با فراخوانی set_contact_names در سرور واتساپ ثبت میکند.
نحوه راهاندازی و استفاده
این پروژه برای نصب تککاربره طراحی شده است. مراحل کلی راهاندازی آن به شرح زیر است:
git clone https://github.com/finereli/whatsapp-mcp
cd whatsapp-mcp
npm install
# ایجاد فضای ذخیرهسازی برای توکنها
npx wrangler kv namespace create OAUTH_KV
# تعیین گذرواژه برای پنل اتصال
npx wrangler secret put OWNER_PASSWORD
# استقرار روی کلودفلر
npm run deploy
پس از استقرار، کاربر وارد آدرس ارائهشده توسط کلودفلر میشود و درست مثل WhatsApp Web، کد QR را با گوشی خود اسکن میکند. در ادامه میتوان آن را در Claude Code متصل کرد:
claude mcp add --transport http whatsapp https://your-worker-url/mcp
نکته مهم: برای درونریزی حجم عظیمی از تاریخچه پیامها، محدودیت پردازنده در پلن رایگان کلودفلر ممکن است کافی نباشد و اجرای پایدار آن نیازمند پلن پرداختی (Workers Paid) است.
بازخورد جامعه هکرنیوز و ریسکها
انتشار این ابزار در Hacker News با استقبال از معماری ظریف آن روبهرو شد، اما بحثهای فنی و انتقادی جدی نیز به همراه داشت:
- خطر مسدود شدن حساب (Ban): استفاده از کتابخانههای غیررسمی مانند Baileys و whatsmeow ریسک نقض قوانین متا و بن شدن حساب شخصی را به همراه دارد؛ امری که برای کاربرانی که کل ارتباطات روزمره آنها روی واتساپ است خطرناک خواهد بود.
- نقض حریم خصوصی طرف مقابل: یکی از پررنگترین انتقادات کاربران این بود که ارسال چتهای خصوصی به سرورهای ابری ارائهدهندگان مدلهای هوش مصنوعی (مانند Anthropic یا OpenAI)، به معنای نقض حریم خصوصی مخاطبانی است که هرگز رضایتی برای پردازش صحبتهایشان توسط LLM ندادهاند.
- تمرکزگرایی و ذخیره در کلودفلر: اگرچه پیامها در پایگاه داده مستقل کاربر در DO ذخیره میشوند، اما برخی مهندسان نسبت به قرار گرفتن کل سوابق پیامرسان در زیرساختهای Cloudflare ابراز نگرانی کردهاند.
این مطلب بهصورت کاملاً خودکار و با هوش مصنوعی از مقالهٔ اصلی و بحث هکرنیوز تهیه شده و ممکن است خطا داشته باشد. حقوق مطلب اصلی متعلق به نویسندهٔ آن است. قوانین و گزارش مشکل