返回市场
头条-MCP

头条-MCP

作者:shaominfeng6 星标更新:2025-10-25

项目介绍

今日头条 MCP 服务器(Node.js/TypeScript)

这是一个完全功能性的今日头条内容管理系统 MCP 服务器,使用 Node.js 和 TypeScript 实现,支持自动登录、内容发布和数据分析等功能。

✨ 关键特性

  • 🔐 用户认证管理 - 自动登录、Cookie 持久化、登录状态检查
  • 📝 内容发布功能 - 发布图文文章、发布微头条、上传并压缩图片
  • 📊 数据分析与统计 - 阅读统计、粉丝增长分析、内容表现评估
  • 🗂️ 内容管理 - 获取文章列表、删除内容、管理状态
  • 📈 报告生成 - 自动生成每日、每周和每月报告
  • 现代架构 - 基于 TypeScript + MCP SDK,类型安全
  • 🛠️ (扳手) 开发者友好 - 完整的类型定义、模块化设计

📦 技术栈

  • 运行时Node.js 18+
  • 语言TypeScript 5.x
  • 框架@modelcontextprotocol/sdk
  • 自动化Selenium WebDriver
  • HTTP 客户端Axios
  • 图像处理Sharp

🚀 快速开始

1. 安装依赖

cd toutiao-mcp
npm install

2. 登录今日头条

在开始发布内容之前,首先需要登录您的今日头条账号:

npm run login

登录过程:

  1. 脚本会自动打开 Chrome 浏览器
  2. 跳转到今日头条登录页面
  3. 手动输入手机号并接收验证码
  4. 登录后,Cookie 将被自动保存
  5. 浏览器自动关闭

注意事项:

  • 登录凭证存储在文档中的 toutiao_cookies.json 文件中
  • 登录状态可以持续使用,无需每次登录
  • 如果提示登录已过期,请重新运行登录脚本

3. 内容发布测试

使用交互式发布工具:

npm run test

功能特性:

  • ✅ 自动检测登录状态
  • ✅ 支持发布微头条和图文文章
  • ✅ 交互式输入界面
  • ✅ 发布前确认

4. 启动 MCP 服务器

npm run dev

或构建后运行:

npm run build
npm start

📁 项目结构

toutiao-mcp/
├── src/
│   ├── lib/
│   │   ├── auth.ts          # 认证管理
│   │   ├── publisher.ts     # 内容发布
│   │   ├── analytics.ts     # 数据分析
│   │   └── config.ts        # 配置管理
│   ├── types/
│   │   └── index.ts         # TypeScript 类型定义
│   ├── scripts/
│   │   ├── login.ts         # 登录脚本
│   │   └── test-publish.ts  # 发布测试脚本
│   └── index.ts             # MCP 服务器主入口
├── package.json
├── tsconfig.json
└── README.md

🛠️ 主要功能模块

1. 认证管理 (auth.ts)

  • 自动登录 (Selenium)
  • Cookies 的持久化存储
  • 登录状态检查和维护
  • 用户信息获取

2. 内容发布 (publisher.ts)

  • 发布图文文章 (支持富文本、图片和标签)
  • 发布微头条 (支持图片、话题和地点)
  • 自动上传和压缩图片
  • 获取文章列表
  • 删除文章

3. 数据分析 (analytics.ts)

  • 账号概览数据 (粉丝数、文章数、浏览量)
  • 文章详细统计数据 (阅读、评论、分享、点赞)
  • 趋势分析 (指定时间段内的数据变化)
  • 报告生成 (日、周、月报告)

🔧 MCP 工具列表

用户认证

  • login_with_credentials - 使用用户名和密码登录
  • check_login_status - 检查当前登录状态

内容发布

  • publish_article - 发布图文文章
  • publish_micro_post - 发布微头条

内容管理

  • get_article_list - 获取文章列表
  • delete_article - 删除文章

数据分析

  • get_account_overview - 获取账号概览
  • get_article_stats - 获取文章统计数据
  • generate_report - 生成数据报告

📝 使用示例

发布微头条

import { TouTiaoAuth } from './lib/auth';
import { TouTiaoPublisher } from './lib/publisher';

const auth = new TouTiaoAuth();
const publisher = new TouTiaoPublisher(auth);

// 确保已登录
const isLoggedIn = await auth.checkLoginStatus();
if (!isLoggedIn) {
  await auth.loginWithSelenium();
}

// 发布微头条
const result = await publisher.publishMicroPost({
  content: `🎉 今天分享一个超实用的工具

通过自动化工具可以大大提高内容发布效率!

✨ 主要特点:
• 自动登录管理
• 智能内容发布
• 多平台兼容

#工具分享 #效率提升`,
  topic: '科技',
});

console.log(result);

发布图文文章

const result = await publisher.publishArticle({
  title: '科技前沿:AI发展趋势',
  content: `人工智能正在改变我们的生活...

第一部分:技术革新
...

第二部分:应用场景
...`,
  images: ['./cover.jpg'],
  tags: ['AI', '科技', '人工智能'],
  category: '科技',
});

console.log(result);

获取数据分析

import { TouTiaoAnalytics } from './lib/analytics';

const analytics = new TouTiaoAnalytics(auth);

// 获取账号概览
const overview = await analytics.getAccountOverview();
console.log(overview);

// 生成周报
const report = await analytics.generateReport('weekly');
console.log(report);

🔨 开发指南

安装开发依赖

npm install

开发模式运行

npm run dev

构建项目

npm run build

构建输出在 dist/ 目录下

类型检查

TypeScript 提供了全面的类型检查,所有接口和类型定义都在 src/types/index.ts 中。

🚨 注意事项

  1. 环境要求

    • Node.js 18 或更高版本
    • Chrome 浏览器(用于 Selenium 自动登录)
    • macOS / Windows / Linux
  2. 登录要求首次需要手动登录,之后登录状态将自动维持

  3. 图像格式支持 JPG、PNG、WebP 格式,并自动压缩和优化

  4. 内容长度

    • 微头条:建议在 2000 字符以内
    • 图文文章:支持长文本
    • 文章标题:2-30 字
  5. 发布时间建议控制发布时间,避免被平台限制

🐛 故障排除

常见问题

  1. 登录失败

    • 检查是否安装了 Chrome 浏览器
    • 确认网络连接正常
    • 检查是否被防火墙阻止
  2. 图像上传失败

    • 检查图像文件是否存在
    • 确认支持的图像格式
    • 检查图像大小(建议小于 2MB)
  3. 发布失败

    • 确认登录npm run login
    • 检查内容是否符合平台规定
    • 查看控制台错误日志

查看日志

运行时日志输出到控制台,包括详细的操作步骤和错误消息。

📄 许可证

MIT 许可证

🔗 相关链接

📞 支持与反馈

如果您有任何问题或建议,请通过以下方式联系我们:

  • 提交 GitHub Issue
  • 查看项目 Wiki

立即开始使用今日头条 MCP 服务器的 Node.js 版本! 🚀