Commit Graph

9 Commits

Author SHA1 Message Date
Tim Lingo 7fa204d755 feat: bundle build script + default API_BASE_URL to local bridge
scripts/build-bundle.sh cross-builds whatsapp-mcp + whatsapp-bridge (stripped, darwin/arm64) into the
Neuron app's bundled connector-servers dir. tools.go: default API_BASE_URL to http://localhost:8080/api
(was a hardcoded LAN IP) so the MCP finds the connector-launched loopback bridge. Validated: stripped
bundled whatsapp-mcp exposes 14 tools incl send_message.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 14:56:26 -05:00
Tim Lingo eaa92b4255 feat: read-only gate around WhatsApp send tools (connector defense-in-depth)
send_message/send_file/send_audio_message register unless WHATSAPP_READ_ONLY=true|1. Default keeps send
available (soul consent is the primary gate). Validated via stdio tools/list: default exposes 14 tools
incl send_message; read-only exposes 11 (send tools hidden).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 14:19:47 -05:00
Atul Singh 193e0d3c77 feat: ratelimit, ghcr package support, media path sensitization, LID to CN migration (#6)
* feat: ratelimit, ghcr package and proper project refactor from askarzh

* fix(bridge): validate media path

* update: dependencies

* fix: added LID to contact number migration
2026-05-13 12:54:31 +02:00
Atul Singh 294b4f42a9 Merge pull request #5 from sunyatasattva/fix/send-helpers-auth
fix(mcp-server): set Authorization header on Send{Message,File,AudioVoiceMessage}
2026-05-10 17:55:34 +02:00
M. L. Giannotta 3c9886fa10 fix(mcp-server): set Authorization header on Send{Message,File,AudioVoiceMessage}
The three Send* helpers in helpers/whatsapp.go construct their HTTP
requests directly instead of going through callAPI, and were missing the
Bearer token that the bridge's JWT middleware requires. Calls reached the
bridge as 401 Unauthorized.

In practice sendMessageHandler in mcp_tool.go bypasses SendMessage and
calls callAPI directly, so the text-send path happens to work; but the
file and audio-message MCP handlers route through SendFile and
SendAudioVoiceMessage respectively, so send_file and send_audio_message
were broken end-to-end.

Same shape as the recent DownloadMedia fix: fetch a JWT via
GetOrRefreshJwtToken and add Authorization: Bearer <token> on the
outgoing request.
2026-05-10 17:20:43 +08:00
M. L. Giannotta 4928db6b56 fix(mcp-server): set Authorization header on DownloadMedia
DownloadMedia builds its HTTP request directly instead of going through
callAPI, and was missing the Bearer token that the bridge's JWT middleware
requires. As a result, every download_media MCP tool call returned 401.

Fetch a JWT via GetOrRefreshJwtToken (same path the rest of the helpers
use) and set the Authorization header on the request.
2026-05-10 16:01:34 +08:00
iamatulsingh f10176ffa7 feat: added new http streamable option instead of deprecated sse 2026-03-26 09:09:50 +01:00
iamatulsingh b5ac108719 feat: JWT authentication middleware and login endpoint 2026-03-08 21:00:28 +01:00
iamatulsingh dd5e347436 feat: whatsapp-mcp-go 2026-02-21 21:12:14 +01:00