Meta账号管理助手 是 AI Skill Hub 本期精选MCP工具之一。综合评分 6.8 分,整体质量稳定。我们推荐使用将其纳入你的 AI 工具库,帮助提升工作效率。
基于MCP协议的开源工具,使AI助手能够直接管理Instagram和Threads账户,支持内容发布等核心功能。适合社交媒体运营者、内容创作者和寻求自动化发布工具的开发者。
Meta账号管理助手 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
基于MCP协议的开源工具,使AI助手能够直接管理Instagram和Threads账户,支持内容发布等核心功能。适合社交媒体运营者、内容创作者和寻求自动化发布工具的开发者。
Meta账号管理助手 是一款遵循 MCP(Model Context Protocol)标准协议的 AI 工具扩展。通过 MCP 协议,它可以让 Claude、Cursor 等主流 AI 客户端直接访问和操作外部工具、数据源和服务,实现 AI 能力的无缝扩展。无论是文件操作、数据库查询还是 API 调用,都可以通过自然语言在 AI 对话中直接触发,极大提升生产效率。
# 方式一:通过 Claude Code CLI 一键安装
claude skill install https://github.com/exileum/meta-mcp
# 方式二:手动配置 claude_desktop_config.json
{
"mcpServers": {
"meta------": {
"command": "npx",
"args": ["-y", "meta-mcp"]
}
}
}
# 配置文件位置
# macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
# Windows: %APPDATA%/Claude/claude_desktop_config.json
# 安装后在 Claude 对话中直接使用 # 示例: 用户: 请帮我用 Meta账号管理助手 执行以下任务... Claude: [自动调用 Meta账号管理助手 MCP 工具处理请求] # 查看可用工具列表 # 在 Claude 中输入:"列出所有可用的 MCP 工具"
// claude_desktop_config.json 配置示例
{
"mcpServers": {
"meta______": {
"command": "npx",
"args": ["-y", "meta-mcp"],
"env": {
// "API_KEY": "your-api-key-here"
}
}
}
}
// 保存后重启 Claude Desktop 生效
Enables AI assistants to manage Instagram and Threads accounts — publish content, handle comments, view insights, search hashtags, and manage DMs through the Meta Graph API.
x-app-usage header — and automatic client-side throttling at 80% (1s slowdown) / 90% (5s backoff) so a burst of tool calls stays under Meta's per-app quota429/500/502/503/504, network errors, fetch timeouts) with exponential backoff and Retry-After honoring; tunable via MetaClient's maxRetries option (default 3, set to 0 to disable)error_type (auth, validation, rate_limit, server, network, internal), HTTP status, Meta API code/subcode/type, and a remediation hint where actionable — see CHANGELOG.md for the JSON shapeinstructions sent during initialize so clients know required env vars, the two-step publish flow, expected video processing times, and the _rateLimit envelope without re-reading the READMEnotifications/progress emitted while polling container status during publishing — attach a progressToken to ig_publish_* / threads_publish_image|video|carousel calls and the server reports each poll attemptnotifications/message channel (the server declares the logging capability) — each API call logs debug (method + path, never the token-bearing URL), terminal failures log error (status/code/sanitized message), rate-limit pressure logs warning, and DELETE/publish operations log an info audit line. Clients can raise the floor with logging/setLevel (default emits all levels, including debug)MCP_TRANSPORT=http to serve the MCP Streamable HTTP transport (stateful multi-session, localhost-bound by default) instead of stdio, for remote/cloud deployments — see HTTP Transport| Platform | Account Type | Notes |
|---|---|---|
| **Instagram** | Business or Creator | Personal accounts cannot use the Graph API. Free to switch in settings |
| **Threads** | Any account | Instagram link no longer required since Sep 2025 |
| **Meta** (token/webhook) | Meta Developer App | Create at [developers.facebook.com](https://developers.facebook.com) |
git clone https://github.com/exileum/meta-mcp.git
cd meta-mcp
npm install
npm run build
{
"mcpServers": {
"meta": {
"command": "node",
"args": ["/path/to/meta-mcp/dist/index.js"],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "your_ig_token",
"INSTAGRAM_USER_ID": "your_ig_user_id",
"THREADS_ACCESS_TOKEN": "your_threads_token",
"THREADS_USER_ID": "your_threads_user_id"
}
}
}
}
Requires an Instagram Business or Creator account. Switch for free in Instagram app -> Settings -> Account type. No Facebook Page linking required — this uses the Instagram API with Instagram Login.
1. In your Meta App, go to "Instagram" -> "API setup with Instagram business login" 2. In the "Generate access tokens" section, click "Add account" -> log in to your Instagram account 3. The generated token is long-lived (~60 days) — no exchange step needed. Copy it as your INSTAGRAM_ACCESS_TOKEN. - To refresh before expiry, use the meta_refresh_token tool with platform: "instagram", or:
GET https://graph.instagram.com/refresh_access_token
?grant_type=ig_refresh_token
&access_token=LONG_LIVED_TOKEN
4. Get your Instagram User ID: GET https://graph.instagram.com/v25.0/me?fields=user_id,username&access_token=YOUR_TOKEN
The user_id is your INSTAGRAM_USER_ID. 5. Permissions are configured in your app's Instagram settings. Available scopes: - instagram_business_basic — required for all operations - instagram_business_content_publish — publishing photos, reels, carousels - instagram_business_manage_comments — reading and managing comments - instagram_business_manage_messages — DM conversations and messaging
Works with any Threads account. Instagram link no longer required since Sep 2025.
1. In your Meta App, go to "Add Products" -> add "Threads API" 2. Go to "Threads API" -> "Settings": - Add your Threads account as a Threads Tester under "Roles" - Accept the invitation in the Threads app: Settings -> Account -> Website permissions -> Invites 3. Generate an authorization URL:
https://threads.net/oauth/authorize
?client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&scope=threads_basic,threads_content_publish,threads_manage_insights,threads_manage_replies,threads_read_replies,threads_share_to_instagram,threads_manage_mentions,threads_keyword_search
&response_type=code
For local testing, use https://localhost/ as redirect URI (configure in App Settings -> Threads API -> Redirect URIs). 4. After authorization, exchange the code for an access token: POST https://graph.threads.net/oauth/access_token
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_APP_ID
&client_secret=YOUR_APP_SECRET
&grant_type=authorization_code
&redirect_uri=YOUR_REDIRECT_URI
&code=AUTHORIZATION_CODE
5. Exchange for a long-lived token (~60 days): GET https://graph.threads.net/access_token
?grant_type=th_exchange_token
&client_secret=YOUR_APP_SECRET
&access_token=SHORT_LIVED_TOKEN
6. Get your Threads User ID: GET https://graph.threads.net/v1.0/me?fields=id,username&access_token=YOUR_TOKEN
The id field is your THREADS_USER_ID.
Add to your MCP client config:
{
"mcpServers": {
"meta": {
"command": "npx",
"args": ["-y", "@exileum/meta-mcp"],
"env": {
"INSTAGRAM_ACCESS_TOKEN": "your_ig_token",
"INSTAGRAM_USER_ID": "your_ig_user_id",
"THREADS_ACCESS_TOKEN": "your_threads_token",
"THREADS_USER_ID": "your_threads_user_id"
}
}
}
}
Only set the variables for the platforms you use.
| Variable | Required | Description |
|---|---|---|
INSTAGRAM_ACCESS_TOKEN | For Instagram | Instagram Graph API access token |
INSTAGRAM_USER_ID | For Instagram | Instagram Business/Creator account ID (numeric string, or "me" for the authenticated user) |
THREADS_ACCESS_TOKEN | For Threads | Threads API access token |
THREADS_USER_ID | For Threads | Threads user ID (numeric string, or "me" for the authenticated user) |
META_APP_ID | For token/webhook tools | Meta App ID (numeric string) |
META_APP_SECRET | For token/webhook tools | Meta App Secret |
META_API_VERSION | Optional | Meta Graph API version for Instagram and Facebook endpoints — defaults to v25.0 (verified 2026-05-06). Override only when Meta deprecates a version before meta-mcp ships a new release. Format: vMAJOR.MINOR (e.g., v26.0); malformed values fall back to the default with a stderr warning. OAuth token endpoints are unversioned and unaffected by this setting |
THREADS_API_VERSION | Optional | Threads API version — defaults to v1.0 (verified 2026-05-06). Threads runs a separate single-major-version track and is not bumped in lockstep with the Graph API. Same vMAJOR.MINOR format and fallback behavior as META_API_VERSION |
MCP_TRANSPORT | Optional | Transport to serve MCP over — stdio (default) or http. See [HTTP Transport](#http-transport) |
MCP_HTTP_PORT | Optional (http) | TCP port for the HTTP transport — defaults to 3000. Must be an integer 1–65535 |
MCP_HTTP_HOST | Optional (http) | Bind address for the HTTP transport — defaults to 127.0.0.1 (loopback only). Set to 0.0.0.0 to accept connections from other hosts (e.g. in Docker), but only behind a TLS/auth reverse proxy |
MCP_HTTP_ALLOWED_HOSTS | Optional (http) | Comma-separated host:port allowlist for DNS-rebinding protection. Defaults to loopback variants at the bound port; set this when binding to a non-loopback host so legitimate requests pass the Host check |
The server validates these at startup. Malformed values for INSTAGRAM_USER_ID, THREADS_USER_ID, or META_APP_ID cause the process to exit with Invalid meta-mcp configuration: …. Setting only one half of a credential pair (e.g., INSTAGRAM_ACCESS_TOKEN without INSTAGRAM_USER_ID) prints a stderr warning and continues; related tool invocations still fail at call time.
meta-mcp is consumed as an MCP server runtime, not as a library. The supported entry points are:
npx @exileum/meta-mcp (recommended for end users)node dist/index.js (manual installation)The single programmatic export from the package root, createSandboxServer(): McpServer, exists for the Smithery sandbox runner and is the only stable JavaScript/TypeScript API.
zod and other transitive runtime dependencies are internal and not part of meta-mcp's public API. No zod symbols, types, or schemas flow through dist/index.d.ts, so zod's version may change in any release — including major version bumps — without a corresponding meta-mcp major bump.
@modelcontextprotocol/sdk is the one exception: McpServer (the return type of createSandboxServer()) is imported from that package, so a breaking change to McpServer's public interface would also be a breaking change for meta-mcp's programmatic API. In practice the MCP SDK follows semver, so consumers can treat @modelcontextprotocol/sdk as an implicit peer dependency of the createSandboxServer export.
Only the package root (@exileum/meta-mcp) is a supported import target. Deep imports into the published dist/ tree (e.g. @exileum/meta-mcp/dist/schemas.js) are blocked by the package.json exports map for any spec-compliant resolver and are not part of the public API; they may be renamed, removed, or restructured in any release.
Tool failures return isError: true with a JSON body in content[0].text matching the envelope documented in CHANGELOG.md: { error: true, error_type, http_status, code, subcode, type, step, container_id, message, remediation, fbtrace_id, raw }. The fastest path to a fix is to read error_type and the Meta API code, then jump to the matching subsection below. The full code reference is the Meta Graph API error handling guide.
On the publish tools (ig_publish_*, threads_publish_*, threads_reply), errors also include step (container creation / processing / publishing, plus child container creation / child processing / parent container creation / parent processing on carousels) and container_id when one was created. The message mirrors them: "Publish photo failed at processing (container: 17889615324): Container processing timed out after 30s". Use these to decide whether to retry the publish, clean up an orphaned container, or treat the existing container as still reusable.
MCP生态工具,集成度高。低star数反映成熟度不足,功能相对基础,但思路清晰,适合社媒自动化场景。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
经综合评估,Meta账号管理助手 在MCP工具赛道中表现稳健,质量良好。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | meta-mcp |
| 原始描述 | 开源MCP工具:Enables AI assistants to manage Instagram and Threads accounts — publish content。⭐7 · TypeScript |
| Topics | InstagramThreads社交媒体内容发布MCP协议 |
| GitHub | https://github.com/exileum/meta-mcp |
| License | MIT |
| 语言 | TypeScript |
收录时间:2026-05-22 · 更新时间:2026-05-26 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端