Social Media Scraper - RapidAPI MCP Server
一个全面的模型上下文协议(MCP)服务器,为LinkedIn、Facebook、Instagram和谷歌搜索功能提供社交媒体抓取功能。
什么是MCP?
模型上下文协议(MCP) 是一个开放标准,使人工智能助手能够安全地与外部数据源和工具连接。MCP服务器充当人工智能模型和各种服务之间的桥梁,允许增强实时数据访问、API集成和自定义工具执行等功能。
特性
该服务器为AI助手提供了全面的社交媒体分析工具:
LinkedIn分析(16个工具)
- 个人资料分析:包含参与度指标的个人和公司简介数据
- 内容分析:帖子、评论、反应和参与度分析
- 网络分析:公司职位、就业市场洞察和搜索能力
- 性能跟踪:简介反应、帖子转发和互动模式
脸书分析
- 个人资料智能:具有追随者见解的公开个人资料数据
- 参与度指标:活动模式和受众互动数据
- 内容分析:个人资料参与度和影响力分析
Instagram分析
- 配置文件性能:包含追随者人口统计信息的全面个人资料数据
- 增长分析:关注者数量趋势和参与率
- 内容洞察:介绍活动和受众互动模式
网络智能
- 谷歌搜索:支持位置和分页的高级网络搜索
- 竞品分析:搜索竞争对手提及和市场趋势
安装
第一步:克隆或下载项目
克隆此存储库或下载项目文件:
git clone
cd SocialAnalytics-MCP-rapidapi或者下载ZIP文件并将其解压缩到所需的位置。
步骤2:安装依赖项
使用uv安装所有必需的依赖项:
uv sync这将安装中列出的所有依赖项 pyproject.toml:
fastmcp>=2.11.0httpx>=0.28.1mcp[cli]>=1.9.4python-dotenv>=1.1.0
步骤3:创建环境文件
创建一个 .env 文件,以存储API密钥:
touch .env环境配置
步骤1:获取API密钥
RapidAPI密钥
- 注册地址: 快速 API
- 订阅以下API:
- LinkedIn Scraper API: https://rapidapi.com/karimgreek/api/linkedin-scraper-api-real-time-fast-affordable - Facebook Scraper API: https://rapidapi.com/krasnoludkolo/api/facebook-scraper3 - Instagram Scraper API: https://rapidapi.com/thetechguy32744/api/instagram-scraper-stable-api
- 从仪表板复制您的RapidAPI密钥
Google Serper API密钥
- 注册地址: Serper.dev
- 从仪表板获取API密钥
步骤2:配置环境变量
将API密钥添加到 .env 您创建的文件:
RAPIDAPI_KEY=your_rapidapi_key_here
SERPER_API_KEY=your_serper_api_key_here重要:永远不要承诺你的 .env 文件到版本控制。它已经包含在 .gitignore.
用法
使用Claude Desktop运行
步骤1:安装服务器
您可以在以下位置安装此服务器 克劳德桌面 并通过运行以下命令立即与之交互:
uv run mcp install main.py步骤2:验证安装
稍后,转到Claude AI(桌面版),您将看到平台中类似于 显示屏幕截图.
步骤3:开始使用工具
粘贴所需平台的URL,并要求AI提供所述URL的信息。
分析用例和示例
🔍 竞争情报
Analyze competitor engagement: Get all posts and reactions for https://linkedin.com/company/competitor-nameTrack competitor hiring: Search jobs posted by https://linkedin.com/company/competitor-name📊 内容性能分析
Analyze top-performing content: Get posts and engagement data for https://linkedin.com/in/industry-leaderMonitor brand mentions: Search LinkedIn posts containing "your-brand-name"👥 观众洞察
Profile audience analysis: Get follower demographics for https://facebook.com/your-company-pageInfluencer analysis: Get Instagram profile metrics for @influencer-username📈 社交媒体监控
Track brand sentiment: Get recent posts and comments mentioning "your-company"Monitor industry trends: Search posts with keywords "artificial intelligence trends 2024"🎯 销售线索
Identify prospects: Get company employee profiles from https://linkedin.com/company/target-companyResearch decision makers: Get profile details for https://linkedin.com/in/ceo-name📱 跨平台分析
Compare social presence: Analyze Instagram @brand vs Facebook /brand-page engagementContent strategy insights: Track post performance across LinkedIn company page and executive profiles故障排除
MCP安装问题
如果MCP工具未出现在Claude Desktop中:
第一步:结束克劳德流程
- Windows:打开任务管理器(Ctrl+Shift+Esc)
- Mac:打开活动监视器
- 结束所有与Claude相关的流程
步骤2:重新安装服务器
uv run mcp install main.py步骤3:重新启动克劳德桌面
粘贴所需平台的URL,并要求AI提供所述URL的信息。
分析数据收集问题
速率限制
如果遇到速率限制错误:
- 在同一平台的请求之间等待60秒
- 使用不同的API端点来分配负载
- 考虑升级RapidAPI订阅以获得更高的限制
不完整数据返回
对于缺失的分析数据:
- 验证配置文件/页面是否公开且可访问
- 检查帐户是否有隐私限制
- 某些指标可能需要业务/创建者帐户访问权限
脸书/Instagram访问问题
- 确保个人资料是公共业务页面
- 个人资料的数据可用性可能有限
- 一些参与度指标需要页面管理员访问权限
LinkedIn高级数据
- 高级分析可能需要LinkedIn Premium URL
- 公司数据取决于公共可见性设置
- 员工列表受公司隐私设置限制
MCP检验员测试
用于开发和调试:
uv run mcp dev main.pyAPI密钥验证
独立测试API密钥:
# Test RapidAPI connection
curl -H "x-rapidapi-key: YOUR_KEY" \
-H "x-rapidapi-host: linkedin-scraper-api-real-time-fast-affordable.p.rapidapi.com" \
"https://linkedin-scraper-api-real-time-fast-affordable.p.rapidapi.com/profile/detail?username=test"
# Test Serper API
curl -X POST "https://google.serper.dev/search" \
-H "X-API-KEY: YOUR_SERPER_KEY" \
-d '{"q":"test query"}'项目结构
SocialAnalytics-MCP-rapidapi/
├── docs/ # API endpoint documentation
│ ├── LinkedIn_Scraper_API_endpoints.md
│ ├── Facebook_api_endpoints.md
│ ├── Instagram_api_enpoints.md
│ └── (not-used)FreshLinkedInProfile_api_endpoints.md
├── CLAUDE.md # Claude Code instructions for this project
├── Claude_View.png # Screenshot of Claude Desktop integration
├── main.py # Main MCP server implementation (583 lines)
├── memories.json # MCP memory storage
├── pyproject.toml # Project configuration and dependencies
├── README.md # Project documentation
├── uv.lock # UV lock file for reproducible builds
└── .env # Environment variables (API keys) - CREATE THIS分析数据示例
LinkedIn个人资料响应(已筛选)
{
"name": "John Doe",
"headline": "Senior Software Engineer at TechCorp | AI & ML Specialist",
"location": "San Francisco, CA",
"connections": "500+",
"followers": "1,234",
"current_role": {
"title": "Senior Software Engineer",
"company": "TechCorp",
"duration": "2 years 3 months"
},
"education": {
"school": "Stanford University",
"degree": "BS Computer Science"
},
"top_skills": ["Python", "Machine Learning", "AWS", "React", "SQL"]
}Facebook个人资料响应(已筛选)
{
"name": "Tech Company Inc",
"likes": "98,765",
"followers": "125,432",
"about": "Leading technology solutions provider specializing in AI and cloud infrastructure. Founded in 2018, we serve enterprise clients worldwide with cutting-edge software solutions...",
"category": "Technology Company",
"location": "San Francisco, CA",
"page_metrics": {
"checkins": 1243,
"rating": 4.8,
"review_count": 567
}
}Instagram个人资料响应(已筛选)
{
"username": "tech_influencer",
"full_name": "Tech Innovator",
"biography": "AI & Tech Trends | 100K+ followers | Sharing the latest in technology and innovation | Speaker & Consultant",
"followers": 156789,
"following": 892,
"posts_count": 1247,
"is_verified": true,
"engagement_rate": "4.2%",
"avg_likes": 6543
}LinkedIn帖子响应(已筛选-最多5个帖子)
{
"posts": [
{
"content": "Excited to share our Q4 results! Our AI platform has processed over 10M transactions this quarter, helping businesses reduce costs by 30%. The future of automation is here and we're leading the charge...",
"likes": 142,
"comments": 23,
"shares": 12,
"reactions": {"like": 100, "celebrate": 42},
"date": "2024-01-15",
"author": {
"name": "John Doe",
"title": "CEO at TechCorp"
}
}
],
"total_posts_available": 47,
"posts_returned": 5
}使用Claude Desktop进行轻松分析和见解提取时,所有数据都以可读的JSON形式返回。
上下文窗口优化
为了防止MCP上下文窗口过载,此服务器实现了智能数据过滤:
响应大小控制
- LinkedIn个人资料:限制为~6KB的基本数据(姓名、职务、连接、当前角色)
- LinkedIn帖子:每个请求最多5个帖子,关键参与指标限制约5KB
- 脸书/Instagram:仅限于约4KB,重点关注关注关注者数量和参与率
- 搜索结果:每个包含截断内容的查询最多8个结果
数据过滤策略
- 排除字段:配置文件图像、媒体URL、完整工作历史、嵌套用户对象
- 文本截断:长描述限制在300-500个字符以内
- 列表限制:任何数组中最多10个项目(评论、帖子、连接)
- 基本焦点:仅保留与分析相关的指标和参与度数据
定制
修改响应限制 main.py:
RESPONSE_LIMITS = {
"linkedin_profile": 6000, # Characters
"linkedin_posts": 5000, # Characters
"max_posts_returned": 5, # Number of posts
"max_comments_returned": 10 # Number of comments
}贡献
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
如有任何疑问,请留言或通过我个人资料中提供的电子邮件与我联系。
⭐ Star this repository if you found it helpful!
