substack-mcp
一个用于 Substack 的 MCP 服务器,让 AI 助手能够读取你的发布数据并管理草稿。
设计安全: 此服务器可以创建和编辑草稿,但无法发布或删除文章。你始终需要通过 Substack 编辑器手动审核并发布。
工具
读取
工具 | 描述 |
| 获取你发布内容的当前订阅者数量 |
| 列出已发布的文章(支持分页) |
| 列出草稿文章 |
| 通过 ID 获取已发布文章的完整内容 |
| 通过 ID 获取草稿的完整内容 |
| 获取已发布文章的评论 |
写入
工具 | 描述 |
| 从 Markdown 创建新草稿 |
| 更新现有草稿(仅限未发布) |
| 上传图片到 Substack 的 CDN |
| 发布 Substack 笔记(短文,立即发布) |
| 发布带有链接卡片附件的笔记 |
特意排除的功能
发布文章 — 发布长文应是人类的审慎行为
删除 — 对 AI 工具而言破坏性过大
定时发布 — 请使用 Substack 编辑器进行定时发布
Related MCP server: Substack MCP Server
设置
1. 获取凭据
在浏览器中打开你的 Substack,然后:
会话令牌 (Session token): 导航到你的发布页面,打开开发者工具 (DevTools) → Application → Cookies → 复制
connect.sid的值(以s%3A开头的 URL 编码字符串)用户 ID (User ID): 在开发者工具控制台中运行:
fetch('/api/v1/archive?sort=new&limit=1').then(r=>r.json()).then(d=>console.log(d[0]?.publishedBylines?.[0]?.id))发布 URL (Publication URL): 你的 Substack URL,如果使用了自定义域名,请包含该域名(例如
https://newsletter.yourdomain.com或https://yourblog.substack.com)
2. 配置你的 MCP 客户端
Claude Desktop
添加到你的 claude_desktop_config.json:
{
"mcpServers": {
"substack": {
"command": "npx",
"args": ["-y", "@conorbronsdon/substack-mcp"],
"env": {
"SUBSTACK_PUBLICATION_URL": "https://yourblog.substack.com",
"SUBSTACK_SESSION_TOKEN": "your-session-token",
"SUBSTACK_USER_ID": "your-user-id"
}
}
}
}Claude Code
添加到你的 .mcp.json:
{
"mcpServers": {
"substack": {
"command": "npx",
"args": ["-y", "@conorbronsdon/substack-mcp"],
"env": {
"SUBSTACK_PUBLICATION_URL": "https://yourblog.substack.com",
"SUBSTACK_SESSION_TOKEN": "your-session-token",
"SUBSTACK_USER_ID": "your-user-id"
}
}
}
}3. 验证
询问你的 AI 助手:“我有多少个 Substack 订阅者?”
令牌过期
Substack 会话令牌会定期过期(通常约为 90 天)。如果遇到身份验证错误,请从浏览器中获取新的 connect.sid cookie 并更新环境变量。复制 cookie 时请确保已禁用广告拦截器。
Markdown 支持
create_draft 和 update_draft 工具接受 Markdown 并将其转换为 Substack 的原生格式。支持:
段落、标题 (h1–h6)
粗体、斜体、
inline code图片
无序和有序列表
代码块(带语言标识)
引用块
水平分割线
重要说明
此服务器使用 Substack 的非官方 API。如果 Substack 更改其端点,此服务可能会失效。
会话令牌以 cookie 形式发送。请妥善保管你的
SUBSTACK_SESSION_TOKEN。服务器会在启动时验证身份验证,如果你的令牌已过期,它将立即报错。
开发
git clone https://github.com/conorbronsdon/substack-mcp.git
cd substack-mcp
npm install
npm run build本地运行:
SUBSTACK_PUBLICATION_URL=https://yourblog.substack.com \
SUBSTACK_SESSION_TOKEN=your-token \
SUBSTACK_USER_ID=your-id \
npm start免责声明
本账户所表达的所有观点、意见和陈述均仅代表我个人,并以个人身份作出。它们不反映,也不应被解释为反映 Modular 的观点、立场或政策。本账户与 Modular 没有任何关联、授权或背书。
许可证
MIT
Maintenance
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/conorbronsdon/substack-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
