社交分析MCP服务器
A. 模型上下文协议 (MCP)服务器,通过Meta Graph API进行Instagram和Facebook分析。
特性
- 帐户发现和个人资料信息
- 客户层面的洞察,包括人口统计细分
- 包含参与度数据的媒体列表
- 每篇帖子的见解(图片、视频、卷轴、旋转木马)
- 故事检索
- 标签搜索和媒体发现
- 内容发布速率限制
- 提及/标记的媒体
脸书
- 页面发现和详细页面信息
- 页面级见解(印象、参与度、粉丝、浏览量)
- 岗位级见解
- 带有内联指标的帖子
- 带有反应/评论/分享的页面提要
- 已知指标参考
- 访问令牌验证
共享
- 常见工作流的预构建分析提示
- 对429/5xx错误进行指数回退重试
- 跨两个平台的结构化错误处理
- 通过调试日志记录
DEBUG=social-analytics-mcp
快速开始
- 安装和构建
git clone
cd social-analytics-mcp
npm install
npm run build- 获取访问令牌 从 图形API资源管理器 具有权限:
- Instagram: instagram_basic, instagram_manage_insights, pages_read_engagement - 脸书 read_insights, pages_read_engagement
- 添加到您的MCP客户端 (见下面的配置)
配置
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
INSTAGRAM_ACCESS_TOKEN | 适用于Instagram | -- | 具有Instagram权限的Facebook用户访问令牌 |
INSTAGRAM_ACCOUNT_ID | 否 | 自动检测到 | Instagram商业帐户ID |
INSTAGRAM_API_VERSION | 没有 | v23.0 | Instagram Graph API版本 |
FACEBOOK_ACCESS_TOKEN | 对于Facebook | -- | Facebook用户/页面访问令牌 |
FACEBOOK_PAGE_ID | 否 | 使用发现工具 | Facebook页面ID |
FACEBOOK_API_VERSION | 没有 | v22.0 | Facebook Graph API版本 |
DEBUG | 否 | -- | 设置为 social-analytics-mcp 用于调试日志 |
您只需要为要使用的平台配置访问令牌。可以使用内置工具发现帐户和页面ID。
MCP 客户端安装
克劳德桌面版
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"social-analytics": {
"command": "node",
"args": ["/absolute/path/to/social-analytics-mcp/dist/index.js"],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "your_token_here",
"FACEBOOK_ACCESS_TOKEN": "your_token_here"
}
}
}
}克劳德代码
claude mcp add social-analytics node /absolute/path/to/social-analytics-mcp/dist/index.js \
-e INSTAGRAM_ACCESS_TOKEN=your_token_here \
-e FACEBOOK_ACCESS_TOKEN=your_token_here可用工具
Instagram工具
| 工具 | 描述 | 必需参数 |
|---|---|---|
instagram_list_accounts | 列出可用的Instagram商业帐户 | -- |
instagram_get_profile | 获取帐户配置文件信息 | -- |
instagram_get_account_insights | 获取帐户级别分析 | metrics, metric_type, period |
instagram_list_media | 列出最近的媒体帖子 | -- |
instagram_get_media_details | 获取特定帖子的详细信息 | media_id |
instagram_get_media_insights | 获取特定帖子的见解 | media_id, metrics |
instagram_get_stories | 获取最近的故事 | -- |
instagram_get_hashtag_search | 搜索标签ID | hashtag |
instagram_get_hashtag_media | 获取标签的媒体 | hashtag_id |
instagram_get_content_publishing_limit | 检查发布速率限制 | -- |
instagram_get_mentioned_media | 获取标记了帐户的媒体 | -- |
Facebook工具
| 工具 | 描述 | 必需参数 |
|---|---|---|
facebook_list_pages | 列出可访问的Facebook页面 | -- |
facebook_get_page_details | 获取页面配置文件信息 | -- |
facebook_get_page_insights | 获取页面级见解 | metrics |
facebook_get_post_insights | 获取特定帖子的见解 | post_id, metrics |
facebook_list_posts_with_insights | 列出带有内联指标的帖子 | post_metrics |
facebook_get_page_feed | 获取包含参与度数据的页面提要 | -- |
facebook_list_known_metrics | 列出支持的指标参考 | -- |
facebook_validate_token | 验证访问令牌 | access_token |
公共参数
大多数Instagram工具都接受可选功能 account_id 参数。如果未提供,则会从中自动检测帐户 INSTAGRAM_ACCOUNT_ID 如果只有一个帐户存在,则自动发现环境变量。
大多数Facebook工具都接受可选 page_id 具有类似自动检测行为的参数 FACEBOOK_PAGE_ID.
可用提示
| 提示 | 描述 |
|---|---|
analyze_instagram_performance | 全面的Instagram帐户分析 |
analyze_facebook_performance | 全面的Facebook页面分析 |
compare_post_performance | 比较两个平台上的最新帖子 |
get_audience_demographics | 观众人口统计细分 |
setup_platform | 交互式设置指南 |
程序化使用
import { InstagramClient, FacebookClient, createServer } from 'social-analytics-mcp';
// Use clients directly
const instagram = new InstagramClient({
accessToken: 'your_token',
accountId: 'optional_account_id',
});
const profile = await instagram.getUserProfile();
// Or create an MCP server programmatically
const server = createServer();故障排除
“访问令牌无效”
- 确保您的令牌具有所需的权限
- 短期令牌将在1小时后过期——生成一个长期令牌
“未找到Instagram Business帐户”
- 您的Instagram帐户必须是Business或Creator帐户
- 它必须连接到Facebook页面
“不支持的指标”
- 一些度量是特定于媒体类型的(例如。,
avg_time_watched仅适用于视频/卷轴) - 使用
facebook_list_known_metrics查看支持的Facebook指标
费率限制
- Instagram:每个用户令牌每小时200次通话
- 服务器在429/5xx上以指数回退自动重试
贡献
看 贡献.md 用于开发设置和指南。
许可证
麻省理工学院
______________________________________________________________________
备注:这是一个非官方工具,与Meta、Facebook或Instagram无关。
