Surfing Dog Inbox
An inbox for the bookings, orders, quote requests and messages that people and their AI agents send a business. Your rules answer the routine ones, and you see the rest. Open source, and you run it.
Try it in 60 seconds
Add our demo bike shop to Claude or ChatGPT as a custom connector (an MCP server):
https://demo.surfingdog.ai/mcp
Then ask it: "Book a bike service with Oficina Maré on Saturday morning." Watch the booking arrive, and the shop confirm it, at https://demo.surfingdog.ai/demo/live. The demo never emails anyone who uses it, shows no names and is wiped every night.
The same with curl, step by step: https://surfingdog.ai/try/
How ready is a business for AI agents today? The free AI agent readiness checker reads any website the way a customer's assistant would and shows what it can do there, and what to add.
Install
Node 22.16+, 24 or 26. One process and one SQLite file.
git clone https://github.com/surfingdogai/inbox && cd inbox
pnpm install
pnpm --filter @surfingdog/inbox build
node apps/inbox/dist/server.mjs # http://localhost:8787
Docker, built from this repository. The database lives in the volume.
docker build -t surfingdog-inbox .
docker run -p 8787:8787 -v inbox-data:/opt/inbox/data surfingdog-inbox
Cloudflare Workers, with D1, a queue and a cron. Press Deploy to Cloudflare. What to have ready, and what to do after, is in the quickstart. By hand, it's path A of the install guide.
Or give your AI the install guide and let it do the work: it is written for that, with a check after every step.
Docs
- Quickstart: every setting, Docker, and a public demo of your own
- Connect your AI: the owner's MCP server
- API: REST and MCP; every instance also serves
/openapi.json - Decision records: read these before changing how things work
Working on it
pnpm dev # the server on Node, http://localhost:8787
pnpm dev:workers # the same app on workerd
pnpm test # every test, on Node and on Workers
./scripts/verify.sh # everything CI runs
apps/inbox: the server and the owner app, one codebase for Workers and Nodeapps/site: surfingdog.ai, with the docs. It counts visits with Cloudflare Web Analytics only when built withWEB_ANALYTICS_TOKENset, as our deploy does; any other build sends nothing anywherepackages/core: items, their states, rules and receiptspackages/adapters: REST, MCP, sign-in, email in, webhooks and networkspackages/platform: the database, mail and job seams for each runtimepackages/spec: the discovery manifest and receipt formats, with test vectorspackages/sdk: verify webhooks; sign requests and check receipts from a customer's agentpackages/ui: design tokens and componentspackages/network-check: checks a network against the network protocolexamples/network: a small network of your own, at the protocol's directory level
Licence
MIT, for everything in this repository: the server, the app, the site, the spec, the SDK, packages/network-check and examples/network. You can run it, change it and build on it; nothing you build has to be shared. See LICENSE.