README.md

May 22, 2026 ยท View on GitHub

SocialBlast AI - One dashboard, every channel, every post approved

live site featured on Awesome MCP Servers status license master plan contributors wanted python SafeSkill 88/100

The open-source operating system for your social media.

Buffer + Jasper, but you actually own it.
Write once, publish to Facebook, Instagram, Threads, WhatsApp, and LinkedIn from a single dashboard. TikTok and YouTube adapters live in the codebase, awaiting their developer-app reviews. X is on the roadmap behind its paid API tier. AI drafts in your voice. You approve every post. The system publishes it. Scales from one personal page to one hundred client accounts.

๐Ÿš€ git clone โ€ข pip install โ€ข python -m dashboard.app โ†’ http://127.0.0.1:7651 โ€ข You're posting in 5 minutes.


What's new in v0.6

The biggest jump since launch. Six new things to know.

  • Campaign Wizard at /wizard. One sentence + one face photo = a week of social posts. Premium hand-tuned templates work without any OpenAI key. Full-screen scroll-snap result feed shows every post before anything hits your queue.
  • HiggsField native integration via the official higgsfield-client Python SDK. Unlocks 17+ premium video models in one place: Seedance 2.0, Kling 2.6, Grok Video, Cinematic Studio 3.0, Marketing Studio Video, and more. Replicate stays as a clean fallback.
  • ElevenLabs voice cloning in the Brand Kit. Upload 1-3 minutes of your voice. Every AI video now narrates in your voice. Multilingual.
  • One-click post enrichment. Click Enhance on any pending post in the inbox. The pipeline runs caption โ†’ AI image โ†’ AI voice โ†’ AI video in the background. The post stays pending until you press Approve.
  • Virality predictor (via HiggsField) scores a caption per platform before you publish. Built-in MCP tool, so Claude can run it directly.
  • Health & status surfaces.
    • GET /api/status returns which backends are connected. No secrets.
    • python -m dashboard.health is the CLI version. Useful for first-run debug.
    • Settings page shows the same data with live green/red indicators.

Plus 6 new MCP tools on top of the existing 37: socialblast_generate_campaign, socialblast_enrich_post, socialblast_enrich_campaign, socialblast_predict_virality, socialblast_status, socialblast_list_pending. Drive the full pipeline from Claude Desktop or Claude Code.

Every change still respects the approval queue. Nothing publishes without a human pressing Approve. That is not optional, that is the spine.


Try it without installing

Two ways to kick the tyres before you clone:

๐Ÿ–ฅ๏ธ Live dashboard demo

A public, read-only copy of the dashboard runs on Hugging Face Spaces with curated dummy posts across every platform, calendar, and published feed. Actions are disabled (the safety story stays honest) but you can click around the whole UI.

Open the demo โ†’

๐Ÿค– The MCP server in Claude

Five-minute setup to plug the 37-tool MCP server into Claude Desktop or Claude Code. Read tools work immediately. Write tools land in your local approval queue.

Five-minute MCP setup โ†’


What it looks like

10-second walkthrough: Inbox โ†’ Calendar โ†’ Published โ†’ Settings. Auto-plays on supporting browsers, or download the MP4.

Landing page hero โ€” The operating system for your social media
The hero โ€” bold typography over a soft mesh background. Marketing site at freespirits.github.io/social-auto-engine.
AI-generated post videos in the queue, ready to ship
AI video tiles โ€” four HiggsField clips in IG, Threads, YouTube, and Facebook aspect ratios. The compose studio drops them straight into the approval queue.
Still building. Looking for a co-developer.
Help wanted โ€” token refresh, X adapter, Docker setup, cross-platform analytics. One weekend from the right person changes the trajectory.

๐Ÿ“บ Marketing site: freespirits.github.io/social-auto-engine โ€ข Live dashboard: HF Space


Why this exists

Most social media tools fall into two camps:

  • Schedulers (Buffer, Hootsuite, Later) โ€” great at queuing, terrible at content. You still write everything yourself.
  • AI writers (Jasper, Copy.ai) โ€” great at drafts, terrible at execution. They don't post anywhere.

SocialBlast AI is the missing middle. The AI knows your voice (because you trained it on your samples), the dashboard knows your platforms (because every account is connected), and a human approves every single thing before it leaves the door. No silent automation. No "trust the algorithm." Just a faster version of the workflow you'd run by hand.

Pitch in one sentence: It's the post pipeline a solo creator and a 100-page agency can run on the same software.


Features

Platform adapters โ€” 5 live channels, 2 in code awaiting review

