
whatsapp-mcp hufanya nini
whatsapp-mcp ni seva ndogo inayomruhusu wakala wa AI anayeoana na MCP kusoma na kutafuta ujumbe wako wa WhatsApp. Huendesha katika akaunti yako mwenyewe ya Cloudflare na kuunganishwa na simu yako kama kifaa kilichounganishwa kwa mtindo wa WhatsApp Web.
Baada ya usanidi wa awali, wateja kama Claude Code, Claude Desktop, au programu nyingine za MCP wanaweza kujibu maswali kama:
- Dana alisema nini kuhusu safari za ndege?
- Tafuta kila ujumbe unaotaja mkataba wa upangaji katika gumzo zote.
- Fanya muhtasari wa nilichokosa katika kikundi cha familia wiki hii.
Seva imeundwa kuwa ya kusoma pekee: inaweza kukusanya, kutafuta na kuonyesha ujumbe, lakini haiwezi kutuma ujumbe wa WhatsApp.
Jinsi mfumo unavyofanya kazi
Simu yako ndiyo chanzo kikuu cha ukweli. Usambazaji wa Cloudflare hufanya kazi kama kifaa kilichounganishwa na huunganisha WhatsApp inapohitaji tu kusawazisha data au unapooanisha akaunti.
Wakala anapoomba taarifa, seva huchukua masasisho yaliyowekwa kwenye foleni kutoka WhatsApp ikiwa nakala yake iliyohifadhiwa ina zaidi ya dakika kumi. Uvutaji uliopangwa pia huendeshwa mara moja kwa siku. Baada ya kukusanya ujumbe, seva hujiondoa tena. Simu yako huendelea kufanya kazi kawaida na kuendelea kupokea arifa.
Ujumbe huhifadhiwa katika hifadhidata ya SQLite ndani ya Cloudflare Durable Object katika akaunti yako. Seva haitumi historia ya ujumbe wako kwenye huduma ya nje ya kuhifadhi data.
Mahitaji ya awali
Kabla ya kusakinisha, tayarisha yafuatayo:
- Akaunti ya Cloudflare yenye mpango wa Workers Paid.
- Node.js 20 au toleo jipya zaidi.
- Simu yenye akaunti ya WhatsApp unayotaka kuunganisha.
- Mteja wa MCP, kama Claude Code au Claude Desktop.
Mpango wa Workers unaolipiwa ni muhimu kwa sababu kuleta historia kubwa ya WhatsApp kunaweza kuzidi kikomo chaguo-msingi cha CPU. Hifadhi hii huongeza kikomo hicho katika wrangler.jsonc, na Cloudflare huhitaji mpango unaolipiwa kwa kikomo cha juu zaidi.
Sakinisha na usambaze
Clone hifadhi, sakinisha utegemezi wake, tengeneza nafasi ya lazima ya KV, hifadhi nenosiri la mmiliki, kisha usambaze Worker:
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 deployNenosiri lazima liwe na angalau vibambo 12. Usambazaji utakapokamilika, Wrangler itaonyesha URL inayofanana na https://whatsapp-mcp.your-name.workers.dev. Fungua URL hiyo ili kuendelea na usanidi.
Ikiwa ungependa kutumia kikoa maalum, fuata maelezo yaliyo chini ya wrangler.jsonc.
Unganisha akaunti yako ya WhatsApp
Ukurasa wa usambazaji unaonyesha hatua zilizobaki za usanidi.
- Chagua chaguo la kuunganisha WhatsApp.
- Fungua WhatsApp kwenye simu yako na uende kwenye Settings, Linked Devices, kisha Link a Device.
- Changanua msimbo wa QR unaoonyeshwa na seva. Ikiwa unatumia simu hiyo hiyo na huwezi kuchanganua skrini yake, tumia chaguo la kuoanisha kwa nambari ya simu badala yake.
- Subiri wakati kiungo cha kwanza kinaleta historia ambayo WhatsApp huifanya ipatikane kwa kifaa kipya.
Ukurasa huonyesha maendeleo ya uletaji, na unaweza kuufunga wakati mchakato ukiendelea. Uletaji wa awali huenda usijumuishe kila ujumbe wa zamani kwa sababu WhatsApp huamua historia itakayotolewa kwa kifaa kipya kilichounganishwa.
Unganisha mteja wa MCP
Katika Claude Code, sajili seva iliyosambazwa ukitumia endpoint yake ya /mcp:
claude mcp add --transport http whatsapp https://your-url/mcpKisha endesha /mcp katika Claude Code na uingie kwa kutumia nenosiri la mmiliki. Wateja wengine wa MCP wanapaswa kusanidiwa kwa URL hiyo hiyo:
https://your-url/mcpBaada ya kuthibitishwa, mwombe wakala aorodheshe gumzo, apate ujumbe, au atafute katika historia yako.
Tumia zana zinazopatikana
Seva ya MCP hutoa zana maalum za kusoma na kudumisha nakala ya ndani ya ujumbe:
list_chatshuorodhesha gumzo, kuanzia lililo na ujumbe wa hivi karibuni, ikiwa na uchujaji wa hiari kwa jina au nambari.get_messageshusoma ujumbe kutoka kwenye gumzo moja na inaunga mkono kurasa za nyuma au mbele kulingana na tarehe.search_messageshutafuta maandishi kamili katika gumzo zote au ndani ya gumzo lililochaguliwa.unnamed_chatshupata gumzo zinazojulikana kwa nambari ya simu pekee, ikipa kipaumbele gumzo zenye shughuli nyingi zaidi na kuonyesha ujumbe wa hivi karibuni kutoka kwa mtu mwingine.set_contact_nameshuhifadhi majina ya nambari za simu ili yaonekane pia kwa usahihi katika gumzo za vikundi.sync_nowhuvuta ujumbe mpya mara moja.link_statushuripoti ikiwa akaunti imeunganishwa, iliposawazishwa mara ya mwisho, na kiasi cha data kilichohifadhiwa.relinkhuondoa kiungo cha sasa na kuanzisha tena mchakato wa kuoanisha. Ujumbe uliohifadhiwa hubaki unapatikana.
Zana za kusoma husawazisha kiotomatiki kwanza ikiwa nakala iliyohifadhiwa ina zaidi ya dakika kumi. Kwa hiyo unaweza kutumia maombi ya lugha ya kawaida bila kuita sync_now mwenyewe kwa kila swali.
Tambua gumzo zinazoonyesha nambari za simu pekee
Baadhi ya gumzo huonekana kama nambari za simu kwa sababu WhatsApp haitoi jina la mwasiliani kwa kila kifaa kilichounganishwa. Hili hutokea mara nyingi kwa mazungumzo ya mara moja au watu ambao hawajahifadhiwa katika anwani zako za WhatsApp.
Muulize wakala wako:
Find names for my unnamed chats.Wakala anaweza kuita unnamed_chats, kulinganisha nambari hizo na muunganisho wa anwani alionao tayari, kisha kutuma majibu yanayolingana kupitia set_contact_names. Kwa mfano, kiunganishi cha Google Contacts au Gmail kinaweza kutoa majina yanayolingana. Seva yenyewe haiingii kwenye huduma ya anwani.
Majina yaliyohifadhiwa huhusishwa na nambari ya simu na hivyo yanaweza kutumika pia katika mazungumzo ya vikundi. Baadhi ya nambari zitaendelea kutokuwa na jina wakati hakuna mwasiliani anayelingana.
Elewa historia ya midia na ujumbe
Faili za midia hazipakuliwi. Picha, ujumbe wa sauti na hati huwakilishwa kwa lebo kama [image] au [voice note 12s]. Maelezo mafupi huhifadhiwa WhatsApp inapoyatoa, lakini ujumbe wa sauti hauandikwi kuwa maandishi.
Kiungo cha kwanza huleta historia yoyote ambayo WhatsApp itaamua kutuma. Kwa kawaida historia hutumwa mara moja kwa kila kiungo. Ikiwa uletaji haujakamilika, kuunganisha tena kunaweza kuomba uletaji mwingine huku ujumbe ambao tayari umehifadhiwa ukiendelea kuwepo. Uingizaji umeundwa kuwa wa idempotent, hivyo kuleta tena hakusababishi kimakusudi safu rudufu.
Unganisha akaunti tena
Unganisha tena ikiwa WhatsApp inaripoti kuwa kifaa kiliondolewa au ikiwa unataka kuanza upya mchakato wa kuoanisha. Mwombe wakala wako aendeshe relink, au fungua /setup na uchague Unlink and scan again.
Changanua msimbo mpya wa QR unapoombwa. Ujumbe uliopo tayari huhifadhiwa, huku kiungo kipya kikijaza historia iliyokosekana.
Usanidi wa kina
Usambazaji chaguo-msingi hutumia uthibitishaji kwa nenosiri. Thamani kuu za usanidi ni pamoja na:
OWNER_PASSWORD: nenosiri la mmiliki, lenye urefu wa chini wa vibambo 12.OWNER_EMAIL: anwani pekee ya barua pepe inayoruhusiwa wakati hali ya huduma ya kuingia inatumika.OPERATOR_NAME: jina la hiari linaloonyeshwa kwenye ukurasa wa faragha.DEFAULT_COUNTRY_CODE: msimbo wa nchi unaojumuisha tarakimu pekee, unaotumika wakala anapohifadhi nambari bila msimbo wa nchi.LOGIN_ORIGIN: hubadilisha usambazaji kuwa hali ya huduma ya kuingia.ALLOWED_ORIGINS: asili zinazokubaliwa kwa tokeni za huduma ya kuingia.PIN: thamani ya hiari yenye vibambo 32 au zaidi inayowezesha njia za urekebishaji zilizolindwa kupitia kichwa chax-pin.OAUTH_KVnaWA: vifungamanisho vya KV na Durable Object vinavyotumiwa na programu.
Hifadhi thamani mahususi za usambazaji kama vile kikoa, Kitambulisho cha KV na barua pepe kwenye faili iliyopuuzwa na git ya wrangler.local.jsonc. Sambaza usanidi wa ndani kwa:
npm run deploy:localRekebisha matatizo ya usawazishaji
Ukisanidi PIN, seva hutoa vituo vya uchunguzi vilivyolindwa. Tuma PIN kwenye kichwa cha x-pin:
/debughuonyesha awamu ya kipindi, hali ya kiungo, hesabu na matukio ya hivi karibuni ya kipindi./debug/pullhuanzisha usawazishaji mara moja./debug/chats?q=,/debug/messages?chat=,/debug/search?q=na/debug/typeshukagua data iliyohifadhiwa./debug/unnamedhuonyesha gumzo zilizorejeshwa naunnamed_chats./debug/sql?q=huendesha hoja moja ya kusoma pekee yaSELECTdhidi ya hifadhi./debug/logouthufanya kazi sawa na kuunganisha tena.
Baada ya usambazaji wenye mafanikio, mfuatano muhimu wa uthibitishaji ni kuangalia kuwa /debug inaripoti kipindi kisichotumika na akaunti iliyounganishwa, kuendesha /debug/pull, kisha kujaribu kuorodhesha gumzo, kupata ujumbe, kutafuta maandishi kamili, kushughulikia gumzo yasiyo na majina na kutaja anwani.
Tengeneza ndani
Kwa ajili ya utengenezaji wa ndani, tengeneza faili la .dev.vars lenye nenosiri refu vya kutosha na uanzishe Worker:
OWNER_PASSWORD=your-12-character-or-longer-password
npm run devUtengenezaji wa ndani hutumia Durable Object tofauti yenye hifadhi tupu. Unaweza kujaribu mtiririko wa kuingia na kuonyesha msimbo halisi wa QR, lakini kuunganisha simu ndani ya mazingira ya ndani hutengeneza kifaa kingine kilichounganishwa.
Kabla ya kuwasilisha mabadiliko ya msimbo, endesha:
npm run typecheck
npm testSeti ya majaribio huendesha msimbo wa hifadhi dhidi ya SQLite iliyojengwa ndani ya Node kwenye Node 22.13 au toleo jipya zaidi. Utafutaji wa maandishi kamili haujashughulikiwa na mazingira hayo ya SQLite, hivyo jaribu utafutaji baada ya usambazaji pia.
Mambo muhimu ya usalama na jukwaa
Mradi huu si muunganisho rasmi wa WhatsApp. WhatsApp haitoi API ya kusoma ujumbe wa kibinafsi, na mradi huu hutumia itifaki ile ile ya WhatsApp Web kupitia maktaba ya chanzo huria ya Baileys. Matumizi hayo yanaweza kukiuka masharti ya WhatsApp. Tumia tu na akaunti yako mwenyewe, na kumbuka kuwa hatari ya kiutendaji ni ndogo kwa kifaa kilichounganishwa cha kusoma pekee, lakini si sifuri.
Usambazaji mmoja umekusudiwa mtu mmoja na akaunti moja ya WhatsApp. Kila usambazaji huhifadhi historia kamili ya ujumbe na kuingia kwa akaunti hai, hivyo watumiaji wanapaswa kuendesha usambazaji tofauti badala ya kushiriki mmoja.
Ujumbe hubaki ndani ya hifadhi ya SQLite ya Durable Object, lakini mtu yeyote anayepata vitambulisho vya usambazaji au uthibitishaji wa mmiliki anaweza kufikia historia iliyohifadhiwa. Linda nenosiri, akaunti ya Cloudflare, siri na PIN yoyote ya urekebishaji kwa uangalifu.
Hitimisho
whatsapp-mcp hutoa daraja linalofaa kati ya itifaki ya kifaa kilichounganishwa cha WhatsApp na wateja wa MCP. Isambaze kwenye Cloudflare, unganisha simu yako mara moja, unganisha wakala kwenye /mcp, na utumie zana kama search_messages, get_messages na set_contact_names kuchunguza kumbukumbu yako ya ujumbe. Muundo wake wa kusoma pekee, hifadhi ya faragha ya Durable Object, usawazishaji uliopangwa na mtiririko wazi wa kuunganisha tena huifanya ifae kwa utafutaji wa ujumbe wa kibinafsi huku usambazaji ukiendelea kuwa chini ya udhibiti wako.
