Social media calendar for AI agents: read channels, create drafts, request approval.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Open-source social media scheduling for 30+ platforms.
Plan, compose, and publish from one calendar, with a public API and SDK for automation
and an optional AI assist for checking and rewriting captions.
Quick Start Β· Features Β· Platforms Β· Architecture Β· Self-Hosting Β· Contributing Β· License
Scheduling and publishing
Composer
Security and account protection
Optional AI (off unless you provide a key)
OPENAI_API_KEY, or a per-org key you bring yourself (BYO)Collaboration and automation
/public/v1 and the @postsider/node package) for programmatic use@postsider/mcp33 connectors ship in the box. Each one is a self-contained provider class in
libraries/nestjs-libraries/src/integrations/social/,
so the list below is exactly what the code registers, nothing aspirational.
| Category | Platforms |
|---|---|
| Social | X, LinkedIn (profiles), LinkedIn (pages), Facebook, Instagram (via Facebook), Instagram (standalone login), Threads, YouTube, TikTok, Pinterest, Bluesky, Mastodon, Nostr, Farcaster, Lemmy, Twitch, Dribbble, Google Business Profile, Whop, Moltbook |
| Chat | Discord, Slack, Telegram |
| Blogs and newsletters | Dev.to, Hashnode, Medium, WordPress, Ghost, Blogger, Mataroa, Write.as, Notion, Listmonk |
You only configure OAuth credentials for the platforms you actually use, see
.env.example. Mastodon supports custom instances through the
standard Mastodon connector.
Adding a platform means adding one provider class that extends SocialAbstract
and implements SocialProvider, then registering it in integration.manager.ts.
New connectors are the most welcome kind of pull request.
This pulls the published image ghcr.io/lumizone/postsider-app:latest, brings up
Postgres, Redis and Temporal alongside it, and applies database migrations on
startup. The app is served on http://localhost:4007.
Create the first admin account, then sign in (see First login):
To build the image from source instead of pulling it, replace the image: line
for the postsider service in docker-compose.yaml with build: ..
The backend runs on http://localhost:3000, the frontend on http://localhost:4200.
After running pnpm bootstrap, you receive a one-time password in the terminal. Sign in with admin@setup.local and that password, then you are prompted to set your real email and password.
PostSider is a pnpm monorepo with the following structure:
| Layer | Technology |
|---|---|
| Backend API | NestJS 11, TypeScript 5.5 |
| Frontend | Next.js 15, React 19, CSS Modules |
| Database | PostgreSQL + Prisma 6.5 |
| Cache / Queue | Redis 7 |
| Workflow Engine | Temporal (durable post scheduling, token refresh) |
| AI (optional) | OpenAI (Post Checker and caption rewrite) |
| Billing (optional) | Polar.sh (Merchant of Record) |
| Storage | Local filesystem or Cloudflare R2 |
| Auth | JWT + bcrypt, OAuth (GitHub, Google, Generic OIDC) |
| Monitoring | Sentry |
SocialProvider. Adding a new platform means adding one file.POLAR_ACCESS_TOKEN is set; AI features are enabled only when an OpenAI key is present (platform or BYO). With neither, every org is unlimited and AI is simply hidden.@postsider/sdk package wraps the public v1 endpoints for external consumers.All configuration lives in environment variables. See .env.example
for the full reference, and
docs.postsider.com/configuration/environment
for the annotated version.
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection string |
REDIS_URL | Redis connection string |
JWT_SECRET | Random string for signing tokens (make it long and unique) |
FRONTEND_URL | Public URL where the dashboard is accessible |
NEXT_PUBLIC_BACKEND_URL | Public URL of the backend API |
By default, files are stored locally in ./uploads/. For cloud storage, set:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/postsider)<a href="https://allmcps.com/mcp/postsider"><img src="https://allmcps.com/api/badge/postsider?style=directory" alt="PostSider on AllMCPs" /></a>