Facebook
facebook_api.py โ€” 20 methods

  • Text, image & video posts
  • Scheduled (future) posts
  • Edit & delete posts
  • Post permalinks
  • Page info & fan count
  • Comment replies
  • Hide / unhide comments
  • Bulk hide / delete / unhide
  • Negative sentiment filter
  • Top commenters extraction
  • Direct messages
  • Full insights suite

Instagram
instagram_api.py โ€” 6 methods

  • Image publishing (two-step container flow via Graph API)
  • Reels publishing (video upload + publish)
  • Recent media feed
  • Media permalinks
  • Account info (username, followers, media count)
  • Linked to Facebook Page

WhatsApp Business
whatsapp_api.py โ€” 7 methods

  • Free-form text messages
  • Template messages (pre-approved by Meta)
  • Image messages with caption
  • Document sending (PDF, etc.)
  • Template listing & filtering
  • Account info & phone number
  • Quality rating check

Threads
threads_api.py โ€” 13 methods

  • Text posts with reply control
  • Image posts
  • Video posts
  • Thread insights (views, likes, replies)
  • Delete threads
  • Full OAuth flow (auth URL, code exchange, long-lived token, refresh)
  • Account info & permalinks

MCP server โ€” 37 tools for Claude

server.py exposes every adapter method as an MCP tool. Drop it into Claude Desktop, Claude Code, Cursor, or any MCP-compatible client.

All 37 tools (click to expand)

Publishing

ToolWhat it does
post_to_facebookText post to your Page
post_image_to_facebookImage + caption post
schedule_postSchedule a post for future publish time
update_postEdit an existing post's message
delete_postRemove a post from the Page
send_dm_to_userDirect message a user

Comments

ToolWhat it does
reply_to_commentReply to a specific comment on a post
get_post_commentsRetrieve all comments on a post
get_comment_repliesGet reply thread on a comment
get_number_of_commentsCount comments on a post
get_post_top_commentersRanked list of most active commenters
delete_commentDelete a comment
delete_comment_from_postDelete by post + comment ID
hide_commentHide from public view
unhide_commentRestore a hidden comment
bulk_delete_commentsDelete multiple comments at once
bulk_hide_commentsHide multiple comments at once
bulk_unhide_commentsUnhide multiple comments at once
filter_negative_commentsBasic negative sentiment filter

Analytics & insights

ToolWhat it does
get_post_insightsAll metrics for a post (impressions, reactions, clicks)
get_post_impressionsTotal impressions
get_post_impressions_uniqueUnique impressions
get_post_impressions_paidPaid impressions
get_post_impressions_organicOrganic impressions
get_post_engaged_usersUsers who engaged
get_post_clicksClick count
get_number_of_likesLike count
get_post_share_countShare count
get_post_reactions_breakdownAll reaction types in one call
get_post_reactions_like_totalLike reactions
get_post_reactions_love_totalLove reactions
get_post_reactions_wow_totalWow reactions
get_post_reactions_haha_totalHaha reactions
get_post_reactions_sorry_totalSad reactions
get_post_reactions_anger_totalAngry reactions

Page management

ToolWhat it does
get_page_postsRecent posts on the Page
get_page_fan_countTotal fans / likes
get_page_infoExtended Page metadata
get_post_permalinkPermanent URL of a post
get_scheduled_postsAll unpublished scheduled posts

Dashboard โ€” approve everything before it ships

FastAPI + HTMX + Jinja2. No SPA, no Node.js, no build step. SQLite in WAL mode.

FeatureHow it works
Multi-platform composeWrite once, pick Facebook / Instagram / WhatsApp / Threads / LinkedIn
AI compose studioEnhance, rewrite, TTS, captions, video gen, Notion sync. All from the compose toolbar.
AI provider cascadeText AI auto-selects the first available provider: Grok > Bedrock > Ollama
Inline API key managementPaste keys in Settings, save and test without restarting
Approval queueEvery post lands in pending. Approve, reject, or approve-all
Live publishingApprove > adapter publishes to the real platform API
Toast notificationsSuccess / failure feedback via HX-Trigger events
Settings pageConnected accounts, AI service cards, environment overview
OAuth flowsThreads, LinkedIn, TikTok, YouTube. Connect with one click.
Connection healthPer-platform API health check (token status, account info)
Stats barPending / published / failed counts, always visible
Image supportInstagram requires image URL; stored per-post in SQLite
WhatsApp templatesPick from Meta-approved templates or send free-form
Recipient fieldWhatsApp messages route to a specific phone number
Contextual video genHiggsField auto-derives a video prompt from your post text
HTMX partialsOnly the changed columns re-render, no full page reload
FaviconCustom SVG favicon served at /favicon.ico

