Article-published
MCP server that connects AI clients to a browser extension for extracting articles from web pages and saving them as drafts to multiple content platforms.
README
小叶发布器 / Article-published
AI 驱动的本地文章发布助手:连接浏览器扩展与 MCP 客户端,把当前网页文章提取出来,并保存到多个内容平台草稿箱。
小叶发布器适合自媒体作者、技术博主和经常使用 AI 写作的人。你可以让 Claude、Codex、WorkBuddy、Hermes 等支持 MCP 的客户端调用本地浏览器扩展,读取当前页面内容,使用浏览器已有登录状态,把文章保存到公众号、知乎、掘金、CSDN 等平台草稿箱。
项目默认坚持“草稿优先”:AI 只负责提取、整理和创建草稿,最终发布仍然由你自己在平台后台确认。
主要能力
- 浏览器扩展:在 Chrome/Edge 中读取当前页面和登录状态。
- 文章提取:支持从当前标签页提取标题、正文、封面和摘要。
- 草稿保存:把文章保存到已登录平台的草稿箱。
- MCP 服务:让 AI 客户端通过工具调用浏览器发布能力。
- 本地分发:不依赖 Chrome Web Store,用户可以从 GitHub 下载后本地加载。
环境要求
- Node.js 20 或更高版本
- Chrome 或 Edge 浏览器
- 一个支持 MCP 的客户端,例如 Claude Desktop、Codex、WorkBuddy 或 Hermes
快速开始
克隆项目:
git clone https://github.com/yesheng-oss/Article-published.git
cd Article-published
安装依赖并构建:
npm install
npm run build
只构建浏览器扩展:
npm run build:extension
构建完成后,浏览器扩展目录在:
packages/extension/dist
安装浏览器扩展
- 打开 Chrome 或 Edge。
- 进入
chrome://extensions或edge://extensions。 - 开启右上角“开发者模式”。
- 点击“加载已解压的扩展程序”。
- 选择本项目里的
packages/extension/dist文件夹。 - 浏览器右上角会出现“小叶发布器”图标。
如果你是从 GitHub Releases 下载的压缩包,请先解压,再选择解压后的 dist 文件夹。
启动 MCP 服务
在项目根目录运行:
$env:MCP_TOKEN="your-token"
npm run mcp
MCP_TOKEN 是浏览器扩展和 MCP 服务之间的本地连接密钥。你可以换成任意较长的随机字符串。
默认地址:
- 浏览器扩展 WebSocket:
ws://localhost:9527 - SSE 服务:
http://localhost:9529/sse
如果需要 SSE 模式:
$env:MCP_TOKEN="your-token"
node packages/mcp-server/dist/index.js --sse
配置浏览器扩展
- 点击浏览器右上角“小叶发布器”图标。
- 打开设置。
- 填入和 MCP 服务一致的 token。
- 服务地址可以留空,默认使用
ws://localhost:9527。 - 保持 MCP 服务运行,再刷新扩展连接状态。
MCP 客户端配置示例
把下面路径改成你自己电脑上的项目路径:
{
"mcpServers": {
"browser-assistant": {
"command": "node",
"args": [
"D:/your/path/Article-published/packages/mcp-server/dist/index.js"
],
"env": {
"MCP_TOKEN": "your-token"
}
}
}
}
注意:
MCP_TOKEN要和扩展设置里的一致。- 修改 MCP 配置后,通常需要重启对应 AI 客户端。
- Windows 路径可以使用
/,例如D:/your/path/...。
如何使用
- 在浏览器中登录你要发布的平台。
- 打开一篇文章页面,例如微信公众号文章页。
- 点击“小叶发布器”扩展图标,确认文章已被识别。
- 在 AI 客户端中调用 MCP 工具,或在扩展弹窗中选择平台。
- 执行同步后,文章会保存到目标平台草稿箱。
- 打开平台后台检查内容,确认无误后手动发布。
可用 MCP 工具
list_platforms:列出扩展侧可用平台和登录状态。check_auth:检查指定平台是否已登录。extract_article:从当前浏览器标签页提取文章。sync_article:把文章保存到一个或多个平台草稿箱。upload_image_file:通过已连接的浏览器扩展上传本地图片。
许可证
本项目基于 GPL-3.0 协议发布,部分实现参考并改造自开源社区项目。相关来源与许可证信息见仓库中的 NOTICE 文件。
免责声明
本项目仅用于个人内容整理和草稿发布辅助。请遵守目标平台的服务条款,不要用于垃圾内容、批量骚扰、绕过平台风控或任何违法违规用途。
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.