使用说明
子组MCP Plus
可用的最先进的Substack MCP服务器。 使用全文格式在几分钟内创建可发布的帖子,管理草稿、安排帖子等,所有这些都可以从 克劳德桌面 或任何MCP兼容客户端。
📋 需求
- Python 3.10或更高版本
- 子组帐户凭据:
- 电子邮件和密码(推荐)
- OR会话令牌和用户ID
- 支持模型上下文协议(MCP)的LLM客户端
- 此MCP服务器已使用Claude Desktop进行了彻底测试
⚠️ 重要免责声明
这是一个非官方工具 不隶属于Substack股份有限公司。
- 我们不受Substack的支持或与之有关联
- 此工具使用非官方 python子堆栈 图书馆
- Substack不提供公共API;该工具使用逆向工程端点
- 如果Substack更改其专用API,则功能可能会中断
- 使用风险由您自行承担,并符合Substack的服务条款
🚀 零配置设置
1.安装包装
npm install -g substack-mcp-plus
2.使用Substack进行身份验证
substack-mcp-plus-setup
安装向导将:
- 打开浏览器进行安全登录
- 处理验证码挑战
- 存储加密凭据
- 测试您的连接
3.配置克劳德桌面
添加到您的Claude Desktop配置中:
{
"mcpServers": {
"substack-mcp-plus": {
"command": "substack-mcp-plus",
"env": {
"SUBSTACK_PUBLICATION_URL": "https://yourpublication.substack.com"
}
}
}
}
就是这样!自动Python检测、虚拟环境设置和依赖关系安装。
🌟 为什么选择Substack MCP Plus?
✨ 无缝身份验证
- 基于浏览器的设置 -没有API密钥或复杂配置
- 验证码支持 -自动应对安全挑战
- 安全令牌存储 -加密本地存储,配置中没有密码
- 魔术链接和密码验证 -适用于任何Substack帐户类型
📝 无与伦比的内容创作
- 完整的富文本支持 -标题、粗体、斜体、列表、代码块、图像
- 多种格式 -用Markdown、HTML或纯文本编写
- 智能格式化 -自动转换为Substack的原生格式
- 支付墙标记 -轻松分离免费和高级内容
⚡ 闪电般快速的出版
- 距离起草还有30秒 -“创建一个关于X的帖子”→ Substack中的草稿已准备就绪
- 即时发布 -“发布我的最新草稿”→ 向订阅者直播
- 无上下文切换 -无需离开Claude Desktop即可编写、编辑和发布
- 批量操作 -在几分钟内创建多个帖子,而不是几个小时
- 从构思到发表 -过去需要30-60分钟,现在需要2-3分钟
🎯 12个强大的工具
创建、更新、发布、复制帖子等。可用的最全面的Substack自动化工具包。
🛠 可用工具
所有12个工具一览:
- create_formatted_post -创建富文本草稿
- update_post -编辑现有草稿
- publish_post -立即发布
- list_drafts -查看草稿帖子
- list_已发布 -查看已发布的帖子
- get_post_content -阅读完整帖子内容
- 复制邮件 -复制现有帖子
- upload_image -上传到Substack CDN
- 预览_草稿 -生成预览链接
- get_sections -列出出版物部分
- get_subscriber_count -查看订阅者统计信息
- delete_draft -安全删除草稿
💬 预期内容示例
以下是您可以对Claude Desktop说的话以及每个工具的功能:
创建内容
你说: “创建关于人工智能和未来工作的新Substack草案”
发生了什么: 使用您的内容创建草稿帖子,返回帖子ID和URL
克劳德展示: “我创建了一个名为‘人工智能和工作的未来’的帖子草稿(ID:123456)”
你说: “在介绍后写一篇带有付费墙的帖子”
发生了什么: 创建包含免费预览内容和高级内容的草稿,两者之间用 <!--paywall-->
克劳德展示: “使用付费墙标记创建的草稿。免费读者将看到介绍,订阅者可以完全访问。”
管理职位
你说: “显示我的最后5个草稿”
发生了什么: 列出您最近的草稿帖子,包括标题、ID和日期
克劳德展示: 一个格式化的列表,如:
1. "AI and the Future of Work" (ID: 123456) - Created 2 hours ago
2. "Weekly Newsletter #42" (ID: 123455) - Created yesterday
3. "Book Review: Deep Work" (ID: 123454) - Created 3 days ago
你说: 将草案123456的副标题更新为“自动化将如何重塑职业生涯”
发生了什么: 仅更新指定草稿的副标题字段
克劳德展示: “更新了帖子副标题。注意:这将替换整个副标题字段。”
你说: “发布我的最新草稿”
发生了什么: 立即将草稿发布给您的订阅者
克劳德展示: “帖子已发布!现在在线:https://yourpub.substack.com/p/ai-and-future-work"
使用内容
你说: “向我展示我发布的关于远程工作的帖子中的内容”
发生了什么: 检索并显示帖子的完整格式化内容
克劳德展示: 完整的帖子内容,采用可读的markdown格式
你说: “复制我最受欢迎的帖子作为模板”
发生了什么: 创建内容相同但标题为“[原件]副本”的新草稿
克劳德展示: 已创建草稿“您的热门帖子副本”(ID:123457)
你说: “从我的桌面上传图表图像”
发生了什么: 将图像上传到Substack的CDN并返回URL
克劳德展示: “图像上传成功:https://substackcdn.com/image/..."
分析与管理
你说: “我有多少订阅者?”
发生了什么: 检索您当前的订阅者计数
克劳德展示: “您在上有1234个订阅者https://yourpub.substack.com"
你说: “我的出版物有哪些部分?”
发生了什么: 列出出版物的所有章节/类别
克劳德展示: 您的出版物有以下部分:通讯、论文、书评、播客
你说: “为草稿123456生成预览链接”
发生了什么: 创建仅供作者共享的预览URL
克劳德展示: “预览链接:https://yourpub.substack.com/p/ai-and-future-work?preview=true"
你说: “删除我之前创建的测试草稿”
发生了什么: 请求确认,然后永久删除草稿
克劳德展示: “您确定要删除“测试帖子”吗?请确认。”
重要提示
- 创建帖子时保留所有格式(粗体、斜体、列表、代码块)
- 该工具自动处理身份验证,无需手动管理令牌
- 草稿帖子会立即保存,也可以在Substack的网络编辑器中编辑
- 发布的帖子会立即向所有订阅者上线
💭 我们为什么建造这个
“这么多想法,几乎没有时间真正发表。”
我是一个产品专家,脑子里有无数想法。在LLM出现之前,写作是瓶颈。现在,随着Claude和ChatGPT在几分钟内生成详细的文章,我意识到 出版业已成为新的制约因素.
旅程
在花了2-3个小时尝试设置现有的Substack MCP服务器(涉及从浏览器开发工具中窃取会话令牌!)后,我们终于成功了。我们欣喜若狂。..直到我们试图发表我们的第一篇帖子。
所有的格式都消失了。仅限纯文本。
我们的希望破灭了,但从失望中我们下定了决心。为什么没有人在经过考验的战斗中建造 python-substack 图书馆?这是我们的机会。
实验
作为一个自2018年以来就没有写过生产代码的人,我想测试一个理论: 人工智能代理能否通过适当的规划和TDD构建生产质量的软件?
答案是肯定的。使用Claude代码进行严格的测试驱动开发:
- 先编写失败的测试
- 实现代码以通过这些测试
- 没有幻觉,没有重大错误
- 我“相当于经营核电站的霍默·辛普森”
结果如何? 在不到24小时的时间里,我们构建了最强大的Substack MCP服务器。 我没有写一行代码。
我们的愿景
这不仅仅是一个工具。这是关于:
- 赋予创作者权力 无摩擦地传播想法
- 鼓舞人心的开发者 以此为基础
- 证明什么是可能的 人工智能辅助开发
- 设定标准 出版自动化应该是什么
因为当出版没有摩擦时,想法就会自由流动。
📚 文档
有关详细指南和文档,请参阅 文档目录:
📝 已知限制
格式化和显示
- 文字格式 显示为markdown语法(
**bold**,*italic*)而不是格式化文本 - 链接 显示为
[text](url)而不是可点击的链接 - 图像 可能显示为
而不是渲染图像 - 区块链报价 显示器
>前缀而不是样式块
API功能限制
- 无速率限制 -注意Substack未记录的API限制
- 订阅者计数 即使有活动订阅者,也可能显示0(API限制)
- 已删除帖子安排 由于API端点过期(404个错误)
- 预览链接 仅限作者(可共享链接需要UUID访问,不可用)
不支持的功能
- 没有协作帖子、帖子或播客集
- 没有超出订阅者数量的分析(浏览量、打开量、参与度)
- 没有自定义CSS、JavaScript或嵌入式内容(推文、视频)
- 未记录最大帖子大小限制
技术限制
- 用途 非官方反向发动机API 如有更改,恕不另行通知
- python子堆栈库 已超过2年未更新
- 会话令牌过期并需要重新身份验证
- 一些具有高级安全性的帐户可能存在问题
变通方案:使用此工具创建草稿,然后在发布前使用Substack的web编辑器进行最终的格式设置。
🔒 安全最佳实践
保护您的凭据
-
永远不要承诺你的
.env文件 到版本控制- 使用提供的
.env.example作为模板 - 创建自己的
.env使用您的实际凭据进行归档 - 这
.env文件已在.gitignore为了保护你
- 使用提供的
-
使用强大、唯一的密码
- 不要在其他地方重复使用Substack密码
- 考虑使用密码管理器
- 如果可用,请在您的Substack帐户上启用双因素身份验证
-
定期轮换凭据
- 定期更改Substack密码
- 如果使用会话令牌,请在过期时刷新它们
- 如果您怀疑凭据已被泄露,请立即更改凭据
安全配置
配置MCP客户端时:
- 将凭据存储在环境变量中,而不是代码中
- 对配置文件使用最严格的文件权限
- 避免记录或打印凭据
- 共享配置示例时要小心
报告安全问题
发现安全漏洞?请 不要 制造公共问题。相反:
- 查看我们的 安全.md 报告指南文件
- 私下报告以保持负责任的披露
- 在公开披露之前,留出时间进行修复
有关更多安全信息,请参阅我们的 安全策略.
🎨 格式示例
标题和文本样式
# Main Title (H1)
## Section Header (H2)
### Subsection (H3)
Regular text with **bold**, *italic*, and ***bold italic*** formatting.
列表
Unordered list:
- First item
- Second item
- Third item
Ordered list:
1. First step
2. Second step
3. Third step
代码块
```python
def greet(name):
return f"Hello, {name}!"
```
链接和图片
[Visit my website](https://example.com)

支付墙标记
Free content here...
<!--paywall-->
Premium content here...
🧪 发展
运行测试
# Run all tests
pytest
# Run with coverage
pytest --cov=src
# Run specific test file
pytest tests/unit/test_markdown_converter.py
代码格式化
# Format code
black src tests
# Type checking
mypy src
📦 项目结构
substack-mcp-plus/
├── src/
│ ├── converters/ # Format converters (Markdown → Substack JSON)
│ ├── handlers/ # API handlers (auth, posts, images)
│ ├── tools/ # MCP tool implementations
│ └── server.py # Main MCP server
├── tests/
│ ├── unit/ # Unit tests for components
│ └── integration/ # End-to-end workflow tests
└── pyproject.toml # Project configuration
🤝 贡献
我们欢迎捐款!查看:
快速步骤:
- 在中查找任务 TODO.md 或引发问题
- 分叉存储库
- 创建要素分支(
git checkout -b feature/amazing-feature) - 先写测试(TDD要求)
- 实现您的功能
- 运行测试以确保一切通过
- 提交您的更改(
git commit -m 'Add amazing feature') - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
🙏 致谢
- 原创 亚叠层mcp Marco Moauro-该项目的基础
- python子堆栈 -Substack的非官方Python库(不隶属于Substack股份有限公司)
- 模型上下文协议 Anthropic的规格
- Substack团队创建了一个令人惊叹的平台(尽管我们没有隶属关系)