Repository navigation
Releases
v2.0.0 — Remote MCP on Cloudflare Workers
The stdio npm server is gone. This release replaces it with a remote MCP server you deploy yourself as a Cloudflare Worker — per-user Help Scout OAuth, Cloudflare Access for employee identity, and a Durable Object per session. 36 tools across two connectors, and unlike the official Help Scout MCP, this one writes.
Breaking changes
npx @waylit/helpscout-mcpno longer works. The stdio server was removed and the package is no longer published to npm. There is no in-place upgrade from 1.7.x.- You now host it. Deploy the Worker to your own Cloudflare account. See
DEPLOYMENT.mdfor the end-to-end checklist. - Credentials moved. No more
HELPSCOUT_CLIENT_ID/SECRETenv vars per client. Each user authorizes through OAuth; tokens live in Durable Object storage, not in your shell. draftReplywas split. The context-gathering half is nowgatherReplyContext.draftReplysaves a composed reply as a real Help Scout draft.
Two connectors
/mcp — 24 tools for mailboxes, conversations, customers, and organizations, behind per-user Help Scout OAuth.
/docs/mcp — 12 tools for the Docs knowledge base, read and write, for finding and fixing stale articles. Each user enters a personal Docs API key once through a short web form.
Writes
The official Help Scout MCP is read-only. This worker adds:
draftReply— save a composed reply as a draft; nothing sendscreateDraftConversation— start a new outbound conversation as a draftupdateConversationStatus,assignConversation,moveConversation- Full CRUD on Docs collections and articles, including
slug, related articles, and image upload viacreateArticleImageUpload
Every conversation write lands as a draft or a status change. The worker never sends mail to a customer.
Security
- PII redaction is on by default and fails closed. If a redaction pattern can't be applied, the field is withheld rather than leaked. Covers subject, location, background, and organization fields, plus conversation preview snippets. Email, phone, and address are redacted; names are kept so conversations stay readable.
- Cloudflare Access sits in front of the OAuth flow — scope it to
/authorizeonly, not the whole worker. Fronting/mcpbreaks the connector. - Pagination cursors are pinned to
api.helpscout.net, closing an SSRF and token-exfiltration path. - Upstream error text is no longer relayed on the image upload route, and upload bodies are bounded before multipart buffering.
- Optional append-only audit log to D1.
Also in this release
- Cursor pagination wired through
searchConversationsandstructuredConversationFilter whoamiandgetServerTime- Search defaults to active + pending
- Docs MCP agent bound to its own Durable Object namespace
- 211 tests across 11 files; type-check, lint, test, and
wrangler deploy --dry-runall gate CI - TypeScript 7, jose 6, vitest 4, Node 24,
@cloudflare/workers-types5;axiosdropped for nativefetch
Fork of drewburchfield/help-scout-mcp-server.
v1.7.1
Changes
- Update plugin marketplace owner and homepage to WayLit fork
- Switch to OIDC trusted publishing
- Version bump to 1.7.1
Install
npx @waylit/helpscout-mcp
Fork of drewburchfield/help-scout-mcp-server.
v1.7.0
First release as @waylit/helpscout-mcp.
Changes
- Renamed package from
help-scout-mcp-serverto@waylit/helpscout-mcp - Updated all config files and manifests to WayLit fork
- Added npm publish workflow with provenance attestation
- Simplified CI pipeline for fork maintenance (pnpm, dropped docker/npm publish from CI)
- Upgraded dependencies
Install
npx @waylit/helpscout-mcp
Fork of drewburchfield/help-scout-mcp-server.