doubao-douyin-analysis-parse-mcp 1.0.1
MCP 服务器用于解析抖音视频链接并使用豆包模型进行视频内容分析
License: MIT
Requires Python: >=3.10
Keywords: mcp, douyin, tiktok, video, ai, analysis, doubao, cursor

# 抖音视频解析 MCP 服务

一个 MCP（Model Context Protocol）服务器，用于解析抖音分享链接并使用豆包视频理解模型进行智能内容分析。

## 📦 快速安装

```bash
pip install doubao-douyin-analysis-parse-mcp
```

**就这么简单！** 然后[配置 Cursor](#在-cursor-中使用) 即可使用。

> ⚠️ **v1.0.0 用户注意**：v1.0.0 有 bug 无法使用，请查看 [v1.0.0迁移指南.md](v1.0.0迁移指南.md) 升级到 v1.0.1

> 💡 **开发者**：查看[源码安装](#方式-b从源码安装开发者)

---

## 📚 专用配置指南

- 🍒 **[Cherry Studio 配置](Cherry_Studio配置指南.md)** - Cherry Studio 专用指南
- 📋 **[快速参考](快速参考.md)** - 配置速查卡片
- 🔄 **[v1.0.0 迁移](v1.0.0迁移指南.md)** - 从 v1.0.0 升级

---

## 🎓 新手指南

**如果你是 Python 初学者，请先阅读：**

- 📖 **[新手指南.md](新手指南.md)** - 零基础完整教程（推荐）
- 🚀 **[调试步骤.md](调试步骤.md)** - 5 分钟快速上手
- ⚡ **[QUICKSTART.md](QUICKSTART.md)** - 快速开始指南

**已经熟悉 Python？** 继续往下看 ↓

---

## 功能特性

✨ **智能链接提取** - 自动从抖音口令中提取视频链接  
🎥 **视频内容解析** - 获取视频真实 URL  
🤖 **AI 视频分析** - 使用豆包大模型进行深度内容分析  
📋 **结构化输出** - 返回格式化的视频描述、大纲和教程步骤

## 项目架构

```
抖音口令/链接 → 链接提取 → 抖音API → 视频URL → 豆包AI → 结构化分析结果
```

## 分析内容

服务会返回以下结构化内容：

- **视频描述**：简短概括（50字以内）
- **视频类型**：自动识别（烹饪教程、Vlog、剧情等）
- **视频大纲与内容**：
  - **教程类**：所需材料、详细步骤、重点提示
  - **其他类型**：主要内容、关键场景、核心信息

## 快速开始

### 🚀 方式 A：从 PyPI 安装（推荐，最简单）

**仅需一条命令：**

```bash
pip install douyin-mcp-server
```

**就这样！** 无需下载代码，无需配置环境。

然后跳转到 **[配置 API Key](#3-配置环境变量)** 和 **[在 Cursor 中使用](#在-cursor-中使用)**

---

### 🛠️ 方式 B：从源码安装（开发者）

#### 1. 环境要求

- Python 3.10 或更高版本
- pip 包管理器

#### 2. 安装依赖

```bash
# 克隆或进入项目目录
cd douyin_to_notion

# 创建虚拟环境（推荐）
python -m venv venv

# 激活虚拟环境
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# 安装依赖
pip install -e .
```

### 3. 配置环境变量

复制 `env.example` 创建 `.env` 文件：

```bash
cp env.example .env
```

编辑 `.env` 文件，设置你的豆包 API Key：

```env
DOUBAO_API_KEY=your_actual_api_key_here
DOUBAO_API_ENDPOINT=https://ark.cn-beijing.volces.com/api/v3/chat/completions
DOUBAO_MODEL=doubao-1.5-vision-pro-32k
```

### 4. 获取豆包 API Key

1. 访问 [火山引擎控制台](https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey)
2. 登录并创建 API Key
3. 将 API Key 复制到 `.env` 文件中

### 5. 测试服务器

#### 方法 1：运行 MCP 服务器
```bash
python -m src
```

#### 方法 2：运行测试示例
```bash
python test_example.py
```

测试示例会验证：
- 链接提取功能
- 视频 URL 获取功能
- 完整视频信息获取

## 在 Cursor 中使用

### 配置步骤

1. 打开 Cursor 设置
2. 找到 MCP 配置区域
3. 添加以下配置：

**如果使用 PyPI 安装（推荐）：**

```json
{
  "mcpServers": {
    "douyin-analyzer": {
      "command": "douyin-mcp-server",
      "env": {
        "DOUBAO_API_KEY": "your_actual_api_key"
      }
    }
  }
}
```

> ⚠️ **重要**：PyPI 安装后使用 `"command": "douyin-mcp-server"`，不需要 `args`

**如果从源码运行（开发者）：**

```json
{
  "mcpServers": {
    "douyin-analyzer": {
      "command": "python",
      "args": ["-m", "src"],
      "env": {
        "DOUBAO_API_KEY": "your_actual_api_key"
      },
      "cwd": "D:\\work\\my-project\\douyin_to_notion"
    }
  }
}
```

### 使用方法

配置完成后，在 Cursor 中可以通过自然语言调用：

#### 示例 1：使用口令

```
分析这个抖音视频：0.05 09/23 III:/ e@B.tE 今年农户都不易啊，水产水果都滞销 # 螃蟹 # 国庆假期 https://v.douyin.com/DGHl69ciWp4/ 复制此链接，打开Dou音搜索，直接观看视频！
```

#### 示例 2：使用链接

```
帮我分析这个抖音视频的内容：https://v.douyin.com/DGHl69ciWp4/
```

### 返回结果示例

对于烹饪教程视频，可能返回：

```
✓ 成功提取链接: https://v.douyin.com/DGHl69ciWp4/
✓ 成功获取视频 URL
✓ 视频分析完成

==================================================

【视频描述】
展示家常红烧肉的制作过程，简单易学的传统做法

【视频类型】
烹饪教程

【视频大纲与内容】

- 所需食材：
  五花肉500g、冰糖30g、生抽2勺、老抽1勺、料酒2勺、葱姜蒜适量

- 操作步骤：
  1. 五花肉切块焯水去腥
  2. 锅中炒糖色至焦糖色
  3. 加入肉块翻炒上色
  4. 加入调料和热水，大火烧开转小火炖40分钟
  5. 大火收汁装盘

- 重点提示：
  炒糖色时火候要掌握好，避免炒糊；炖煮时要用小火慢炖，让肉质更软烂
```

## 在 VSCode 中使用

### 配置步骤

VSCode 配置文件位置：
- **Windows**: `%APPDATA%\Code\User\settings.json`
- **macOS**: `~/Library/Application Support/Code/User/settings.json`
- **Linux**: `~/.config/Code/User/settings.json`

在 `settings.json` 中添加：

**PyPI 安装用户：**
```json
{
  "mcp.servers": {
    "douyin-analyzer": {
      "command": "douyin-mcp-server",
      "env": {
        "DOUBAO_API_KEY": "your_actual_api_key"
      }
    }
  }
}
```

**源码安装用户：**
```json
{
  "mcp.servers": {
    "douyin-analyzer": {
      "command": "python",
      "args": ["-m", "src"],
      "env": {
        "DOUBAO_API_KEY": "your_actual_api_key"
      },
      "cwd": "D:\\work\\my-project\\douyin_to_notion"
    }
  }
}
```

使用方法与 Cursor 相同。

---

## 🔄 更新与卸载

### 更新到最新版本

**PyPI 用户：**
```bash
pip install --upgrade douyin-mcp-server
```

**源码用户：**
```bash
cd D:\work\my-project\douyin_to_notion
git pull
pip install -e . --force-reinstall
```

### 卸载

```bash
pip uninstall douyin-mcp-server
```

---

## 项目结构

```
douyin_to_notion/
├── src/
│   ├── __init__.py              # 包初始化
│   ├── __main__.py              # 主入口
│   ├── douyin_mcp_server.py     # MCP 服务器核心
│   ├── link_extractor.py        # 链接提取模块
│   ├── douyin_api.py            # 抖音 API 客户端
│   ├── doubao_api.py            # 豆包 API 客户端
│   └── prompts.py               # 提示词模板
├── pyproject.toml               # 项目配置
├── .gitignore                   # Git 忽略文件
├── env.example                  # 环境变量示例
├── mcp_config.json              # MCP 配置示例
├── cursor_mcp_settings.md       # Cursor 配置说明
└── README.md                    # 本文件
```

## API 说明

### 抖音解析 API

- **端点**: `http://175.24.234.153:8091/api/hybrid/video_data`
- **方法**: GET
- **参数**: 
  - `url`: 抖音视频链接
  - `minimal`: false
- **返回**: 包含视频真实 URL 的 JSON 数据

**视频链接提取逻辑**：
从返回的 `data.video.bit_rate` 数组中，选择 `bit_rate` 值最小的对象（最小码率，文件最小），然后获取该对象的 `play_addr.url_list[0]` 作为视频播放地址。

示例响应结构：
```json
{
  "code": 200,
  "data": {
    "video": {
      "bit_rate": [
        {
          "bit_rate": 1329070,
          "play_addr": {
            "url_list": ["视频地址1", "视频地址2"]
          }
        },
        {
          "bit_rate": 2598694,
          "play_addr": {
            "url_list": ["视频地址3", "视频地址4"]
          }
        }
      ]
    }
  }
}
```
系统会自动选择 `bit_rate` 为 1329070 的视频地址（最小码率）。

### 豆包视频理解 API

- **端点**: `https://ark.cn-beijing.volces.com/api/v3/chat/completions`
- **方法**: POST
- **认证**: Bearer Token
- **模型**: `doubao-1.5-vision-pro-32k`
- **文档**: [豆包视频理解官方文档](https://www.volcengine.com/docs/82379/1895586?lang=zh)

## 常见问题

### 1. 无法提取链接

**问题**：提示"无法从文本中提取抖音链接"

**解决**：
- 确保文本中包含完整的抖音链接，格式为 `https://v.douyin.com/xxx/`
- 检查链接是否被截断

### 2. API Key 错误

**问题**：提示"未设置豆包 API Key"

**解决**：
- 确保在 MCP 配置的 `env` 中设置了 `DOUBAO_API_KEY`
- 或者在项目根目录创建 `.env` 文件并设置环境变量

### 3. 豆包 API 调用失败

**问题**：豆包 API 返回错误

**解决**：
- 检查 API Key 是否正确
- 确认账户有足够的配额
- 检查网络连接
- 查看错误信息中的详细提示

### 4. 抖音 API 无法访问

**问题**：无法获取视频 URL

**解决**：
- 检查抖音解析 API 服务是否可用
- 确认网络可以访问该 API 地址
- 尝试使用其他抖音解析服务

## 技术栈

- **Python 3.10+** - 编程语言
- **MCP SDK** - Model Context Protocol 支持
- **httpx** - 异步 HTTP 客户端
- **python-dotenv** - 环境变量管理
- **豆包大模型** - 视频理解和内容分析

## 开发计划

- [ ] 支持批量视频分析
- [ ] 添加缓存机制
- [ ] 支持自定义提示词
- [ ] 添加更多视频平台支持
- [ ] 提供 Web 界面

## 许可证

MIT License

## 贡献

欢迎提交 Issue 和 Pull Request！

## 联系方式

如有问题或建议，请提交 Issue。