GoodSender
io.github.good-sender由 GitHub 帳號 good-sender 發布v0.9.1更新於 Nov 3, 2026
從 Claude、Claude Code、Codex 和 ChatGPT 發布部落格文章、傳送新聞通訊和電子郵件。
AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。
原文描述
Publish blog posts, send newsletters and emails from Claude, Claude Code, Codex and ChatGPT.
概覽
GoodSender 的託管 MCP 服務(mcp.goodsender.com);需要 OAuth 登入;Streamable HTTP。
暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。
- 端點
- mcp.goodsender.com
- 最近檢查
安裝
在 SourceWeft 中
- 開啟 儀表板中的 GoodSender,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/io.github.good-sender%2Fgoodsender-mcp/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"goodsender": {
"type": "http",
"url": "https://mcp.goodsender.com/"
}
}
}README
GoodSender MCP Server
Publish blog posts, send newsletters and emails from Claude, Claude Code, Codex and ChatGPT. Send consent-based email and transactional email (OTP and MFA codes), and publish blog posts on your own domain. Connect to the hosted server with OAuth and nothing to install, or run it locally with an API key.
What you can do
Ask your assistant things like:
- "Write a post about our new release, publish it on my blog and email it to subscribers."
- "Draft a post from these notes and show me the preview before anything goes live."
- "Connect blog.example.com to my blog and tell me which DNS records to add."
- "Create a custom design for my blog that matches our logo, and show me a preview first."
- "Send a password reset code to [email protected] with the OTP template."
- "Email the March update to the beta-users group."
Posts are always created as drafts. Before publishing, the assistant shows where the post will go (your blog, the newsletter, connected social accounts) and asks you to approve it. See Action confirmation for how approval works on the hosted and local servers. The newsletter email carries the subject, the cover image when one is set, a summary and a link to the published post, not the full post body. Transactional templates such as OTP codes send right away. Other emails wait until the recipient consents. See Email sending.
Quick start (hosted, OAuth)
Hosted server URL:
You sign in to GoodSender in the browser the first time the client connects. To use blog tools, you need a GoodSender workspace with a blog. To send the optional newsletter, set up its sender identity and a public blog address first.
Claude Desktop
On Free, Pro or Max: open Customize → Connectors, choose Add → Add custom connector, and enter https://mcp.goodsender.com/. Keep the sign-in option so the OAuth flow runs the first time you use the connector.
On Team or Enterprise, an organization owner first adds GoodSender in Organization settings → Connectors → Add → Custom → Web. Members can connect it after that.
Claude Code
Complete the OAuth flow in the browser. Check the connection with claude mcp get goodsender, or run /mcp in an interactive session.
Codex
The Codex CLI and IDE extension share this configuration. The login command completes the browser flow.
ChatGPT
Turn on developer mode under Settings → Apps & Connectors → Advanced settings. Create an app with the server URL https://mcp.goodsender.com/ and OAuth authentication, then sign in to GoodSender when prompted. Pick the app from the + menu in a new chat.
Publishing needs MCP apps with write actions. OpenAI offers these as a beta on Business, Enterprise and Edu workspaces, and an admin may have to allow developer mode. Other plans may connect read-only. Menu names change between ChatGPT releases.
Gemini CLI
The extension adds the hosted server. The browser sign-in (OAuth) opens the first time a tool runs; run /mcp auth goodsender in a session to sign in again. Gemini CLI is available to organisations on Gemini Code Assist Standard or Enterprise and through paid Gemini API keys. Individual Google AI accounts moved to Antigravity CLI on 2026-06-18; that CLI is not covered here.
Full guide: goodsender.com/docs/mcp.
Local install
The local server uses an API key. Create one on the API keys page of your GoodSender dashboard. Treat the key as a secret: never commit or share it.
MCP Bundle (`.mcpb` file, easiest)
-
Grab the
goodsender.mcpbfile from the latest release. -
Double-click the
goodsender.mcpbfile to open it in your AI client.Note: Not every AI client supports MCP bundles or local MCP servers yet. Use a different installation method if nothing happens on double-click.
Docker image / self-hosting
Run via
If your goal is to run the agent using this MCP fully autonomously, set GOODSENDER_DISABLE_ACTION_GUARDS=true to skip all action confirmations completely. See Action confirmation.
or add to docker-compose.yaml on your home server
and run via
Manual configuration (JSON)
-
Grab the
binaries.zipfile from the latest release (includes MCPgoodsender-mcp-*and CLIgoodsender-*binaries). -
Unzip it somewhere you can easily reference.
-
Modify your AI client config file, adding the MCP server configuration (example for Claude Desktop and Cursor on macOS):
For other platforms you must reference a corresponding binary instead of
darwin(macOS)If your goal is to run the agent using this MCP fully autonomously, set
GOODSENDER_DISABLE_ACTION_GUARDS=trueto skip all action confirmations completely. See Action confirmation.
Environment variables
Action confirmation
Every tool declares whether it only reads, or changes something. Tools that publish, send, delete or change live state are marked destructive, so clients such as Claude ask you before running them.
- Hosted server (
mcp.goodsender.com): that client prompt is the approval step. Tools run when you approve the call, andconfirm_actionis not offered. - Local server: action guards add a second step by default. A tool that publishes, sends, deletes or changes the live blog design returns a confirmation token instead of acting, and
confirm_actionruns it once you approve. SetGOODSENDER_DISABLE_ACTION_GUARDS=truein the server environment to skip that step, for example for unattended loops (scheduled agents, CI). - CLI (the
goodsender-*binaries inbinaries.zip): runs with action guards off. A command you type is the approval, so it acts immediately and there is noconfirm_actionstep.
Email sending
GoodSender sends email as well as blog posts. Permission protects deliverability, so cold outreach is not supported. Email tools work with the hosted server and with a local server.
- 🤝 Consent handling. Recipients you add get a consent request by email. Custom emails to a recipient without consent wait in a queue. Emails to recipients who already consented go out right away.
- 🔁 Consent flow. You do not track consent yourself. After a recipient consents, their queued emails go out when you ask to send pending emails (
send_pending_emails) or use another tool that sends email. Nothing is sent while the server is idle. - ✅ Transactional templates. Built-in templates send right away, without a consent step: OTP code, MFA enrollment, new device login, password changed, email changed, order receipt and order completed.
- ✉️ Formats. Send plain text, HTML or Markdown to one or more addresses, or to whole groups.
- 📝 Custom templates. Create and edit templates with dynamic variables. Preview them in the chat with sample data, send a test email, then save and send by template name.
- 👥 Recipient groups. Organize recipients into groups and address a whole group by name.
- 🏷️ Sender identities. Manage
From:identities on a verified domain and refer to them by name. - 📊 Health metrics. Check email health metrics for each sender domain.
- 🛡️ Where data lives. Pending emails, custom templates, recipient groups and sender identities are stored in the MCP server's database: on your machine for a local server, on the server host for the hosted connection. Sending uses the GoodSender API. Blog posts, settings and designs are stored on GoodSender servers.
Example email prompts
Add 'John Doe <[email protected]>' and 'Jane Doe <[email protected]>' to the AI newsletter subscribers group
ℹ️ This will:
- Create/update the recipients in the database
- Add them to the "AI newsletter subscribers" recipient group, creating it if needed
Create a GoodSender template for a weekly AI news digest sent to the AI newsletter subscribers group
ℹ️ This will:
- Create a draft email template in GoodSender format following best practices for email template creation
- Display interactive preview of this template draft (if AI client supports it)
Increase the number of news in the digest to 5
ℹ️ Done during the template draft creation/editing, this will:
- Modify the template accordingly
- Display interactive preview of this template draft (if AI client supports it)
Send a test email to me: 'Good Sender <[email protected]>'
ℹ️ Done during the template draft creation/editing, this will:
- Send an email with mocked data generated from the current template draft only to you
Save the template as "Weekly AI news"
ℹ️ Done during the template draft creation/editing, this will:
- Convert the current template draft to a persistent template stored in the MCP server's database
- Allow sending emails just by mentioning the template name
Gather this week's AI news and send them using the "Weekly AI news" template
ℹ️ This will:
- Create and enqueue a personalized template-based email for each recipient in the AI newsletter subscribers group
- For all recipients who haven't received an email with consent request, will request their consent for receiving emails from you
- Send emails to all recipients who granted their email consent
- Keep the other emails queued; they go out after the recipient consents, when you send pending emails
Tools
Blog and newsletter
FAQ
Is there a blog platform with an official MCP server?
Yes. GoodSender publishes this server for its blog platform. Connect the hosted server at https://mcp.goodsender.com/ with OAuth, or run it locally. See the MCP connection guide.
How do I publish a blog post from Claude Code?
Add the server with claude mcp add --transport http goodsender https://mcp.goodsender.com/ and sign in with claude mcp login goodsender. Then ask Claude Code to draft the post, show the preview and publish it. The MCP connection guide walks through your first publish.
Can Codex publish posts to my blog on my own domain?
Yes. Connect Codex with codex mcp add goodsender --url https://mcp.goodsender.com/, then ask it to connect your domain. It returns the DNS records you add at your DNS provider, and published posts appear at that address. Setup steps are in the MCP connection guide.
Can it send the post as a newsletter at the same time?
Yes. Select the newsletter in the post's distribution, and publishing emails it to subscribers who have given consent. The blog needs a sending domain, a From: address and a public address first. The email has the subject, the cover image when one is set, a summary and a link to the post, not the full body. See how publishing from Claude and ChatGPT works.
How do I send email from Claude or Claude Code? Connect the server as in Quick start, then ask for the email in plain words, for example "Email the March update to the beta-users group." Recipients who already consented get it right away. Anyone else gets a consent request, and the email goes out after they consent, when you send pending emails.
Which emails skip consent (transactional/OTP)?
Only the built-in transactional templates: OTP code, MFA enrollment, new device login, password changed, email changed, order receipt and order completed. send_consentless_email sends them right away. Custom emails and custom templates always wait for consent.
How it compares
For side-by-side comparisons with other blog and newsletter platforms, see GoodSender vs WordPress, Ghost, beehiiv and Hashnode.
Telemetry & privacy
Telemetry is enabled by default, on the hosted server and on a server you run yourself. The MCP server sends usage and reliability metrics to GoodSender's own metrics and tracing systems (no third-party analytics vendor) to help improve the product.
Typical signals include:
- The workspace identifier, MCP tool names, call counts, and latency.
- Success and error rates.
- On failures, the error message truncated to 512 characters.
- Background job error codes and frequency.
Tool inputs and results (email bodies, recipient lists, template contents) are not recorded. An error message can still contain a fragment of what was passed to the tool, for example an email address that failed validation.
On a server you run yourself (MCP bundle, Docker, binaries or CLI), you can opt out of telemetry by setting GOODSENDER_TELEMETRY=false in the MCP server environment.
See the GoodSender Privacy Policy for how personal data is handled by the service, and the GoodSender Terms of Service for the terms of use.
OpenAI Plugin Directory package
The ZIP uploaded at platform.openai.com/plugins is generated in GitHub Actions, never by hand. Its sources live in openai-plugin/: the manifest template (plugin.template.json, version stamped per release), mcp.json (the hosted server https://mcp.goodsender.com/, OAuth with dynamic client registration), the icons, a get-started skill, the review test cases (test-cases.json, exactly 5 positive and 3 negative), the release notes and optional wording for annotation justifications.
scripts/openai-plugin/build.py validates every submission limit (text lengths, HTTPS URLs, square icons of 48–4096 px and at most 5 MiB, starter prompts, test-case counts) and builds the ZIP. The per-tool annotation justifications (ANNOTATIONS.md) are generated from the tools/list of the released server binary, which list_tools.py runs against a local mock of its startup session check, so the justifications always match the real hints.
- Download: every published release carries
goodsender-openai-plugin-<version>.zip, plus-ANNOTATIONS.mdand-TEST_CASES.md, as release assets. To build one without a release, run the OpenAI plugin package workflow (Actions → Run workflow, optionally with a release tag) and download its artifact. Pull requests build it against the latest release. - Demo video: set the repository variable
OPENAI_PLUGIN_DEMO_URLto stamp the reviewer demo URL into the package. Reviewer credentials are never in the package; enter them in the portal. - Domain verification: the portal shows a token for
https://mcp.goodsender.com/.well-known/openai-apps-challenge. Put it inGOODSENDER_OPENAI_APPS_CHALLENGEin good-sender/hosted-mcp-deploymentansible/envs/prod.yml, deploy, then press Verify domain. The hosted server serves it as plain text. If the portal names the parent originhttps://goodsender.cominstead, the token must be served as a static plain-text file at/.well-known/openai-apps-challengeby goodsender-web. - Restricted data (reviewer note): OpenAI plugins must not handle one-time codes, passwords or other credentials. The ChatGPT listing, test cases and skill therefore describe only account notices and receipts. If a reviewer asks about the
otp_codeandmfa_enrollmenttemplates ofsend_consentless_email, paste this into the portal's notes: "GoodSender's transactional templates deliver messages generated by the user's own application. One-time codes passed tootp_code/mfa_enrollmentare created and verified by that application; GoodSender only renders and delivers the email. It does not store or check codes, and it never asks for or receives the user's own passwords, API keys or verification codes. These templates are not part of the ChatGPT listing or its test cases."
Links
- MCP connection guide
- Blog from Claude and ChatGPT: a walkthrough
- GoodSender
- Privacy policy
- Terms of service
- Support: [email protected]
- Telemetry: on by default, opt out with
GOODSENDER_TELEMETRY=false - Issues
來源:README.md,提交 22f065a
工具
0版本歷史
11- v0.9.1最新Nov 3, 2026
- v0.9.0Oct 29, 2026
- v0.8.2Oct 24, 2026
- v0.8.1Oct 23, 2026
- v0.7.1Oct 20, 2026
- v0.7.0Oct 20, 2026
- v0.6.0-rc1Oct 8, 2026
- v0.5.2Oct 1, 2026
- v0.5.1Oct 1, 2026
- v0.5.0Sep 23, 2026
- v0.4.1-rc3Sep 16, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分