Prijavite seZapočnite besplatni probni period
Meta Tech Provider

Dajte LangChain agentu WhatsApp broj

LangChain agent dobija WhatsApp u dve polovine. Dolazne poruke stižu na vašu web rutu preko webhooka broja, a ruta poziva agenta. Da bi delovao, agent učitava EasyCoexistence MCP alate preko LangChain-ovog MCPAdapter-a uz OAuth, ili direktno poziva Cloud API sa tokenom broja i phone number id-jem.

1.4.0

Minimalna verzija langchain[mcp] za langchain.mcp namespace, koji je u beta fazi.

auth="oauth"

Pokreće ceo OAuth 2.1 tok: otkrivanje, dinamičku registraciju klijenta, preusmeravanje u pregledač i razmenu tokena.

131047

Metina greška kada je prošlo više od 24 sata od poslednjeg odgovora primaoca.

Kako LangChain agent učitava WhatsApp alate?

Preko MCPAdapter-a, LangChain-ovog MCP klijenta, koji alate MCP servera prosleđuje funkciji create_agent kao obične LangChain alate. Potreban je langchain[mcp] verzije 1.4.0 ili novije, a označen je kao beta.

Autentikaciju preuzima FastMCP. Kada na klijentu prosledite auth="oauth", pokreće se ceo OAuth 2.1 tok: otkrivanje, dinamička registracija klijenta, preusmeravanje u pregledač i razmena tokena. To je upravo ono što očekuje EasyCoexistence MCP server, pa nema ključa koji treba kreirati ili nalepiti. Podrazumevano tokeni žive u memoriji i svako pokretanje ponavlja korak u pregledaču; FastMCP OAuth provajder sa skladištem tokena čuva ih između pokretanja.

Kada su učitani, agent vidi alate zajedno sa njihovim opisima: prvo list_numbers, jer svaki drugi alat uzima connection_id iz njega, zatim send_message, send_template, list_templates, get_number_health i ostale.

Load the tools into an agent, from LangChain's documented pattern
from fastmcp.client import Client
from langchain.agents import create_agent
from langchain.mcp import MCPAdapter

URL = "https://easycoexistence.com/api/mcp"

async def build_agent(model: str):
    async with MCPAdapter(Client(URL, auth="oauth")) as adapter:
        tools = await adapter.list_tools()
        return create_agent(model, tools)

Kako dolazna WhatsApp poruka stiže do agenta?

Preko webhooka, jer MCP to ne može. Protokol funkcioniše po principu zahteva i odgovora, pa ništa u njemu ne dozvoljava serveru da probudi klijenta kada klijent napiše poruku.

Postavite odredište webhooka broja na rutu u vašoj aplikaciji, sa dugačkom nasumičnom tajnom u putanji URL-a. Ruta odgovara na Metin verifikacioni GET sirovim challenge-om, prihvata svaki POST, odmah vraća 200 i stavlja posao u red. Worker zatim iz payloada uzima pošiljaoca i tekst i poziva agenta sa njima, uz broj pošiljaoca kao id niti, tako da memorija ostaje odvojena po klijentu.

Proveravajte tajnu u URL-u, a ne zaglavlje X-Hub-Signature-256. Meta potpisuje app secret-om Tech Providera, koji se nikada ne deli, pa klijent ne može da validira to zaglavlje.

Da li agent treba da šalje preko MCP-a ili preko Cloud API-ja?

Oba rade, a razlika je u tome ko drži pravila. MCP alati nose WhatsApp pravila u svojim opisima, na primer da send_message radi samo unutar prozora od 24 sata, a da je send_template način da se dopre do nekoga ko nije pisao. Model koji čita te opise većinu vremena bira pravi alat, a to pomaže kada agent slobodno odlučuje.

Običan sopstveni alat koji šalje na messages endpoint Cloud API-ja sa tokenom broja je jednostavniji kada je posao agenta uzak, na primer da uvek odgovori osobi koja je upravo napisala. Tada provera prozora stoji u vašem kodu, a tamo pripada pravilo koje se nikada ne sme prekršiti. Slobodan tekst izvan prozora vraća se kao greška 131047, a klijent nikada ništa ne vidi.

Česte greške

  • Očekivati da MCP isporučuje dolazne poruke. Bez webhook rute agent nikada ne čuje klijenta.
  • Ostaviti OAuth tokene u memoriji na serveru. Svako ponovno pokretanje traži prijavu u pregledaču; sačuvajte ih u skladištu tokena.
  • Koristiti jednu nit za sve klijente. Memoriju agenta vežite za broj pošiljaoca.
Ovo radite uz EasyCoexistence

Povežite broj na easycoexistence.com, podesite odredište webhooka na vašu rutu i učitajte MCP alate u agenta jednom OAuth prijavom. Od US$ 9 po broju mesečno, uz pad do US$ 1 kako dodajete brojeve, a prva 3 dana su besplatna.

Često postavljana pitanja

Da li je ovo samo za Python?

Primer sa MCPAdapter-om je u Pythonu. Webhook i Cloud API su običan HTTP, pa svaki jezik u kojem LangChain radi može da prima i šalje poruke.

Da li agent treba list_numbers svaki put?

Potreban mu je connection_id, a list_numbers je jedino mesto odakle on dolazi. Kod jednog broja agent ga poziva jednom na početku.

Može li tim i dalje da odgovara sa telefona?

Da. Coexistence održava WhatsApp Business aplikaciju u radu, a odgovori sa telefona stižu na vašu rutu kao echo događaji koje agent može da uzme u obzir.

Da li EasyCoexistence čita razgovor?

Ne. Meta isporučuje direktno na vašu rutu, a sadržaj poruka se nikada ne čuva kod nas. MCP alati čitaju stanje naloga i broja.

Nastavite sa čitanjem

Spremni da počnete?

Podesite WhatsApp Coexistence za nekoliko minuta, a ne meseci. Aplikacija nastavlja da radi na telefonu.

Započnite besplatni probni period

Provereno na

LangChain agent i WhatsApp preko Cloud API-ja