Facebook by 1Social

dev.1socialPublished by 1social.devOfficial publisherv1.0.1Updated Oct 29, 2026

Publish and schedule Facebook Page posts from your AI assistant.

The publisher's own server: 1Social

VerifiedStreamable HTTPWeb executableProductivity & WorkflowCommunication & Collaboration

Overview

AI-generated overview

Remote OAuth-secured server that lets an assistant publish, schedule, check and fix social media posts, including Facebook Page posts.

What you can do
  • List connected accounts, their channel ids, accepted formats, plan and remaining quota
  • Dry-run a post to see per-network limits, media requirements, threading and quota cost
  • Publish now or schedule up to 30 days ahead, with a per-network delivery receipt
  • Read posts and their per-network outcomes, including deliveries marked unknown
  • Edit, cancel or delete posts, and retry a single failed network
  • Upload media and confirm the outcome of an unknown delivery
When to use it
Useful when you want an assistant to draft and cross-post to Facebook and other social networks, schedule content ahead of time, or investigate and repair partial delivery failures without reposting everywhere.
Requirements
A remote Streamable HTTP endpoint; nothing to install and no API key. Needs a 1Social account, social accounts connected through each network's OAuth consent screen in a browser, and OAuth authorization from the client. Publishing is metered in deliveries, with paid plans above a small free allowance.
Before you install
Publishing, scheduling, editing and deleting all change live content on connected networks. Deletion does not work on Instagram, TikTok or Threads, and on threads only the first post is removed. Quota is metered per delivery and paid plans cost money; running out returns a checkout link. Deliveries whose outcome is unknown must be confirmed by you, not guessed by the assistant.

Installation

In SourceWeft

  1. Open Facebook by 1Social in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/dev.1social%2Ffacebook/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "facebook-by-1social": {
      "type": "http",
      "url": "https://mcp.1social.dev/mcp/facebook"
    }
  }
}

README

1Social MCP

Model Context Protocol server for publishing to social networks — secured by OAuth.

1Social MCP lets an AI assistant post for you. Connect Claude, ChatGPT, Cursor, VS Code, or a CLI client to 1Social, then publish, schedule, check and fix posts across Instagram, TikTok, X, LinkedIn, Bluesky, Threads, Facebook and YouTube Shorts in natural language.

  • Server URL: https://mcp.1social.dev/mcp
  • Transport: Streamable HTTP
  • Auth: OAuth 2.1 with PKCE and Dynamic Client Registration
  • Landing & setup: 1social.dev/mcp

Install

1Social MCP is a remote, OAuth-secured server. There is no package to install and no API key to paste. Add this to your client's MCP config:

json
{  "mcpServers": {    "1social": {      "url": "https://mcp.1social.dev/mcp"    }  }}

One-click install: Cursor · VS Code · Claude connectors · ChatGPT connectors

CLI clients (Claude Code, Gemini CLI, Codex CLI) and manual snippets: see Supported clients.

Quick start

  1. Create a 1Social account at 1social.dev.
  2. Connect your social accounts in the browser. This step needs a browser and cannot be done from a chat — each network's OAuth consent screen has to be signed for by you.
  3. Add the server to your client with the one-click link, the CLI command, or the JSON/TOML snippet above.
  4. Authorize with OAuth when your client opens the consent screen.
  5. Ask your assistant to post.

What you can do from chat

  • 📤 Publish and schedule — one message goes to every network you pick, now or up to 30 days ahead.
  • 🔍 Check before it goes — per-network character counts, whether an image is required, whether a multi-part post will thread natively or be joined, and what it costs against your quota.
  • 🧾 Read the receipt — what reached each network, what failed and why, and what genuinely could not be determined.
  • ♻️ Fix what broke — retry one network without touching the ones that already went out.
  • 🖼 Attach media — post an image or video from the chat. Instagram and TikTok refuse posts without one.
  • ✏️ Edit, cancel, delete — change a scheduled post, unschedule it, or delete it from the networks that allow deletion.

Tool surface

Ten tools, deliberately few. Publish-now and schedule are the same tool (scheduledAt: null means now), and reading one post is list_posts with a postId rather than a second tool — a smaller set is one a model picks from accurately.

ToolWhat it does
list_accountsConnected accounts, what each network accepts, current plan, remaining quota. Call it first — channel ids come from here.
preview_postFree dry run: per-network limits, media requirements, threading behaviour, quota cost. Nothing is published.
publish_postPublishes now, or schedules up to 30 days ahead. Returns a per-network receipt. Takes an idempotencyKey.
list_postsPosts with their delivery outcome per network — delivered, failed with a reason, cancelled, or unknown — plus stored engagement metrics.
update_postEdits a post that has not been sent yet. The networks have no edit endpoint, so it withdraws and replaces.
cancel_postUnschedules a post and releases the quota it reserved.
delete_postDeletes from 1Social and attempts removal from each network. See What deletion can and cannot do.
retry_deliveryRetries one failed network, leaving the successful ones alone. Refused for permanent failures.
upload_mediaPre-signed upload target, for clients that cannot attach a file to a tool call.
confirm_deliveryRecords your answer about a delivery whose outcome was unknown: is the post live on that network or not?

