Skip to main content
Glama
279458179

自媒体文案助手 MCP Server

by 279458179
README.md
# 自媒体文案助手

一个 Windows 本地桌面应用,也提供 MCP 服务,方便其他 Agent 直接调用同一套能力。

普通使用不需要准备热点接口、TikHub Key 或大模型 Key。打开程序后选择图片,点击“刷新热点”或“生成可直接发布的成品文案”即可。没有外部接口时,程序会自动使用内置选题和本地图片分析生成草稿。

## 功能

- 小红书、抖音选题/热点辅助
- 本地图片尺寸、明暗、色调、画幅分析
- 可选调用用户自己的 OpenAI-compatible 大模型
- 未配置大模型时自动生成本地模板草稿
- 第三方热点接口不可用时自动降级到内置选题
- 输出一条可直接复制发布的成品文案,不输出 Markdown 方案稿
- 桌面端支持一键复制生成结果
- MCP 端可被其他 Agent 通过 stdio 调用
- 支持打包为 `.exe`,本地双击运行桌面端,或作为 MCP 进程启动

## 桌面端运行

```powershell
python -m pip install -r requirements.txt
python main.py
```

## 桌面端打包 EXE

```powershell
.\build_exe.ps1
```

生成文件:

```text
dist\MediaCopyAssistantNoApi\MediaCopyAssistantNoApi.exe
```

## MCP 服务

MCP 入口:

```powershell
python mcp_server.py
```

MCP 使用 stdio transport,适合 Claude Desktop、Codex、OpenClaw 或其他支持 MCP 的 Agent 启动。

### MCP 工具

`fetch_hot_topics`

获取指定平台热点/选题列表。

参数:

```json
{
  "platform": "xiaohongshu",
  "limit": 10
}
```

`analyze_image`

分析本地图片的尺寸、画幅、明暗和主色调。

参数:

```json
{
  "image_path": "D:\\path\\image.jpg"
}
```

`generate_ready_copy`

核心工具:结合图片识别和热点/选题,生成可直接复制发布的成品文案。

参数:

```json
{
  "image_path": "D:\\path\\image.jpg",
  "platform": "xiaohongshu",
  "user_brief": "这是一张手办图片,想发小红书",
  "hot_topic": "",
  "limit": 8,
  "use_vision_model": true,
  "use_llm_model": true
}
```

返回值中的 `copy_text` 就是可直接粘贴使用的成品文案。

如果其他 Agent 只想快速走本地模板,不调用任何大模型,可传:

```json
{
  "use_vision_model": false,
  "use_llm_model": false
}
```

### MCP 配置示例

不同 Agent 的配置文件位置不同,但命令结构类似:

```json
{
  "mcpServers": {
    "media-copy-assistant": {
      "command": "python",
      "args": ["D:\\wendang\\自媒体文案助手\\mcp_server.py"]
    }
  }
}
```

如果想使用打包后的 MCP exe:

```json
{
  "mcpServers": {
    "media-copy-assistant": {
      "command": "D:\\wendang\\自媒体文案助手\\dist\\MediaCopyAssistantMCP\\MediaCopyAssistantMCP.exe",
      "args": []
    }
  }
}
```

### MCP 打包 EXE

```powershell
.\build_mcp_exe.ps1
```

生成文件:

```text
dist\MediaCopyAssistantMCP\MediaCopyAssistantMCP.exe
```

注意:MCP exe 是给 Agent 启动的 stdio 服务,不是给人双击使用的桌面窗口。桌面窗口请用 `MediaCopyAssistantNoApi.exe`。

## 输出格式

生成结果只包含:

```text
标题:...

正文:...

话题:#... #... #...
```

不会输出 `###`、`---`、序号、备选标题、发布建议等 Markdown 或方案稿内容。

## 配置说明

程序里的“可选配置”只用于增强效果,不是必填项。

- 不填 `API Key`:仍然可以生成本地模板草稿
- 填写 `API Key`:会调用你自己的大模型生成更完整的图片理解和文案
- 热点接口:默认自动获取;接口不可用时自动切换到内置选题
- TikHub Key:代码里预留了支持,但普通用户不需要填写

配置文件位置:

```text
%APPDATA%\MediaCopyAssistant\config.json
```

如需高级自定义,可在配置文件里修改:

```json
{
  "douyin_hot_url": "https://v2.xxapi.cn/api/douyinhot",
  "xhs_hot_url": "",
  "tikhub_api_key": ""
}
```

## 项目结构

```text
main.py                 桌面程序入口
mcp_server.py           MCP stdio 服务入口
src/app.py              Tkinter 桌面界面
src/config.py           本地配置读写
src/hotlists.py         热点抓取、接口失败降级、内置选题
src/image_analysis.py   图片基础识别
src/llm_client.py       OpenAI-compatible 大模型调用
src/copywriter.py       文案生成逻辑
src/mcp_server.py       MCP 工具定义
build_exe.ps1           桌面 EXE 打包脚本
build_mcp_exe.ps1       MCP EXE 打包脚本
```

## 说明

小红书公开热榜接口并不稳定,常见方案是浏览器 Cookie 或第三方数据服务。本工具默认不强制用户准备这些服务,优先保证本地可用。

本工具只做内容辅助,不自动发布内容。生成结果应由用户人工确认后再使用,避免虚假承诺、夸大宣传或搬运他人内容。