Newsletter Commerce Mcp

io.github.teamsincetoday由 GitHub 账号 teamsincetoday 发布v0.1.3更新于 Oct 24, 2026

Extract shoppable products from newsletter content with affiliate signals.

已验证STDIO仅桌面效率与工作流商业与电商

概览

AI 生成的概览

一个本地 MCP 服务器,从邮件通讯中提取可购买产品、赞助商与联盟营销信号,并生成可直接粘贴的产品清单。

可以做什么
从 HTML 或纯文本邮件通讯中提取产品、联盟链接和赞助商提及,给出每个产品的置信度与推荐强度,并按 newsletter ID 缓存结果。按预估 CPM、阅读率和受众匹配度给赞助商板块打分。对比多个已提取期号中的产品提及,找出热门产品、品类和品牌趋势。将提取结果格式化为 markdown 或 HTML 的“本期产品”板块,支持完整或精简样式。
适用场景
适合邮件通讯作者、联盟营销人员和编辑,用于从 Substack、Ghost、Beehiiv 或纯文本期号中挖掘产品与赞助商提及,跨期比较趋势,并起草可购买的产品页脚,而无需逐篇人工阅读。
运行要求
通过 npm 包 newsletter-commerce-mcp 以 stdio 在本地运行,需要 Node.js 和 npx。产品提取需要 OPENAI_API_KEY 中的 OpenAI API 密钥。可选配置包括用于付费调用的 MCP_API_KEYS、用于限流的 AGENT_ID、SQLite 缓存路径 CACHE_DIR 以及 PAYMENT_ENABLED。调用 OpenAI 需要网络访问。
安装前请注意
邮件通讯内容会发送给 OpenAI 进行提取,请勿粘贴机密或订阅者资料。OpenAI 密钥是可计费凭据,每次提取都会产生 AI 费用。设置 MCP_API_KEYS 后按每次调用 0.01 美元计费,PAYMENT_ENABLED 可强制执行限额。提取的联盟链接和赞助商评分只是估算,并非核实数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Newsletter Commerce Mcp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Newsletter Commerce Intelligence MCP

[npm] [License: MIT] [Stars]

Turn newsletters into affiliate revenue. Extract sponsored products, brand mentions, and affiliate signals from any Substack, Ghost, or Beehiiv issue. Then auto-generate a shoppable "Products in this edition" section ready to paste into your newsletter. F1=100% on eval suite. Free tier: 200 calls/day.

⭐ If this saves you time, please star the repo — it helps other developers find it.

Live endpoint: https://newsletter-commerce-mcp.sincetoday.workers.dev/mcp · See examples

Extract product mentions, score sponsors, and track affiliate trends from newsletters. Supports Substack, Ghost, Beehiiv, and plain text. Built on x402, the open payment standard backed by Shopify, Google, Microsoft, Visa, and the Linux Foundation.

Tools

ToolDescription
extract_newsletter_productsExtract products, affiliate links, and sponsor mentions from a newsletter issue
analyze_newsletter_sponsorsScore sponsor sections by CPM, read-through rate, and audience fit
track_product_trendsCompare product mentions across multiple newsletter issues to surface trending products and brand patterns
generate_newsletter_products_sectionFormat extracted products into a 'Products in This Edition' footer section (markdown or HTML)

Quick Start

bash
# Installnpm install newsletter-commerce-mcp
# Configurecp .env.example .env# Edit .env: set OPENAI_API_KEY
# Run (stdio MCP server)npx newsletter-commerce-mcp

MCP Client Config

json
{  "mcpServers": {    "newsletter-commerce": {      "command": "npx",      "args": ["newsletter-commerce-mcp"],      "env": {        "OPENAI_API_KEY": "sk-..."      }    }  }}

Tool Reference

extract_newsletter_products

json
{  "content": "Newsletter HTML or plain text (max 200k chars)",  "newsletter_id": "optional-cache-key",  "format": "html",  "api_key": "optional-paid-key"}

Returns:

json
{  "newsletter_id": "swipe-file-issue-47",  "products": [    {      "name": "Notion AI",      "category": "saas",      "mention_context": "running my entire writing workflow through Notion AI",      "recommendation_strength": "strong",      "affiliate_link": null,      "confidence": 0.94,      "is_sponsored": false    }  ],  "sponsor_sections": [...],  "_meta": { "processing_time_ms": 1620, "ai_cost_usd": 0.0028, "cache_hit": false }}

analyze_newsletter_sponsors

json
{  "content": "Newsletter HTML or plain text",  "newsletter_id": "optional",  "api_key": "optional"}

Returns CPM estimate, read-through rate, and sponsor-reader fit score per sponsor section.

track_product_trends

json
{  "newsletter_ids": ["issue-45", "issue-46", "issue-47"],  "category_filter": ["saas", "books"]}

Requires prior extract_newsletter_products calls for each newsletter_id. Returns trend data including top_category, avg_recommendation_strength, and brand per product trend.

generate_newsletter_products_section

json
{  "newsletter_id": "swipe-file-issue-47",  "format": "markdown",  "style": "full",  "api_key": "optional"}

Formats extracted products into a ready-to-paste 'Products in This Edition' section. Pass newsletter_id (uses cached extraction) or products[] directly. format: markdown (default) or html. style: full (default, grouped by endorsement strength with context quotes) or minimal (compact list).

Example Output

Real extraction from a TLDR Tech newsletter (live eval: F1=88%, 95/100 score, $0.00051/call, 7390ms):

json
{  "newsletter_id": "tldr-2024-03-07",  "products": [    {      "name": "Groq",      "category": "saas",      "mention_context": "Groq has launched public API access — runs Llama 2 at 300 tokens/second",      "confidence": 0.94,      "recommendation_strength": "neutral"    },    {      "name": "Devin (Cognition AI)",      "category": "saas",      "mention_context": "first AI software engineer — benchmarks show it can complete real GitHub issues end-to-end",      "confidence": 0.91,      "recommendation_strength": "strong"    }  ]}

See /examples endpoint for full output with value narrative: https://newsletter-commerce-mcp.sincetoday.workers.dev/examples

Pricing

  • Free tier: 200 calls/day per agent (no API key required)
  • Paid: $0.01/call — set MCP_API_KEYS with valid keys

Environment Variables

VariableRequiredDefaultDescription
OPENAI_API_KEYYes—OpenAI API key
AGENT_IDNoanonymousAgent identifier for rate limiting
MCP_API_KEYSNo—Comma-separated paid API keys
CACHE_DIRNo./data/cache.dbSQLite cache path
PAYMENT_ENABLEDNofalseSet true to enforce limits

Development

bash
npm installnpm run typecheck   # Zero type errorsnpm test            # All tests passnpm run build       # Compile to dist/

License

MIT — Since Today Studio

来源:README.md,提交 7f1e76a

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.3最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。