MCP (stdio) · Facebook

Draft Facebook Page posts in Claude Desktop and approve them

Facebook Pages still carry a lot of community work: opening hours, event reminders, a thank-you after a busy weekend. Claude Desktop is a comfortable place to write those, and SocialHandoff makes sure they reach the right Page only after you say so. Claude drafts the update and calls draft_post; the card names the Page; you approve. Text and links post as-is, and you can add up to 10 photos in the inbox.

Prompt

Our library is hosting a free repair cafe on Saturday, 10:00 to 14:00, in the community room. Volunteers fix small electronics, bikes, and clothes. Write a Facebook post for our Page: friendly, 2 short paragraphs, what to bring, and ask people to share it. Schedule it for Wednesday 9:00.

How to do it

  1. Connect Facebook and mint a key In https://app.socialhandoff.com, open Connections, sign in with Facebook and pick the Pages to connect; each Page becomes its own channel. Then create an agent key named Claude Desktop scoped to Facebook with draft and schedule permission.
  2. Add the server to Claude Desktop Open Settings, then Developer, then Edit Config, and paste the mcpServers entry that runs npx -y socialhandoff-mcp with your key. Quit and reopen Claude Desktop so draft_post appears in the tools menu.
  3. Attach the media Give Claude Desktop a public https link to photos (up to 10, each with alt text) or one video. It calls attach_media with the url and alt text, gets a media id, and passes it to draft_post in mediaIds. You can also attach files in the inbox instead. A text-and-link Page post can skip this step.
  4. Ask for the draft Give Claude the details. It calls draft_post with networks set to facebook, then schedule_post for Wednesday, and shows the card.
  5. Approve for the right Page The card shows which Page the post goes to. Approve on desktop or in the phone swipe stack, and it publishes to that Page at the scheduled time.

Example draft

Broken toaster? Wobbly bike wheel? A jacket with a torn seam? Bring it to our free Repair Cafe this Saturday, 10:00 to 14:00, in the library community room.

Our volunteers will fix it with you, and show you how so you can do it yourself next time. Bring the item, any parts you have, and a bit of patience.

Please share this with a neighbor who has something waiting to be fixed.

Gotchas

  • Only Facebook Pages can be connected, not personal profiles. Every Page you grant at sign-in becomes its own channel, so check which Page the card names before approving.
  • attach_media takes a public https link or small base64 data. For a photo that only lives on your laptop, attaching it in the inbox is usually quicker than pasting it into the chat.
  • A Page post can carry up to 10 photos or one video, not both. Each photo should have alt text, or the missing-alt-text guardrail flags it.
Facebook
  • Where you can post: Facebook Pages only. The API does not allow posting to personal profiles or to Groups through SocialHandoff.
  • Page access: You need a role on the Page that allows creating content.
  • Photos: One photo with alt text, or up to 10 photos in one post.
  • Video: One video per post.
Facebook post scheduler for Pages, with approval built in

Frequently asked questions

Can I post to a personal Facebook profile?
No. Meta only allows API publishing to Pages. Personal profiles cannot be connected.
Can Claude Desktop publish without me?
No. A new key is draft-only and can never approve its own drafts. You approve every post until you promote the key on the trust ladder.
Do Facebook Page posts need an image?
No. A Page post can be text and a link, one or more photos (up to 10), or one video.

Let your agents post. Keep the final say.

Connect your first agent in minutes. Every draft waits in your inbox until you approve it.

14 days free. No card required.

The hosted version is opening soon

Leave your email and we will send one message when hosted accounts open, with your 14-day trial ready. Want it today? Self-host it free from the repo.

Start free trial