competitor-tracking-mcp
v0.1.2
Published
npx entrypoint to launch the competitor-tracking MCP Python server
Readme
竞品追踪MCP服务
简介
竞品追踪MCP服务是一个基于Model Context Protocol (MCP)的工具集合,用于自动化收集、分析和报告竞品信息。该服务利用Tavily搜索引擎获取最新的竞品资讯,并结合LLM分析能力生成深度洞察报告。
本项目现已升级为使用FastMCP框架构建,提供了更简洁、高效的开发体验。
功能特性
核心工具
- search_competitor_updates: 搜索竞品的版本更新和功能发布信息
- analyze_reviews_sentiment: 分析竞品用户评价的情感倾向
- analyze_user_painpoints: 分析用户评价中的痛点和需求
- track_market_activities: 追踪竞品市场动态
- generate_report: 生成HTML可视化竞品分析报告
- run_full_analysis: 一键执行完整竞品分析
支持的分析类型
- 版本更新追踪
- 用户情感分析(五分类:非常正面/正面/中性/负面/非常负面)
- 用户痛点识别与分类
- 市场活动监控(融资、营销、合作等)
- 多维度雷达图对比
- 功能矩阵对比
- SWOT分析
- 综合智能摘要
快速开始
环境要求
- Python 3.12+
- Tavily API Key
安装
从PyPI安装(推荐):
pip install competitor-tracking-mcp或从源码安装:
git clone <repository-url>
cd competitor-tracking-mcp
pip install -e .开发安装:
pip install -e ".[dev]"通过 npx 直接运行(需要本机已安装 Python 3.12+ 且已安装项目的 Python 依赖):
# 先确保 Python 依赖已装好(至少运行一次)
pip install -e .
# 然后使用 npx 启动服务,仍需提供 Tavily API Key
TAVILY_API_KEY=your_tavily_api_key npx competitor-tracking-mcp --transport http --host 0.0.0.0 --port 8000配置
- 复制环境变量模板:
cp .env.example .env- 编辑
.env文件,设置以下必要变量:
TAVILY_API_KEY=your_tavily_api_key
DEFAULT_LANGUAGE=zh
DEFAULT_REGION=cn
DEFAULT_DAYS=7使用方式
Stdio模式(本地Claude Desktop)
- 配置
claude_desktop_config.json:
{
"mentionable": [
{
"type": "computer",
"computer": {
"type": "local",
"name": "competitor-tracking",
"description": "竞品追踪分析工具",
"commands": [
{
"name": "search_competitor_updates",
"description": "搜索竞品的版本更新和功能发布信息"
},
{
"name": "analyze_reviews_sentiment",
"description": "分析竞品用户评价的情感倾向"
},
{
"name": "analyze_user_painpoints",
"description": "分析用户评价中的痛点和需求"
},
{
"name": "track_market_activities",
"description": "追踪竞品市场动态"
},
{
"name": "generate_report",
"description": "生成HTML可视化竞品分析报告"
},
{
"name": "run_full_analysis",
"description": "一键执行完整竞品分析"
}
]
}
}
]
}- 启动服务:
competitor-trackingHTTP模式(远程服务)
- 启动命令:
competitor-tracking --transport http --host 0.0.0.0 --port 8000- 连接方式:
通过MCP客户端连接到
http://<host>:<port>。
Tool使用示例
search_competitor_updates
输入:
{
"competitors": ["微信", "支付宝"],
"language": "zh",
"region": "cn",
"days": 7
}输出:
{
"success": true,
"data": {
"competitors": [
{
"name": "微信",
"aliases_used": ["微信", "WeChat", "wechat"],
"updates": [
{
"title": "微信发布新版本",
"date": "2023-01-01",
"summary": "新增聊天功能",
"source_url": "https://example.com",
"is_major_update": true,
"update_type": "feature"
}
]
}
]
},
"errors": null,
"api_calls_used": 2
}analyze_reviews_sentiment
输入:
{
"competitors": ["微信"],
"language": "zh",
"region": "cn",
"days": 7
}输出:
{
"success": true,
"data": {
"competitors": [
{
"name": "微信",
"sentiment_analysis": {
"distribution": {
"very_positive": 10,
"positive": 20,
"neutral": 5,
"negative": 3,
"very_negative": 1
},
"score": 85.2,
"total_reviews_analyzed": 39,
"sample_reviews": [
{
"content": "非常好用",
"sentiment": "very_positive",
"source": "应用商店"
}
]
},
"raw_reviews": [...],
"analysis_prompt": "..."
}
]
},
"errors": null,
"api_calls_used": 2
}analyze_user_painpoints
输入:
{
"competitors": ["微信"],
"language": "zh",
"region": "cn",
"days": 7
}输出:
{
"success": true,
"data": {
"competitors": [
{
"name": "微信",
"painpoints": {
"categories": [
{
"name": "性能问题",
"count": 15,
"severity": "high",
"description": "占用内存大,卡顿",
"examples": ["使用一段时间后很卡"]
}
],
"total_issues_found": 25,
"most_critical": "性能问题"
},
"analysis_prompt": "..."
}
]
},
"errors": null,
"api_calls_used": 1
}track_market_activities
输入:
{
"competitors": ["微信"],
"language": "zh",
"region": "cn",
"days": 7
}输出:
{
"success": true,
"data": {
"competitors": [
{
"name": "微信",
"activities": [
{
"type": "funding",
"title": "腾讯完成新一轮融资",
"date": "2023-01-01",
"summary": "获得10亿美元投资",
"source_url": "https://example.com",
"importance": "high",
"related_entities": ["腾讯"]
}
],
"activity_summary": {
"total_count": 1,
"by_type": {
"funding": 1,
"marketing": 0,
"partnership": 0,
"product": 0,
"executive": 0,
"legal": 0
},
"timeline_available": true
}
}
]
},
"errors": null,
"api_calls_used": 2
}generate_report
输入:
{
"competitors": ["微信", "支付宝"],
"auto_fetch": true,
"modules": ["radar", "comparison", "swot"],
"save_path": "./report.html"
}run_full_analysis
输入:
{
"competitors": ["微信", "支付宝"],
"save_report": true,
"save_path": "./full_analysis_report.html"
}报告模块说明
- 雷达图模块: 多维度能力评估雷达图
- 功能对比矩阵: 核心功能横向对比表
- SWOT分析: 优势、劣势、机会、威胁分析
- 趋势图表: 版本更新时间线
- 用户情感分布: 用户评价情感分析饼图
- 痛点词云: 用户痛点关键词云图
API配额说明
本服务使用Tavily API进行网络搜索,每次工具调用会消耗不同数量的API配额:
- search_competitor_updates: 每个竞品消耗2次调用
- analyze_reviews_sentiment: 每个竞品消耗2次调用
- analyze_user_painpoints: 不额外消耗API配额(复用情感分析数据)
- track_market_activities: 每个竞品消耗2次调用
- generate_report: 不消耗API配额
- run_full_analysis: 根据启用模块消耗相应配额
建议合理规划使用频率,避免超出API配额限制。
常见问题
Q: 如何获取Tavily API Key? A: 访问 https://tavily.com 注册账户并获取API Key。
Q: 报告中的LLM分析部分为什么是占位符? A: LLM分析需要由MCP客户端执行,服务只生成Prompt供客户端调用LLM完成分析。
Q: 如何自定义报告维度?
A: 使用 radar_dimensions 和 comparison_dimensions 参数在生成报告时指定自定义维度。
开发指南
运行测试
pytest tests/代码质量检查
ruff check .License
MIT License
