PostSider
OfficialAllows AI agents to manage Blogger content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Bluesky content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage dev.to content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Discord content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Dribbble content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Facebook content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Farcaster content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Ghost content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Google Business Profile content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Hashnode content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Instagram content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Lemmy content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Listmonk content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Mastodon content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Medium content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Notion content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Pinterest content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Slack content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Telegram content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Threads content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage TikTok content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Twitch content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage WordPress content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage Write.as content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
Allows AI agents to manage YouTube content through PostSider, including creating drafts, scheduling posts, requesting approvals, uploading media, and reading analytics.
What is PostSider?
PostSider is an open-source social media management and scheduling platform built around four ways of working:
Use PostSider as | What you get |
Social media scheduler | One calendar for planning, composing, approving, scheduling, and publishing content |
Self-hosted platform | A Docker-based deployment you can run on your own infrastructure |
Automation backend | A public REST API plus the |
AI-agent bridge | An MCP server that lets compatible agents work with PostSider through structured tools |
PostSider ships with 33 active connectors registered in the application. You configure credentials only for the platforms you actually use.
AI features are optional. PostSider works without an OpenAI API key.
Related MCP server: postforme-mcp-pro
Quick Start
For a local evaluation, the fastest path is Docker Compose.
Requirements
Docker
Docker Compose
Start PostSider
git clone https://github.com/lumizone/postsider.git
cd postsider
docker compose up -dThe default Compose stack pulls:
ghcr.io/lumizone/postsider-app:latestand starts PostSider with PostgreSQL, Redis, and Temporal.
Open:
http://localhost:4007Create the first administrator account:
docker exec -it postsider pnpm bootstrapThe bootstrap command prints a one-time password. Sign in with:
admin@setup.localand the generated password. PostSider then prompts you to set your real email address and password.
The root
docker-compose.yamlis convenient for local evaluation. For an internet-facing deployment, use the production setup and the self-hosting guide.
Highlights
Scheduling and publishing
Visual calendar with drag-and-drop scheduling
Posting queue and find-free-slot scheduling
Smart Slot suggestions
Evergreen content recycling
Per-platform previews
Per-platform validation before publishing
Automatic first comments where supported
Bulk CSV import
Content workflow
Hashtag groups
Caption templates
Reusable snippets
UTM builder
Draft and approval workflows
Shared media library
Teams and organizations
Multi-organization workspaces
Separate workspaces for brands or clients
Admin and User roles
Shared publishing workflow
Automation
Public REST API
Node.js SDK:
@postsider/nodeMCP server:
@postsider/mcpWebhooks
Programmatic scheduling and channel access
Optional AI
Post Checker
Caption rewriting
Platform-level
OPENAI_API_KEYPer-organization bring-your-own key support
Security
Optional TOTP two-factor authentication
One-time recovery codes
Organization-wide 2FA enforcement
Encrypted provider credentials at rest
Security activity trail
Secure
httpOnlycookiesCORS and CSP controls
Rate limiting
Server-side authorization and plan enforcement
Supported Platforms
The list below mirrors the active providers registered in:
libraries/nestjs-libraries/src/integrations/integration.manager.ts
Category | Platforms |
Social & creator platforms | X, LinkedIn Profile, LinkedIn Page, Facebook, Instagram via Facebook, Instagram Standalone, Threads, YouTube, TikTok, Pinterest, Bluesky, Mastodon, Nostr, Farcaster, Lemmy, Twitch, Dribbble, Google Business Profile, Whop, Moltbook |
Chat & community | Discord, Slack, Telegram |
Blogs & publishing | Dev.to, Hashnode, Medium, WordPress, Ghost, Blogger, Notion, Mataroa, Write.as, Listmonk |
That is 33 active connectors in the current integration registry.
You only need OAuth/API credentials for the providers you intend to use. See:
Mastodon supports custom instances through the standard Mastodon provider.
Adding a provider
Provider integrations live in:
libraries/nestjs-libraries/src/integrations/social/A new connector typically:
Extends
SocialAbstractImplements
SocialProviderIs registered in
socialIntegrationListinintegration.manager.tsAdds the corresponding frontend platform metadata/assets
New provider integrations are especially welcome as pull requests.
AI Agents (MCP)
PostSider includes an MCP server for compatible AI clients and agents.
The package is:
@postsider/mcpThe MCP layer is a thin interface over PostSider's public API and exposes 19 tools for workflows such as:
Listing connected channels
Reviewing the publishing calendar
Creating drafts
Requesting approval
Uploading media
Working with scheduled content
Reading analytics
The intended workflow is read-first and draft-first: an agent can prepare work inside the same PostSider workflow used by humans, while publishing remains a deliberate action.
Build the MCP server
pnpm --filter @postsider/mcp buildFor a local/stdio connection, configure:
POSTSIDER_API_KEY
POSTSIDER_API_URLPOSTSIDER_API_URL points the MCP server at the PostSider instance you want to use.
Full MCP documentation:
Claude Code plugin
This repository also contains the Claude Code plugin metadata and the postsider-workflow skill.
claude plugin marketplace add lumizone/postsider
claude plugin install postsider@postsiderA safe read-only connection check:
List my connected PostSider channels. Do not create or modify anything.Public API & SDK
PostSider exposes a public REST API for external applications and automation.
Authenticate with your organization's API key.
Node.js SDK
The published SDK package is:
npm install @postsider/nodeExample:
import Postsider from '@postsider/node';
const client = new Postsider(
'your-api-key',
'https://your-instance.com'
);
// Schedule a post
await client.post({
type: 'schedule',
date: '2025-01-15T10:00:00',
posts: [
{
integration: { id: 'channel-id' },
value: [{ content: 'Hello!' }],
},
],
});
// List posts
const posts = await client.postList({
page: 0,
limit: 20,
});
// List connected channels
const channels = await client.integrations();The public API is exposed under /public/v1.
Architecture
PostSider is a TypeScript pnpm monorepo.
postsider/
├── apps/
│ ├── backend/ # NestJS REST API
│ ├── orchestrator/ # Temporal workers
│ ├── frontend/ # Next.js dashboard
│ ├── commands/ # CLI/bootstrap utilities
│ ├── sdk/ # @postsider/node
│ └── mcp/ # @postsider/mcp
├── libraries/
│ ├── nestjs-libraries/ # Shared backend, database, integrations
│ └── helpers/ # Shared utilities
├── docker-compose.yaml
├── docker-compose.production.yaml
└── .env.exampleTech stack
Layer | Technology |
Backend API | NestJS 11, TypeScript |
Frontend | Next.js 15, React 19 |
Database | PostgreSQL + Prisma 6.5 |
Cache | Redis |
Workflow engine | Temporal |
AI | OpenAI, optional |
Billing | Polar.sh, optional |
Storage | Local filesystem, Cloudflare R2, or MinIO |
Authentication | JWT, GitHub OAuth, Google OAuth, Generic OIDC |
Monitoring | Sentry |
Design decisions
Temporal for durable scheduling
Scheduled publishing and token-refresh work run through Temporal workflows so background jobs are not tied to one web-process lifetime.
Provider-based integrations
Each social platform is implemented behind a common provider interface. The active registry lives in integration.manager.ts.
Public API first
External tools can use /public/v1, while Node.js consumers can use @postsider/node.
One codebase for hosted and self-hosted deployments
Optional capabilities are controlled through environment configuration. Billing and AI are not required for a self-hosted installation.
Configuration
Start from the example environment file:
cp .env.example .envThe primary local-development settings are:
Variable | Purpose |
| PostgreSQL connection string |
| Redis connection string |
| JWT signing secret |
| URL used to reach the backend |
| URL used to reach the frontend |
| Public backend URL embedded in the frontend |
| Backend URL used by internal services |
For production, set a dedicated ENCRYPTION_KEY as documented in .env.example.
The full reference is maintained in:
Storage
Local storage is the default:
STORAGE_PROVIDER=local
UPLOAD_DIRECTORY=./uploadsCloudflare R2 and MinIO are also supported through environment configuration.
Provider credentials
Social providers have their own API/OAuth settings. You do not need to configure all 33 providers.
Configure only the services you plan to connect.
Self-Hosting
PostSider is designed to run on your own infrastructure.
Two Compose files are included:
File | Purpose |
| Simple local/evaluation stack using the published GHCR image |
| Production-oriented stack built from the repository |
The production stack includes the PostSider application, PostgreSQL, Redis, MinIO, Temporal, and supporting services used by the deployment.
For production, use the dedicated guide:
The production Compose file intentionally expects production secrets and deployment-specific values rather than shipping usable defaults.
Local Development
Requirements
Node.js
>=20.17.0 <23.0.0pnpm
10.6.xPostgreSQL
Redis
Clone and install:
git clone https://github.com/lumizone/postsider.git
cd postsider
pnpm installCreate your environment file:
cp .env.example .envApply database migrations:
pnpm prisma-migrate-deployCreate the initial admin:
pnpm bootstrapStart the backend and orchestrator:
pnpm devIn another terminal, start the frontend:
pnpm dev:frontendDefault development URLs:
Backend: http://localhost:3000
Frontend: http://localhost:4200Useful commands
# Backend only
pnpm dev:backend
# Orchestrator only
pnpm dev:orchestrator
# Frontend only
pnpm dev:frontend
# Generate Prisma client
pnpm prisma-generate
# Create a Prisma migration
pnpm prisma-migrate-dev
# Apply migrations
pnpm prisma-migrate-deploy
# Build backend + orchestrator
pnpm build
# Build the Node.js SDK
pnpm build:sdkContributing
Contributions are welcome.
Good places to contribute include:
New provider integrations
Bug fixes with clear reproduction steps
Documentation
Performance improvements
Automated tests
Type-safety improvements
Typical workflow:
git checkout -b feature/my-feature
# make changes
pnpm run build:backendThen open a pull request with a clear explanation of the change.
For provider-specific contribution steps, see CONTRIBUTING.md.
Roadmap
GitHub Actions CI
Runtime image published to GHCR
Public REST API
Node.js SDK
MCP server
Broader automated coverage for core flows
Enable
strictNullChecksacross the codebaseMobile app
Plugin system for custom integrations
Advanced analytics dashboard
Support PostSider
If PostSider is useful to you, consider starring the repository. It helps other developers discover the project.
Bug reports, feature requests, and pull requests are also appreciated.
License
PostSider is licensed under the GNU Affero General Public License v3.0.
You may use, modify, and distribute PostSider under the terms of the AGPL-3.0. If you run a modified version as a network service, the license requires the corresponding source code to be made available to users of that service.
This server cannot be deployed
Maintenance
Related MCP Connectors
Official TimeToPost MCP server for social post drafting, scheduling, publishing and approval queues.
Hosted MCP for Instagram, Facebook, X, LinkedIn, Pinterest, and Ghost. OAuth 2.1, 38 tools.
Social media MCP: publish, schedule & analyze posts on TikTok, Instagram, YouTube, LinkedIn & X
MCP server for QPost — lets AI agents publish video and image posts to YouTube, TikTok, Instagram.
Related MCP Servers
- AlicenseAqualityBmaintenanceMCP server for Publer social media management API, enabling AI assistants to schedule posts, upload media, pull analytics, and manage accounts across 15+ social networks.1520 npm21MIT
- AlicenseAqualityCmaintenanceMCP server for the Post for Me API, enabling publishing, scheduling, editing, deleting, and analyzing social media posts across 9 platforms from any MCP client.2719 npm1MIT
- AlicenseAqualityBmaintenanceMCP server to manage social media accounts from AI assistants, enabling post creation, scheduling, publishing, and media uploads across multiple platforms.1313 npm1MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for managing social media posts across multiple platforms using the Postiz API. Supports creating, updating, deleting posts, and generating videos.35 npm3MIT