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>
* feat: ratelimit, ghcr package and proper project refactor from askarzh
* fix(bridge): validate media path
* update: dependencies
* fix: added LID to contact number migration
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.
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.