MCP server: One MCP server.

Surfing Dog Inbox

@surfingdogRun by its publisher: served from their own domain, namespace checked by the registry.MCP server · External

Message, ask for a quote or book a call with Surfing Dog, through its open-source inbox.

Appointment bookingv0.1.0MITTypeScript
Freeno charge per call

One address for any MCP client. No sign-in needed on this server.

What it does

8 read6 act5 other

Grouped by tool name. At most: moves money, runs code or commands, deletes data, or sends messages for you.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Tools

19 · grouped by tool name · checked 10 Oct 2026

Read · 8Look things up

  • get_business_profile
  • list_services
  • list_products
  • check_availability
  • request_quote
  • get_item_status
  • suggest_time
  • verify_customer

Act · 6Change something

  • create_booking
  • create_order
  • accept_offer
  • withdraw_from_contract
  • cancel_item
  • send_message

Other · 5Neither hinted nor named

  • decline_offer
  • make_offer
  • provide_details
  • request_return
  • acknowledge_receipt
Try it in the Inspector
README2 min read

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/

Install

Node 22.16+, 24 or 26. One process and one SQLite file.

bash
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.

bash
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

bash
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 Node
  • apps/site: surfingdog.ai, with the docs
  • packages/core: items, their states, rules and receipts
  • packages/adapters: REST, MCP, sign-in, email in, webhooks and networks
  • packages/platform: the database, mail and job seams for each runtime
  • packages/spec: the discovery manifest and receipt formats, with test vectors
  • packages/sdk: verify webhooks; sign requests and check receipts from a customer's agent
  • packages/ui: design tokens and components
  • packages/network-check: checks a network against the network protocol
  • examples/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.

Similar modules

Browse Appointment booking