The live set is what the server says it is — run tools/list against https://mcp.1social.dev/mcp for the exact, current shapes.

It tells you when it doesn't know

A post to four networks can land on three. Every tool result is per network: the failure is named in words you can act on, and a delivery whose outcome genuinely could not be determined comes back as unknown rather than as success.

unknown is not a dead end. You look at the network, tell the assistant what you see, and confirm_delivery settles it — confirming it is live commits the quota, confirming it is not marks the delivery failed so retry_delivery can pick it up. The assistant is not allowed to guess this on your behalf.

What deletion can and cannot do

delete_post always removes the post from 1Social. Removal from the network depends on the network:

NetworkRemote delete
X, LinkedIn, Bluesky, Facebook✅ works
Instagram, TikTok, Threads❌ no working delete API — the post stays live and only you can take it down

On a multi-part thread only the first post is removed; the rest stay live as orphans. The tool reports what actually came down, per network, and the assistant is instructed to tell you that rather than confirm a clean delete.

Plans & access

Publishing costs us money per delivery, so the quota is metered in deliveries, not posts — one post to four networks is four deliveries. A delivery to X costs more units than the others because X charges per post (pricing has the current numbers).

No subscriptionSoloPro
Price$0$19/mo$39/mo
Monthly deliveries30 units600 units1,600 units
All eight networks✅✅✅
Delivery receipts & retries✅✅✅

A new account has a small free monthly allowance — enough to publish, watch the receipt come back, retry something, and schedule a post — so the tools work before you pay for anything. A failed delivery does not count against the quota when the failure was ours or the network's.

You never have to leave the chat to pay. A tool call that runs out of quota comes back with a checkout link for your account.

Supported clients

  • Claude (web & desktop) — Settings → Connectors → Add custom connector
  • ChatGPT — Settings → Apps & Connectors → Advanced → Developer mode → Add custom connector
  • Cursor — one-click deeplink, or ~/.cursor/mcp.json
  • VS Code — one-click deeplink, or .vscode/mcp.json
  • Claude Code (CLI) — claude mcp add --transport http 1social https://mcp.1social.dev/mcp
  • Gemini CLI — gemini mcp add --transport http 1social https://mcp.1social.dev/mcp
  • Codex CLI — codex mcp add 1social --url https://mcp.1social.dev/mcp
  • Generic HTTP MCP client — point it at the URL and let it complete OAuth discovery

Full per-client instructions: docs/setup.md.

Cursor plugin

This repository is also a Cursor plugin. It contributes one MCP server (1social) and no rules, skills, agents, or hooks.

.cursor-plugin/plugin.json   ← plugin manifestmcp.json                     ← the MCP server it contributesassets/logo.svg              ← plugin logo

There is nothing to configure. The server advertises OAuth 2.1 metadata, Cursor registers itself dynamically, and the consent screen opens on first use.

Example prompts

Cross-post with a check first

"Draft a post about our new pricing page for LinkedIn, X and Bluesky, check it fits, then publish."

→ preview_post reports the per-network counts and cost; publish_post returns a receipt per network.

Schedule with an image

"Post this screenshot to Instagram and Threads on Friday at 9am."

→ The attached file goes in media; Instagram would have refused the post without it.

Find out what actually happened

"Did yesterday's post make it everywhere?"

→ list_posts returns the receipt — including any delivery still marked unknown.

Repair, not repost

"LinkedIn failed. Retry just LinkedIn."

→ retry_delivery touches one delivery and leaves the successful networks alone.

More: docs/examples.md.

Authorization

OAuth 2.1 with PKCE, per the MCP authorization spec. The authorization server is https://1social.dev; it supports Dynamic Client Registration, so compatible clients set themselves up and you only see the consent screen. Scopes granted are openid, profile, email and offline_access.

The assistant never sees your social credentials. Your network tokens stay in 1Social; the assistant holds only a token for your 1Social account, and you can revoke it at any time from the web app.

Flow details: docs/oauth.md.

Troubleshooting

Common connection, OAuth, and tool-call errors: docs/troubleshooting.md.

Marketplace listings

This repo is the source for two listings:

RegistryRecordManifest
MCP Registrydev.1social/1socialserver.json — published by CI on a v* tag, authenticated by a DNS TXT record on 1social.dev
LobeHubsultanlive-1social-mcplhm.plugin.json — published with npx -y @lobehub/market-cli plugin publish --dir .

The tools array in lhm.plugin.json is generated from the TOOLS table in the server's own contract (packages/contract/src/mcp/tools.ts in the private repo), the same table that answers tools/list. It is a snapshot: when the tool surface changes, regenerate it rather than hand-editing, or the listing will describe a server that no longer exists.

Note that the two registries carry different version numbers on purpose — server.json is at 0.1.0, while LobeHub assigned 1.0.0 at import time and a version cannot be renamed.

Project links

License

MIT — see LICENSE.


Built by @sultanlive. 1Social is a hosted publishing service; this repo is documentation for its public MCP server. Server source is not open.

Source: README.md at commit f076164

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.0.1LatestOct 29, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other 1social integrations