10-second walkthrough: Inbox โ†’ Calendar โ†’ Published โ†’ Settings.


AI services โ€” 7 integrations, all optional

Every AI integration is optional, configured from the Settings page (paste keys, save, test), and stored in ~/.social-auto-engine/tokens.env. No restart needed. The compose studio toolbar surfaces whichever services are configured.

ServiceWhat it powersKey
Grok (xAI)Prompt enhancement, post rewritingGROK_API_KEY
Amazon BedrockClaude for text, SDXL for images, TitanAWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY
OllamaFree local LLM fallback (no key needed)OLLAMA_BASE_URL
ElevenLabsText-to-speech, voice cloningELEVENLABS_API_KEY
DeepgramSpeech-to-text, SRT captionsDEEPGRAM_API_KEY
HiggsField / ReplicateAI video generation (contextual from post text)REPLICATE_API_TOKEN
NotionSync drafts to a Notion databaseNOTION_ACCESS_TOKEN

Text AI cascade. Enhance and rewrite use the first available text provider: Grok > Bedrock > Ollama. Configure one and it works. Configure all three and you have automatic failover.

Contextual video. When you generate a video from the compose studio, the text AI writes a scene prompt from your post content so the video matches what you are publishing.


Content skills โ€” 17 AI workflows

Each skill is a single SKILL.md file in skills/. Drop the folder into any Claude project and trigger by name.

All 17 skills (click to expand)

Voice & identity

SkillTriggerWhat it does
voice-builder"build my voice"Interview + 3-5 writing samples โ†’ about-me.md + voice.md
newsletter-voice"build my newsletter voice"Extends voice system to newsletter format with archetype selection
profile-optimizer"optimize my profile"Full LinkedIn rebuild: headline, about, experience, 4 image prompts

Writing

SkillTriggerWhat it does
post-writer"write a post about X"Drafts in your trained voice using about-me + voice files
post-formatter"format this as PAS"Applies PAS / AIDA / BAB / STAR / SLAY frameworks, 200-250 words
hook-generator"write me hooks"6 two-line hook variations per topic, digit-heavy, "How I" format
content-matrix"give me post ideas"32+ ideas from your pillars x 8 formats (Justin Welsh method)
pinned-comment"pinned comment"LinkedIn first-comment + matching image prompt
quote-post"quote post"Motivational quote + Gemini image prompt for the graphic

Visual content

SkillTriggerWhat it does
graphic-designer"design a graphic"Decides HTML/CSS structured graphic vs AI infographic
gemini-carousel"build a carousel"Slide-by-slide LinkedIn carousel via Gemini, 1080x1350
gemini-infographic"whiteboard infographic"Hand-drawn whiteboard style prompt (480k impressions across 3 posts)
youtube-thumbnail"thumbnail"Branded YouTube thumbnail prompt from video title + reference photo

Research & scoring

SkillTriggerWhat it does
post-scorer"score my post"Scores draft against your real post performance data via Apify
niche-research"research my niche"Live browser research via Claude for Chrome โ€” Reddit, X, Google
reels-scripting"script a reel"Scrapes reference Reel via Apify, analyses with Gemini, writes your script

Analytics

SkillTriggerWhat it does
analytics-dashboard"analyse my linkedin"LinkedIn export โ†’ interactive React dashboard + strategic analysis

Infrastructure & DX

FeatureDetails
CI pipelineGitHub Actions โ€” lint + test on every push
Issue templatesBug report + feature request (YAML-based)
PR templateStructured checklist for every pull request
.env.exampleFully documented โ€” every env var explained with setup links
DEVELOPMENT.mdDeveloper setup guide
CONTRIBUTING.mdContribution rules, branch strategy, code style
MIT licenseUse it commercially, fork it, ship it
Design systemdesign-system/MASTER.md โ€” color tokens, typography, spacing
Ops guidedocs/meta-survival-guide.md โ€” Meta Business Suite token walkthrough
API setup guidedocs/api-setup-guide.md โ€” every platform, zero to working token

Roadmap

