Back to blog

Beacon 0.3.3-beta: what shipped, and what's next

By Erick Mwamodo

This is the first note about Beacon, so it isn't a diff — it's the state of the product as of 0.3.3-beta. If you've been wondering whether this thing is real, maintained, and worth $99: here is everything, including the parts that aren't done.

What is Beacon?

Beacon gives your agent a phone number. It's a self-hosted SMS API plus an MCP server, so an agent can send and receive texts, keep conversations as threads, verify a human with a one-time code, and you can give the whole thing to ChatGPT, Claude (or any MCP client) in a single command. You run it on your own server, with your own Twilio account, and you pay Twilio's rates with nothing marked up.

What ships today

Everything below is live in 0.3.3-beta. The REST API and the MCP server are the stable parts — early customers are building on-top of now.

Messaging and threads. Every conversation is a first-class thread. Send outbound, receive inbound via Twilio webhooks, or poll a thread for new replies. Delivery status syncs back from Twilio so the thread reflects what actually happened.

Contacts. A built-in address book: create, update, upsert by phone number or your own external ID, detect and merge duplicates, attach notes and tags, and keep multiple numbers per person.

OTP. Generate and verify one-time codes with a configurable lifetime, automatic invalidation, and failed-attempt tracking. The agent asks for a verification; it never needs to see the code.

Opt-out handling. STOP, CANCEL, UNSUBSCRIBE and friends are detected automatically. Per-team suppression lists block both messages and OTPs to anyone who opted out.

Teams. API keys, contacts, phone numbers, and opt-out lists are scoped per team, so one install can serve several agents or several clients without them seeing each other.

Business numbers. Run more than one sending number from one install — set a primary, pause a number, and attach per-number agent profiles and capabilities through the same API.

Reliability plumbing. Idempotent writes with a 24-hour replay cache (agents retry; this makes retries safe), token-bucket rate limiting, and consistent JSON error responses across every endpoint.

MCP server. 30 tools, 17 resources, and 9 built-in prompts. The tools include: summarize_thread, check_replies, resolve_phone_to_context, send_followup_to_contact — rather than thin wrappers over CRUD, because an agent shouldn't burn a dozen calls to answer "did they reply, and what do I say next?"

OpenAPI 3.1. The full spec is served at /openapi.json. Generate a client, import it into Postman, or point your agent at it directly.

Test mode. Append _test to any API key and the whole API runs with offline delivery — no Twilio account, no cost. You can exercise every endpoint and every MCP tool before you've configured a provider.

Delivery. Beacon ships as a Docker Compose bundle (ghcr.io/apxcde/beacon, boots Nginx, PHP-FPM, Redis and Horizon) or as a Composer project from our private registry. Your license portal hands you a signed beacon.license and ready-to-paste install commands.

Why it's still beta

It means the API and MCP surface are stable and we're not planning breaking changes to them. The data model was built with the next channels in mind. It also means the edges are unpolished: the dashboard is functional rather than pretty, there's no analytics view yet, and the docs describe exactly what's implemented and nothing more. If you buy today you're buying the API, and you're getting the rest as it lands.

What's next

Roughly in order, no dates promised:

  1. Polish and a richer dashboard — the setup and key-management screens get the attention the API already had.
  2. More MCP skills and prompts — more of the "what should I do next in this thread" work moved into tools the agent can call.
  3. Multi-channel — MMS and WhatsApp on the same thread model, so a conversation that starts on SMS can continue elsewhere without your integration changing.
  4. Analytics — delivery, reply rates, and per-number health.
  5. Beacon Hosted — we run it, provision your number, and meter usage, for people who'd rather not run servers. There's a waitlist on the product page.

The deal

Beacon Self-Hosted is $99 during beta (it'll be $149 after). That's a one-time payment. The license never expires and the version you buy keeps running whether or not you ever upgrade. Beta buyers get one year of updates starting the day v1 ships — the beta period doesn't count against your year.

If you need the full Laravel source for white-labelling or internal compliance, that's a separate source license. Email us.