Browse / Support and bookkeeping
HQBase
Shared team inbox that deploys into your own Cloudflare account, with an OAuth-protected MCP server.
HQBase is an AGPL shared email workspace: shared mailboxes, team access controls, multi-domain, drafts, and audit history, running entirely on Cloudflare Workers, D1, R2, and Queues so mail and credentials stay in the customer's account. The Builder ships a remote MCP server with a read-only profile at /mcp and a mail-actions profile at /mcp/full covering search, threads, labels, drafts, send, reply, and forward.
- we answer support@ and billing@ as a team and want the inbox in our own Cloudflare account with no per-seat fee
- we want our agent to search the shared inbox, draft replies for review, and send only from a scoped mail-actions profile
- Cloudflare-only; Queues and Durable Objects may need the Workers Paid plan (confirm)
- AGPL-3.0-only license
- Send, reply, and forward are not idempotent through MCP; clients must not retry without checking
- Young project (Show HN 2026-08-11); Herald macOS client is community-maintained
Last activity Sep 1, 2026. Fit: adaptable 2, operable 3.
Adaptable: what is yours to change
Make it yours
Config only5 things to edit
Adapting HQBase means deploying it into your Cloudflare account: wrangler.jsonc declares the D1, R2 (MAIL_OBJECTS), Queue (HQBASE_JOBS), Durable Object (MAIL_EVENTS), and MAIL_SENDER bindings; BETTER_AUTH_SECRET is generated at install and local values go in .dev.vars. config/product.json carries product settings. Mailboxes, domains, and access are then set in the app. There is no prompt surface; the MCP profile (/mcp versus /mcp/full) is the only agent-facing switch.
- Env vars
BETTER_AUTH_SECRETHQBASE_LOCAL_SEED_PASSWORD- Config files
wrangler.jsonc.dev.varsconfig/product.json- Prompt files
- none
- Accounts you need
- Cloudflare (Workers, D1, R2, Queues, Email Routing)a domain on Cloudflare DNS
Source
- github.com/HQBase/hqbase
- AGPL-3.0 license
- Last commit Sep 1, 2026
- 317 stars
Operable: what an agent can drive
Interface
OfficialMCP serverpublished by the builderremote
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
- Docs
- hqbase.io/docs/mcp/
- Tools
list_mailboxeslist_labelssearch_messageslist_conversationsget_messageget_threadget_attachmentupdate_messageupdate_conversationadd_labelremove_labellist_draftsget_draftcreate_draftupdate_draftdelete_draftadd_draft_attachmentremove_draft_attachmentsend_emailreply_to_messageforward_message
Reach
Partial coverage. 4 of 9 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Search and read mail across shared mailboxes | Reachable | read-only profile: list_mailboxes, search_messages, list_conversations, get_message, get_thread, get_attachment |
| Draft replies | Reachable | /mcp/full: create_draft, update_draft, add_draft_attachment |
| Send, reply, and forward | Reachable | /mcp/full: send_email, reply_to_message, forward_message; docs warn repeated sends can send twice |
| Organize with labels and conversation state | Reachable | add_label, remove_label, update_message, update_conversation |
| Assign conversations to teammates | Undetermined | update_conversation exists; whether it sets assignee is not stated on the MCP docs page |
| Manage team access to mailboxes | Not reachable | access controls are admin UI per docs; no user or permission tools in the MCP list |
| Add domains and mailboxes | Not reachable | multi-domain setup is an operator flow (docs/specs/multi-domain), not an MCP tool |
| Install, update, back up, restore | Not reachable | operations run through the deployment and signed-release workflow, not MCP |
| Review audit history | Undetermined | audit history is a product feature; no audit tool in the MCP list |
Code stack
- Languages
- TypeScript
- Frameworks
- Cloudflare WorkersViteBetter Auth
- Package manager
- pnpm
- Database
- Cloudflare D1Cloudflare R2
- Hosting target
- Cloudflare Workers (Deploy to Cloudflare button)
- Built
- Unknown (recorded, never ranked)
Model stack
- Providers
- any MCP client
- Models
- none
- Keys you need
- none
- Prompts live in
- none
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: Vite frontend, Wrangler Worker backend, D1 database | 90% |
| executionModel | no model calls in README or wrangler bindings | 85% |
| operability | hqbase.io/docs/mcp: endpoints /mcp and /mcp/full, OAuth device or PKCE with dynamic client registration, tool list | 95% |
| effort | README develop section names .dev.vars keys; wrangler.jsonc bindings; .env.example says BETTER_AUTH_SECRET is generated at install | 80% |
| editions | README and hqbase.io: open source, runs in your Cloudflare account; no pricing page found | 70% |
| active | gh api: pushed 2026-09-01, 317 stars; signed release workflow | – |
| reach | 85% |
Open questions
- Which Cloudflare plan is required (free versus Workers Paid) for Queues and Durable Objects
- Whether update_conversation covers assignment
- Any paid support or hosted edition from the Builder
Sources
- github.com/HQBase/hqbase sourcing:support-bookkeeping:community
- hqbase.io sourcing:support-bookkeeping:community
- hqbase.io/docs/mcp/ analysis