FeatureStatusNotes
LinkedIn publishing๐ŸŸข LiveMember posting (text, image, article) via UGC API. Connect via /oauth/linkedin/start.
Multi-platform broadcast composer๐ŸŸข LiveCompose once, fan out to N selected platforms. Per-platform partial-failure tolerated. (design)
Company-grouped UI๐ŸŸข LiveDashboard sidebar grouped by Meta / LinkedIn / TikTok / YouTube / X.
TikTok publishing๐ŸŸก Code complete, awaiting reviewInbox-upload tier (video.upload scope) shipped in tiktok_api.py. Direct-post tier requires full TikTok app review. Connect via /oauth/tiktok/start.
YouTube publishing๐ŸŸก Code complete, awaiting OAuth setupVideo upload via Data API v3 in youtube_api.py. Defaults privacyStatus='private' per the no-silent-automation spine. Connect via /oauth/youtube/start.
Scheduler (cron queue)๐ŸŸข LiveAPScheduler + SQLite jobstore.
AI compose in dashboard๐ŸŸข Live7 AI services, cascade provider selection, contextual video gen. (#3)
Token auto-refresh helper๐ŸŸข LiveShort-lived โ†’ long-lived user token exchange and Page-token derivation via scripts/refresh_token.py. (#2)
Provider auth-error surfacing๐ŸŸข LiveAI provider 401s now render actionable inline UI instead of raw 500s. (#28)
Empty-state illustrations๐ŸŸข LiveFirst-run empty states for inbox, calendar, and published feeds. (#7)
Landing site (GitHub Pages)๐ŸŸข LiveWebGL-animated marketing page at freespirits.github.io/social-auto-engine.
X / Twitter adapterโšช PlannedRequires Basic tier ($100/mo) or Pro ($5,000/mo). Deferred until usage justifies the spend.
Cross-platform analyticsโšช DesignedPhase 5 of the master plan
Ad boosting (Meta)โšช DesignedPhase 6 of the master plan

Quick start

1. Run the MCP server (Facebook tools, working now)

git clone https://github.com/Freespirits/social-auto-engine.git
cd social-auto-engine
pip install -r requirements.txt

Create a .env file (see DEVELOPMENT.md and .env.example for the full list):

# Required for posting to Facebook
FACEBOOK_PAGE_ID=your_page_id
FACEBOOK_ACCESS_TOKEN=your_long_lived_page_token

# Unlock 17+ video models via the official HiggsField SDK
# (Seedance 2.0, Kling 2.6, Grok Video, Cinematic Studio, and more)
# Get a key pair at https://cloud.higgsfield.ai/
HF_API_KEY=
HF_API_SECRET=

# Cloned voice narration for AI videos
ELEVENLABS_API_KEY=

# Falls back if HiggsField key pair is missing
REPLICATE_API_TOKEN=

# Premium captions via GPT-4o-mini (optional, falls back to hand-tuned templates)
OPENAI_API_KEY=

Quick sanity check: run python -m dashboard.health to see exactly which backends are configured. No secrets printed, just a green/red status table.

Add to ~/.config/Claude/claude_desktop_config.json (or the Windows equivalent):

{
  "mcpServers": {
    "social-auto-engine": {
      "command": "python",
      "args": ["/absolute/path/to/social-auto-engine/server.py"],
      "env": {
        "FACEBOOK_PAGE_ID": "...",
        "FACEBOOK_ACCESS_TOKEN": "..."
      }
    }
  }
}

Restart Claude Desktop. Try: "Show me my last 5 Facebook posts and their engagement."

2. Use the skills (any Claude project)

Drop the skills/ folder into a Claude project, then say:

  • "build my voice" โ†’ walks you through the voice profile interview
  • "write a post about X" โ†’ drafts in your voice with a chosen framework
  • "score my post" โ†’ rates a draft against your real top performers
  • "script a reel" โ†’ reverse-engineers a reference reel and writes yours

Each skill is a single SKILL.md file. Read it, edit it, fork it.


Architecture in one picture

                 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                 โ”‚   Dashboard (FastAPI + HTMX + SQLite)    โ”‚
                 โ”‚   localhost:7651                         โ”‚
                 โ”‚   compose ยท inbox ยท settings ยท calendar  โ”‚
                 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                          โ”‚                    โ”‚
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค                    โ”‚
        โ–ผ                 โ–ผ                    โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚ Approval โ”‚    โ”‚  Scheduler  โ”‚    โ”‚   AI Services     โ”‚
  โ”‚  Queue   โ”‚    โ”‚ (APSched)   โ”‚    โ”‚  Grok ยท Bedrock   โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚  Ollama ยท 11Labs  โ”‚
        โ”‚                โ”‚           โ”‚  Deepgram ยท Repl.  โ”‚
        โ”‚                โ”‚           โ”‚  Notion            โ”‚
        โ”‚                โ”‚           โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
                         โ–ผ
          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
          โ”‚         Platform Adapters          โ”‚
          โ”‚  FB ยท IG ยท WA ยท Threads ยท LinkedIn โ”‚
          โ”‚  TikTok ยท YouTube (in review)      โ”‚
          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Full breakdown โ€” including SQL schemas, dashboard wireframes, AI provider routing, batch workflows for 100 pages, and the 6-phase roadmap โ€” lives in docs/specs/2026-05-02-multi-channel-platform-master-plan.md.


Help wanted

This project is the size where one weekend from the right person changes the trajectory. Here's where you can pick up a meaningful chunk:

๐ŸŽฏ High-impact, ready to start

AreaWhatSkills neededIssue
X / Twitter adapterMirror instagram_api.py shape for X postingPython, OAuth 2.0Requires Basic tier ($100/mo)
Docker setupdocker-compose for dashboard + dependenciesDocker, Docker Composeโ€”
Dashboard authCookie-based password auth (in flight on dashboard-addons)Python, FastAPIโ€”
Cross-platform analyticsUnified metrics across FB, IG, Threads, LinkedInPython, chartingPhase 5 of master plan
TikTok app reviewSubmit for direct-post tier (video.publish scope)Process, screencastโ€”
YouTube OAuth consentSubmit verification for Data API v3 publish scopeProcess, app verificationโ€”

โœ… Recently shipped

AreaStatus
Landing siteWebGL-animated marketing page on GitHub Pages at freespirits.github.io/social-auto-engine.
Token refresh helperShort-lived โ†’ long-lived exchange + Page-token derivation via scripts/refresh_token.py. #2
Provider auth-error UIAI provider 401s now render actionable inline messages instead of raw 500s. #28
Empty-state illustrationsFirst-run empty states for inbox, calendar, and published feeds. #7
LinkedIn adapterLive. Member posting (text, image, article) via UGC API. #5
Test suite190+ tests. DB, dashboard, adapters, AI services. #6
AI compose7 AI services, cascade provider selection, contextual video gen. #3
SchedulerAPScheduler + SQLite jobstore. #4

๐Ÿงช Solid second-tier

  • TikTok direct-post tier (code complete, awaiting full app review)
  • YouTube publishing (code complete, awaiting OAuth consent screen)
  • Documentation: per-skill docs, architecture decision records
  • Additional AI providers (OpenAI, Gemini) as cascade options

๐Ÿ’ก Got a different idea?

Open an issue with the label proposal. The master plan is the north star but it's not law โ€” if you have a sharper take, make the case.

๐Ÿ”— Standing on shoulders

We've curated 24 open-source projects that can accelerate this work. See docs/integrations.md. Top picks: Postiz (provider abstraction reference), CRUDAdmin (FastAPI+HTMX admin), python-statemachine (proper post lifecycle modeling).

How to contribute

  1. Read the master plan. Even a skim. It's the contract.
  2. Open an issue describing what you want to build before you write code. Saves rework.
  3. Branch from main, small focused PRs. One adapter per PR is fine.
  4. No silent automation. If your change adds a write action, it must go through the approval queue or be opt-in with a warning. This is the project's spine.
  5. British English in user-facing copy. No em dashes. Yes, even in PR descriptions. (You'll see why once you read voice.md.)

Tech stack

  • Python 3.11+ โ€” server, adapters, content pipeline
  • MCP (Model Context Protocol) โ€” tool layer, integrates with Claude / Cursor / any MCP client
  • FastAPI + HTMX + Jinja2 โ€” dashboard (no SPA build step, no Node.js dependency)
  • SQLite (WAL mode) โ€” single-file persistence, zero ops
  • APScheduler โ€” cron-driven scheduled publishing with SQLite jobstore
  • Apify โ€” Instagram / LinkedIn scraping for trend research and post-history scoring
  • AI providers โ€” Grok (xAI), Amazon Bedrock (Claude, SDXL), Ollama (local), ElevenLabs, Deepgram, HiggsField/Replicate, Notion

Project origins

SocialBlast AI merges two open-source projects:

Both still stand on their own. This repo is the integration: the MCP backbone meets the content pipeline meets a multi-channel dashboard.


License

MIT. Use it, fork it, ship it commercially. Just don't pretend you wrote it from scratch โ€” credit lives in LICENSE and the origin links above.


Star the repo if you want this built faster. Open an issue if you want to build it with us.