今日头条公开内容 MCP Server
概述
Astron-toutiao-mcp 是一个基于 MCP 协议的今日头条工具服务,直接调用今日头条公开热榜、推荐流、搜索页和移动端详情接口,不依赖额外的 Astron 后端服务。
当前工程形态:
- 使用
MCP Python SDK - 使用单文件
server.py承载工具定义、搜索解析和 HTTP 调用 - 通过独立
pyproject打包 - 支持
uvx一键启动 - 通过环境变量配置超时和 User-Agent
当前提供 6 个原子工具:
get_hot_listget_feed_listsearch_contentget_content_detailget_author_profileget_author_content_list
工具列表
1. 获取热榜 get_hot_list
- 描述:读取今日头条热榜。
- 参数:
limit:返回条数,默认20refresh:是否刷新,默认False
2. 获取推荐流 get_feed_list
- 描述:读取今日头条推荐流。
- 参数:
channel:兼容保留参数,当前未启用cursor:分页游标,对应max_behot_timelimit:返回条数,默认20refresh:是否刷新,默认False
3. 搜索内容 search_content
- 描述:搜索今日头条公开内容。
- 参数:
query:搜索词,必填cursor:兼容保留参数,当前未启用limit:返回条数,默认20
4. 获取内容详情 get_content_detail
- 描述:读取今日头条内容详情。
- 参数:
content_id:内容 IDurl:内容完整 URL
5. 获取作者主页 get_author_profile
- 描述:读取作者公开信息。
- 参数:
author_id:作者检索标识,推荐直接传作者名url:作者相关 URL,也支持传文章 URL 让服务自动解析作者
- 说明:
- 支持直接传头条 PC 作者主页链接,例如
https://www.toutiao.com/c/user/token/<token>/...
- 支持直接传头条 PC 作者主页链接,例如
6. 获取作者作品列表 get_author_content_list
- 描述:读取作者公开作品列表。
- 参数:
author_id:作者检索标识,推荐直接传作者名url:作者相关 URL,也支持传文章 URL 让服务自动解析作者cursor:兼容保留参数,当前未启用limit:返回条数,默认20
- 说明:
- 传作者主页链接时,会优先解析作者主页首屏数据,并尽量优先使用作者侧接口获取作品
环境变量
这个包默认不需要认证信息。
可选环境变量:
export TOUTIAO_MCP_TIMEOUT_SECONDS="30"
export TOUTIAO_MCP_USER_AGENT="Mozilla/5.0 ..."
export TOUTIAO_MCP_MOBILE_USER_AGENT="Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) ..."
说明:
TOUTIAO_MCP_TIMEOUT_SECONDS控制 API 和页面请求超时。TOUTIAO_MCP_USER_AGENT用于覆盖默认桌面请求头。TOUTIAO_MCP_MOBILE_USER_AGENT用于覆盖移动端详情接口请求头。
安装与启动
推荐方式:使用 uvx 一键启动
uvx --from astron-toutiao-mcp astron-toutiao-mcp
如果你还没有安装 uv / uvx,可先执行:
curl -fsSL https://install.astral.sh/uv | bash
使用 pip 安装
pip install astron-toutiao-mcp
toutiao-mcp
本地源码运行
cd MCP/toutiao-mcp
PYTHONPATH=src python3 -m toutiao_mcp.server
客户端配置
使用 uvx
{
"mcpServers": {
"toutiao-mcp": {
"command": "uvx",
"args": ["--from", "astron-toutiao-mcp", "astron-toutiao-mcp"],
"env": {
"TOUTIAO_MCP_TIMEOUT_SECONDS": "30"
}
}
}
}
使用本地源码
{
"mcpServers": {
"toutiao-mcp": {
"command": "python3",
"args": ["-m", "toutiao_mcp.server"],
"env": {
"PYTHONPATH": "/path/to/MCP/toutiao-mcp/src",
"TOUTIAO_MCP_TIMEOUT_SECONDS": "30"
}
}
}
}
平台差异说明
- 这个 MCP 直接请求今日头条公开接口和公开页面,不依赖额外的 Astron 后端服务。
- 当前仅面向公开内容能力,不包含登录态、私有内容或用户专属数据。
- 内容详情优先走
m.toutiao.com/i{gid}/info/,避免依赖 Playwright 或 PC 壳页渲染。 - Toutiao 的数字
media_id/creator_uid对外复用性较差,所以结果里的author_id默认更偏向“可继续检索作者”的作者名;底层数字 ID 保留在raw。 get_author_profile和get_author_content_list当前主要通过作者名搜索和详情页作者数据聚合实现;如果头条搜索结构变化,作者相关能力可能需要同步调整。
发布说明
cd MCP/toutiao-mcp
rm -rf build dist src/*.egg-info
python3 -m build --no-isolation
python3 -m twine check dist/*
python3 -m twine upload dist/*
License
Apache License 2.0. See LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
astron_toutiao_mcp-0.1.5.tar.gz
(19.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file astron_toutiao_mcp-0.1.5.tar.gz.
File metadata
- Download URL: astron_toutiao_mcp-0.1.5.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f19a5f56fb00810f13d99db0be814d223bb3ee237890fe19b92289a1223c4c2c
|
|
| MD5 |
5f302788e6d888c0411c776123a112c5
|
|
| BLAKE2b-256 |
c9c5f52e84a9a8a5b475ff2c44cc98b5380c55c73bff6cdf6129a26a9dad3aa1
|
File details
Details for the file astron_toutiao_mcp-0.1.5-py3-none-any.whl.
File metadata
- Download URL: astron_toutiao_mcp-0.1.5-py3-none-any.whl
- Upload date:
- Size: 20.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.11.0rc1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdc0e71a58ebcf9d0752209829d400fd756ec9e586140df41d016c1c50adc0e4
|
|
| MD5 |
b109e605999f5b24b38e4db26483c9fd
|
|
| BLAKE2b-256 |
4bfd316d6462338a43ece7472358d25fb8e15d6688255bd6559bf5d14c73141e
|