Skip to main content
Glama
Arnost55

facebook-mcp-video-reels

by Arnost55

Facebook MCP Server - Video & Reels Support

An MCP server that authenticates with Facebook and provides tools to list pages, post text/images, upload videos, and create Reels on Facebook Pages.

Token Handling

  • User login returns a short-lived user token (~1-2 hours). The server now exchanges it for a long-lived user token (~60 days) using grant_type=fb_exchange_token.

  • The long-lived user token is stored under accessToken along with metadata:

    • accessTokenType

    • accessTokenExpiresAt (epoch ms)

  • Backward compatibility: if an existing stored token has no accessTokenExpiresAt, the server attempts to upgrade it in place the next time it's used.

  • Page operations use Page access tokens retrieved from /me/accounts. These are cached under pages and are typically non-expiring (but can be revoked by user/account changes). If a Page token appears invalid, the server refreshes the Page token cache and retries once.

Storage

The server supports in-memory and Upstash Redis (REST) storage. When using Upstash, tokens are saved as JSON blobs under the configured key prefix and your per-client memoryKey.

OAuth Scopes

The default scopes requested are:

public_profile,pages_show_list,pages_manage_posts,pages_read_engagement,publish_video

These allow listing managed Pages, publishing text/image/video posts, and creating Reels.

MCP Tools

  • auth_url: Returns the Facebook Login URL.

  • exchange_auth_code: Exchanges an OAuth code and upgrades to a long-lived user token.

  • list_pages: Lists Pages (and refreshes Page tokens).

  • create_page_post: Publishes to a Page (text or image). Provide pageId, postContent (text), and optionally imageUrl.

  • read_page_posts: Reads posts for a Page using its Page token.

  • post_video_to_page: Post a video to a Facebook Page. Provide pageId, videoUrl (public HTTPS URL to the video file), and description.

  • post_reel_to_page: Post a Reel to a Facebook Page. Provide pageId, videoUrl (public HTTPS URL to the video file), description, and optionally coverUrl.

Notes

  • There is no standard OAuth refresh_token for Facebook Login. The long-lived user token can be re-extended by calling the same exchange flow. This server attempts extensions when the token is within 7 days of expiry.

  • Video uploads use POST /{page-id}/videos with file_url parameter (no local file upload needed).

  • Reels use POST /{page-id}/video_reels endpoint.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Arnost55/facebook-mcp-video-reels'

If you have feedback or need assistance with the MCP directory API, please join our Discord server