社交媒体分析服务器

一个通过Meta Graph API为Instagram和Facebook提供分析服务的模型上下文协议服务器,支持账户发现、内容分析和性能洞察。

  • by BilalTariq01
  • TypeScript
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 BilalTariq01/instagram-analytics-mcp

使用说明

社交分析MCP服务器

A. 模型上下文协议 (MCP)服务器,通过Meta Graph API进行Instagram和Facebook分析。

特性

Instagram

  • 帐户发现和个人资料信息
  • 客户层面的洞察,包括人口统计细分
  • 包含参与度数据的媒体列表
  • 每篇帖子的见解(图片、视频、卷轴、旋转木马)
  • 故事检索
  • 标签搜索和媒体发现
  • 内容发布速率限制
  • 提及/标记的媒体

脸书

  • 页面发现和详细页面信息
  • 页面级见解(印象、参与度、粉丝、浏览量)
  • 岗位级见解
  • 带有内联指标的帖子
  • 带有反应/评论/分享的页面提要
  • 已知指标参考
  • 访问令牌验证

共享

  • 常见工作流的预构建分析提示
  • 对429/5xx错误进行指数回退重试
  • 跨两个平台的结构化错误处理
  • 通过调试日志记录 DEBUG=social-analytics-mcp

快速开始

  1. 安装和构建

    git clone <repository-url>
    cd social-analytics-mcp
    npm install
    npm run build
    
  2. 获取访问令牌 从 图形API资源管理器 具有权限:

    • Instagram: instagram_basic, instagram_manage_insights, pages_read_engagement
    • 脸书 read_insights, pages_read_engagement
  3. 添加到您的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无关。