Skip to main content

A multi-platform article publishing web tool.

Project description

欢迎来到 Arcs-MCP 👋

python fastapi uv chrome license mcp Ask DeepWiki


支持MCP服务的多平台一键发布工具

📖 概述

如果有将文章分享发布到多个平台的需求,可以借助这个工具来简化这一流程。该发布工具支持MCP服务,可以让用户使用自然语言处理并实现文章在多个平台的一键式发布。

用户可以描述他们想要实现的效果,例如,“将这篇文章发布到CSDN上。”——工具会自动将文章发布到指定的发布源平台上。

🔑 前置条件

  • 兼容 MCP 的 AI 客户端:Claude 桌面版、Gemini CLI、Cherry Studio 或其他 MCP 客户端。
  • uv:一个现代的 Python 包安装器和解析器。

📦 安装与配置

1. 安装 uv 环境

这里推荐使用 Cherry Studio 客户端来配置该工具的MCP服务,操作和环境配置会更加友好。Cherry Studio 还自带了 uv 环境的部署功能,用户可以一键完成安装。

Tips:Cherry Studio 目前只使用内置的 uvbun不会复用系统中已经安装的 uv 和 bun。

也可选择手动独立安装 uv 环境,使用命令行完成部署:

macOS & Linux

# 使用 `curl` 下载脚本并通过 `sh` 执行:
curl -LsSf https://astral.sh/uv/install.sh | sh

# 如果系统没有 `curl`,可以使用 `wget`:
wget -qO- https://astral.sh/uv/install.sh | sh

Windows

# 使用 `irm` 下载脚本并通过 `iex` 执行:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

2. 克隆仓库

  1. 克隆仓库并切换至该目录:
git clone https://github.com/Cyanty/Arcs-MCP.git
cd Arcs-MCP
  1. 复制环境配置文件:
cp .env.example .env

Tips:部分平台支持 API 发布文章,可通过.env文件配置所需平台密钥。

  1. 构建并运行服务:
uv run --directory your/path/to/Arcs-MCP server.py

3. 配置 MCP 客户端

配置您的 MCP 客户端,这里我们以 Cherry Studio 的AI客户端工具为例。

  • 添加服务器 按钮中点击 快速创建 选项,选择 可流式传输的HTTP (streamableHttp) 类型 ,并添加如下URL:
http://127.0.0.1:8001/submit/mcp

快速创建配置如下图所示:

或者 采用JSON配置,

  • 添加服务器 按钮中点击 从JSON导入 选项,将以下内容添加到配置文件中:
{
  "mcpServers": {
    "SubmitArticleServer": {
      "type": "streamableHttp",
      "url": "http://localhost:8001/submit/mcp"
    }
  }
}

🚀 使用方法

Tips:在开始之前,请确保您的 MCP 客户端已成功完成上述配置。

可用工具

可用工具一览:

工具说明:

help_open_browser:帮助用户打开一次浏览器(MCP发布浏览器),例如:"请帮我打开浏览器",用户可通过此浏览器进行账号登录等操作。

submit_verify_login:校验所有发布源平台的账号登录状态,例如:"请帮我验证所有平台的登录状态",用户可通过此方法验证各平台账号登录状态及个人令牌/密钥是否有效。

get_submit_toggle_switch:获取当前各发布源的发布开关状态,例如:"请告诉我当前各平台的发布开关状态",发布开关用于为用户标识哪些平台是可以进行发布文章操作的。

update_submit_toggle_switch:更新各发布源平台的发布开关状态,例如:"请开启CSDN平台的发布开关",开启平台发布开关可用于发布文章到指定的平台。

submit_article_content_prompt:发布文章的文本内容到各平台,例如:"将文章的文本内容发布到CSDN上",等待发布操作完成,就可以在发布的平台上看到自己的文章了。

submit_article_file_to_platforms:通过文章的文件路径发布到各平台,例如:"帮我把/your/path/to/file-absolute-path这篇文章发布到CSDN上",等待发布操作完成,就可以在发布的平台上看到自己的文章了。

发布文章示例

Tips:在发布之前,请确保您的 MCP发布浏览器及个人令牌/密钥 -> 处于登录或可用状态。

使用 Cherry Studio 通过聊天的方式发布一篇文章到 CSDN 上。

在新建聊天窗口中,点击 MCP服务器,选中之前配置的 SubmitArticleServer MCP服务:

在聊天框中输入,比如:"帮我把这篇文章发布到CSDN上。文章的本地路径为:C:\Users\Administrator\Desktop\发布一篇文章测试.md",等待大模型返回发布结果:

该发布工具同时支持以文本内容的方式进行发布,不过由于集成的AI客户端工具处理方式差异,大模型可能会读取文章全部内容作为上下文,比较耗费Token,耗时也较长。这里推荐使用 以文件路径的方式 发布文章。

以文本内容的方式发布,聊天输入示例如下:

⚡ 发布实现

该发布工具为MCP服务提供支持,通过整合各平台发布接口和自动化技术实现高效发布:

  • 统一入口:支持从.md文件直接导入内容,适配MCP服务实现异步并行发布

  • 图片处理:自动转换外链图片为平台兼容的图片链接地址

  • 发布方式:根据不同平台特性采用API调用或浏览器自动化两种策略

目前支持的发布平台(可自定义横向扩展其他平台)

平台 发布方式
CSDN 自动化发布
掘金 草稿API + 自动化发布
博客园 Metaweblog API
微信公众号 MD格式美化 + 开放API
知乎 MD格式美化 + 自动化发布
Halo自建站 API/令牌认证
......

除此之外,工具还提供了一个发布操作的web页面,用户可在浏览器页面上进行操作,上传本地.md格式文件实现各平台文章的发布。

如:访问 http://127.0.0.1:8001 ,发布页面如下:

🤝 欢迎贡献

欢迎贡献!无论是修复 bug、添加新功能还是改进文档,都可以随时提交 Pull Request 或打开一个 issue。

📝 License

本项目遵循 Apache License 2.0 协议,完整文本见 LICENSE 文件。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_cyanty_one_article_submission-0.1.0.tar.gz.

File metadata

  • Download URL: iflow_mcp_cyanty_one_article_submission-0.1.0.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_cyanty_one_article_submission-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8efb89be8ad87cd5fbd60b8788b28de7cfcb75a4ff3b44243587769fb69f2851
MD5 23c1a3913948c514780321de7472952c
BLAKE2b-256 d0a3eb47a1872ae1bf9acea8768be9a76be38c6bd2c9c2a4bf7bcb50d393c159

See more details on using hashes here.

File details

Details for the file iflow_mcp_cyanty_one_article_submission-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_cyanty_one_article_submission-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 55.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_cyanty_one_article_submission-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4c2f00e647dbe39786b6dab5a81ed5b7a3eba39ada5bbb8eb3de0064013e1fa2
MD5 be72ad62dda7ff27f59eb565524eb34e
BLAKE2b-256 2b3f5907cfc6ce3236b7a378167e259bc63cfa86c49feb5672d3f10f43039cb1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page