Token导航 LogoToken导航TokenDH.com
Newsletter Archive logo
数据服务stdio官方级别未说明来源级核验

Newsletter Archive

MCP Server

将Substack新闻通讯转化为个人知识库,支持通过自然语言进行搜索、分析和可视化。

工具数

7

提示词数

0

GitHub Stars

2

资源数

0
数据分析PythonClaude自然语言处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

KarenSpinner

提供方

KarenSpinner

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv .venv

详细介绍

Substack通讯存档+克劳德桌面MCP

将您的Substack通讯转化为个人知识库,Claude Desktop可以通过自然对话进行搜索、分析和可视化。

这有什么作用

  1. 摄入 将Substack时事通讯中的每篇文章都存入本地SQLite数据库(全文、元数据、参与度指标)
  2. 暴露 通过MCP(模型上下文协议)向Claude Desktop提供7个只读工具
  3. Claude Desktop成为您的前端 --搜索你的档案,分析趋势,比较帖子,生成可视化,所有这些都是用自然语言完成的

需求

  • Python 3.12+
  • Node.js(用于可选的Mermaid图渲染)
  • 克劳德桌面版
  • Substack时事通讯(你的——你是作者)

设置

1.创建虚拟环境并安装依赖项

cd newsletter-archive
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt

2.配置您的时事通讯

编辑 config.py 并设置您的时事通讯。适用于Substack slug或自定义域:

# Standard Substack URL:
NEWSLETTER_SLUG = "yournewsletter"          # → https://yournewsletter.substack.com

# Custom domain:
NEWSLETTER_SLUG = "www.mycustomdomain.com"  # → https://www.mycustomdomain.com

# Full URL also works:
NEWSLETTER_SLUG = "https://www.mycustomdomain.com"

3.摄取你的文章

.venv/bin/python ingest_runner.py

您将看到每篇文章的进展:

Connecting to Substack: yournewsletter... OK
Fetching article archive... found 39 articles
[  1/39] "Article Title" (2025-07-09)... saved
...
Done: 39 saved, 0 skipped, 0 failed

要稍后重新获取所有内容,请执行以下操作: .venv/bin/python ingest_runner.py --full

4.连接到克劳德桌面

打开您的Claude Desktop配置文件:

~/Library/Application Support/Claude/claude_desktop_config.json

(在macOS上:Finder→ Go → 转到文件夹→ 粘贴上面的路径)

将此添加到 "mcpServers" 部分(更新路径以匹配您放置此项目的位置):

{
  "mcpServers": {
    "my-newsletter": {
      "command": "/FULL/PATH/TO/newsletter-archive/.venv/bin/python",
      "args": ["/FULL/PATH/TO/newsletter-archive/mcp_server/server.py"],
      "env": {
        "DB_PATH": "/FULL/PATH/TO/newsletter-archive/newsletter.db"
      }
    }
  }
}

重要提示: 使用完整的绝对路径,而不是 ~ 或相对路径。

如果您已经配置了其他MCP服务器,请添加 "my-newsletter" 与它们并排放置(不要替换现有的)。

5.重新启动克劳德桌面

完全退出Claude Desktop(Cmd+Q)并重新打开。通讯工具将自动出现。

你可以问克劳德什么

连接后:

  • “我的哪些帖子参与度最高?”
  • “向我展示我写的关于\[主题\]的所有内容”
  • “我的平均字数随时间有何变化?”
  • “哪些免费帖子的表现优于我的付费帖子?”
  • “总结我过去10篇文章中的关键主题”
  • “我最常谈论的话题是什么?”

可选:添加美人鱼图渲染

让Claude在线生成思维导图、流程图和其他可视化:

将此添加到您的 claude_desktop_config.json 在时事通讯服务器旁边:

"mermaid": {
  "command": "npx",
  "args": ["-y", "@peng-shawn/mermaid-mcp-server"]
}

需要Node.js。然后问克劳德一些事情,比如“为我的时事通讯主题创建一个思维导图。”

MCP工具参考

工具说明
get_newsletter_info通讯名称、作者、文章总数、日期范围、参与摘要
search_articles按关键字、日期范围、受众类型筛选--返回摘要
full_text_searchFTS5搜索所有文章内容--返回片段
get_article按ID列出一篇文章的全文+元数据
get_articles_batch一次最多5篇文章的全文
get_stats总计、平均值、免费与付费细分、按年份分列的文章
get_top_articles按反应、评论或字数排名

项目结构

newsletter-archive/
├── config.py              # Your newsletter slug (edit this)
├── ingest_runner.py       # CLI: python ingest_runner.py [--full]
├── requirements.txt       # 4 dependencies
├── db/
│   ├── schema.py          # SQLite tables + FTS5 search index
│   └── operations.py      # All database queries
├── ingest/
│   ├── parser.py          # HTML → plain text conversion
│   └── fetcher.py         # Substack API fetching (two-phase)
├── mcp_server/
│   └── server.py          # MCP server with 7 tools
└── docs/
    └── spec.md            # Full project specification

更新您的存档

随时再次运行摄入脚本以获取新文章:

.venv/bin/python ingest_runner.py

它只获取数据库中尚未存在的文章(按URL进行重复数据消除)。

故障排除

“未找到时事通讯数据” --你需要奔跑 ingest_runner.py 在使用MCP工具之前。

Claude Desktop未显示工具 --检查你的路径 claude_desktop_config.json 是正确的绝对路径。完全退出并重新打开Claude Desktop。

摄入发现的物品比预期的少 -Substack API可能与分页不一致。提取器使用小页面大小(12)来解决这个问题。如果文章仍然缺失,请尝试 --full.

目录标签

目录标签

数据分析PythonClaude自然语言处理知识库管理本地部署Substack工具SQLite数据库

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP