Outreach for Autonomous Agents.
Equip your agents with a persistent identity in the real world. Beacon handles the complexity of SMS threading, contact sync, and verificationβallowing your agents to communicate with humans through a unified MCP-native interface.
curl -X POST https://beacon.apexcode.dev/api/text \ -H "X-API-Key: beacon_live_9f1c2e4a8b3d4e5f9c7a1b2d3e4f" \ -H "Content-Type: application/json" \ -d '{ "phone_number": "+15555550123", "message": "Your order has shipped π" }'
{
"success": true,
"textId": "9f1c2e4a-8b3d-4e5f-9c7a-1b2d3e4f5a6b",
"threadId": "7a2b1c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d"
}
Human-grade communication, agent-speed execution.
Beacon handles the full SMS lifecycle β sending, receiving, threading, contacts, and verification β so your agent can focus on the conversation, not the plumbing.
Context-Aware Threading
Every conversation is a first-class thread. Send outbound, receive inbound via webhooks, and poll for replies β all scoped to a thread your agent can track.
Autonomous Address Book
Full CRUD, upsert by phone or external ID, duplicate detection, merge, notes, tags, and multi-number support. Your agent's address book, built in.
OTP verification
Generate and verify one-time codes with configurable lifetime, placeholder support, and automatic invalidation. Failed-attempt tracking included.
Safety-First Outreach
Automatic keyword detection for STOP, CANCEL, UNSUBSCRIBE and more. Per-team suppression lists block sends and OTPs to opted-out recipients.
Team-scoped isolation
API keys, contacts, phone numbers, and opt-out lists are all scoped per team. Run multiple agents or clients from one Beacon install.
Production-grade reliability
Idempotent writes with 24h replay cache, token-bucket rate limiting, delivery status sync from Twilio, and consistent JSON error responses.
OpenAPI-first
Ship with a full OpenAPI 3.1 spec at /openapi.yaml. Generate clients, import into Postman, or point your agent at it β no copy-paste docs.
Business numbers
Run multiple sending numbers from one install. Set a primary, pause a number, attach per-number agent profiles and capabilities β all through the same API.
Unified Inbox (coming soon)
SMS and 1:1 threads today. MMS, WhatsApp, and more channels are on the roadmap β the data model and API were built with them in mind, no breaking changes ahead.
Intelligence meet SMS, MCP included
Don't waste tokens on formatting SMS. Beacon's built-in MCP server provides high-level tools for summarizing history, checking for duplicates, and escalating to humansβturning raw text into actionable intelligence.
send_text
Send an outbound SMS in the agent's team context
list_threads
Browse active conversation threads
check_replies
Poll a thread for new inbound messages
get_thread_messages
Pull full message history for a thread
summarize_thread
Get an agent-ready summary of a conversation
get_contact_context
Pull full context on a contact for the agent
resolve_phone_to_context
Look up a phone number and get contact + thread context
search_people_and_threads
Fuzzy-search contacts and conversations in one call
prepare_outreach_message
Draft a context-aware outreach message
send_followup_to_contact
Close the loop on a pending conversation
upsert_contact
Create or update a contact idempotently
find_duplicate_contacts
Surface duplicate contact groups
merge_contacts
Merge duplicates with per-field strategy
send_otp
Generate and send a one-time verification code
verify_otp
Verify a one-time code and track attempts
make_primary_business_number
Switch the active sending number
29 MCP tools, 6 resources, and 4 built-in prompts.
Running in minutes
Beacon is a Laravel app you deploy on your own server. Bring your Twilio credentials, and you're live.
Get your license
~1 minCheck out, and your license portal opens with a signed beacon.license file plus ready-to-paste install commands for Docker or Composer.
Install Beacon
~2 minPull ghcr.io/xsavo/beacon with the creds from your portal, or composer create-project xsavo/beacon via our private registry. Drop beacon.license into storage/app/. Nginx, PHP-FPM, Redis, and Horizon boot together.
docker pull ghcr.io/xsavo/beacon:latest docker run --env-file .env \ -v ./storage:/var/www/html/storage \ ghcr.io/xsavo/beacon:latest
Composer alternative and credentials in your license portal.
Connect Provider
~2 minVisit /setup, paste your Twilio Account SID, Auth Token, and phone number. Beacon validates against Twilio's API and starts processing inbound messages automatically.
Hand Over The Phone.
~1 minGenerate an API key from the setup dashboard, then wire your agent to the REST API or connect the MCP server to Claude Code in one command.
claude mcp add beacon https://your-beacon.com/api/mcp \ --transport http --scope user \ --header "X-API-Key: beacon_β¦"
Don't have Twilio yet?
Append _test to any API key for offline delivery β full API, no provider, no cost.
One product, your terms
Run it yourself, let us run it, or get the source. Same Beacon β different delivery model.
Self-Hosted
Deploy Beacon on your own infrastructure with your Twilio account.
One-time payment. Yours forever.
- β Full API + MCP server
- β Docker deployment
- β Threads, contacts, OTP
- β Team-scoped multi-tenancy
- β Bring your own Twilio
- β Updates for 1 year
Hosted Reliability
We host Beacon, provision your phone number, and handle infrastructure.
Usage-based pricing. No Twilio account needed.
- β Everything in Self-Hosted
- β Managed hosting
- β Phone number provisioning
- β Dashboard & analytics
- β Usage metering & billing
- β Zero infrastructure setup
The Full Stack
Full source code for white-labeling, custom builds, or internal compliance.
Premium license. Custom terms.
- β Everything in Self-Hosted
- β Full Laravel source code
- β White-label rights
- β Internal modification rights
- β Priority support
- β Custom licensing terms
Break the fourth wall.
Start building the next generation of autonomous outreach. No subscriptions, no data-mining, just pure agency.