Briar is a local WhatsApp personal-assistant stack for Cursor (and similar agent hosts): whatsmeow bridge + MCP, webhook inbox wake, briar CLI, and a Cursor Agent Skill template.
Public template from Dynamic Devices. Eng compatibility names (cursor-pa-whatsapp, wake token AGENT_LOOP_WAKE_cursorpa_inbox) remain supported.
Bridge/MCP originated as lharries/whatsapp-mcp, maintained via Very Good Plugins (MIT). Briar adds wake tiers, allowlist policy, and agent CLI.
git clone https://github.com/DynamicDevices/briar.git ~/src/briar
cd ~/src/briar && ./scripts/bootstrap-alpha.shThen start units + briar watch — full checklist: docs/ALPHA.md.
| Path | Role |
|---|---|
bridge/ |
Go whatsmeow WhatsApp bridge (:18080) |
mcp/ |
Python MCP server for agents |
wake/ |
Tiered webhook wake server (:8769) |
cli/ |
briar / cursorpa helpers |
skill/ |
Cursor skill templates (SOUL.example.md, …) |
systemd/ |
User-unit templates |
examples/ |
Example allowlist (fake JIDs only) |
docs/ALPHA.md |
Alpha onboarding checklist |
Use ./scripts/bootstrap-alpha.sh (see Alpha testers above). Manual path remains in docs/ALPHA.md.
GitHub Actions runs on the Dynamic Devices self-hosted Linux runner ([self-hosted, Linux, X64]): secret scan, Go bridge tests, MCP tests (when uv is present), wake compile smoke.
- Do not publish real allowlists, SOUL/BIO with personal names, bridge
store/, or message DBs. - Empty-identity webhook POSTs are ignored; prefer authenticating the wake endpoint (
X-Bridge-Token) whenWEBHOOK_URLis set on the bridge.
MIT — see LICENSE.