基于 FastMCP,现代多平台热点新闻聚合服务器支持从各大平台实时获取热门数据。
pip install mcp-hot-news
# 启动服务器(STDIO 模式)
mcp-hot-news
# 或者 HTTP 模式
mcp-hot-news --transport http --host 0.0.0.0 --port 8001
import asyncio
from mcp_hot_news.client import HotNewsClient
async def main():
async with HotNewsClient() as client:
# 获取微博热搜
weibo_news = await client.get_hot_news("weibo", limit=10)
print(weibo_news)
# 获取所有平台新闻
all_news = await client.get_all_platforms_news(limit=5)
print(all_news)
# 分析热点趋势
trends = await client.analyze_trends(limit=10)
print(trends)
asyncio.run(main())
from mcp_hot_news.langchain import HotNewsToolAdapter
from langchain.agents import initialize_agent
# 创建工具适配器
hot_news_tools = HotNewsToolAdapter()
# 获取 LangChain 工具
tools = await hot_news_tools.get_langchain_tools()
# 集成到 Agent
agent = initialize_agent(tools, llm, agent="zero-shot-react-description")
| 平台 | 支持状态 | API 来源 |
|---|---|---|
| 知乎 Zhihu | ✅ | vvhan API |
| 微博 Weibo | ⚠️ | Vvhan API (不稳定) |
| 百度 Baidu | ⚠️ | Vvhan API (不稳定) |
| 哔哩哔哩 Bilibili | ✅ | vvhan API |
| 抖音 Tiktok | ✅ | vvhan API |
| 快手 Kuaishou | ✅ | vvhan API |
| 资讯 Today's Headlines | ✅ | vvhan API |
| 虎扑 Hupu | ⚠️ | Vvhan API (不稳定) |
| 豆瓣 Douban | ✅ | vvhan API |
| IT之家 IT Home | ⚠️ | Vvhan API (不稳定) |
⚠️ 注意:某些平台的 API 可能不稳定,并会自动降级到模拟数据
get_hot_news从指定平台获取热点新闻
参数:
platform (str): 平台名称limit (int): 获取数量,默认是 20get_all_platforms_news获取所有平台的热点新闻概要
参数:
limit (int): 每个平台获取的数量,默认 10analyze_trends分析当前热点趋势和关键词
参数:
limit (int): 分析数量,默认 10get_server_health获取服务器健康状态
clear_cache清除所有缓存数据
class NewsItem:
title: str # 新闻标题
url: str # 新闻链接
hot_value: Optional[Union[str, int]] # 热度值
rank: Optional[int] # 排名
platform: str # 平台名称
timestamp: str # 获取时间
class PlatformNews:
platform: str # 平台名称
news_list: List[NewsItem] # 新闻列表
update_time: str # 更新时间
total_count: int # 新闻总数
class TrendAnalysis:
hot_keywords: List[str] # 热门关键词
trending_topics: List[str] # 趋势话题
platform_summary: Dict[str, int] # 各平台热点数量
analysis_time: str # 分析时间
# 缓存TTL(秒)
export MCP_CACHE_TTL=3600
# API请求超时(秒)
export MCP_REQUEST_TIMEOUT=10
# 日志级别
export MCP_LOG_LEVEL=INFO
from mcp_hot_news.server import HotNewsProvider
# 自定义配置
provider = HotNewsProvider()
provider.cache_manager.default_ttl = 7200 # 2小时缓存
pip install -e ".[dev]"
pytest
black src/ tests/
flake8 src/ tests/
mypy src/
欢迎贡献代码!请阅读 CONTRIBUTING.md 获取详细信息。
MIT 许可证 - 详情见 LICENSE 文件。
⭐ 如果这个项目对你有帮助,请给它一个 Star!