postiz-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| POSTIZ_URL | Yes | Base URL of the Postiz server, e.g. http://localhost:5000 or https://postiz.example.com | |
| POSTIZ_API_KEY | Yes | API key from Postiz Settings → Public API | |
| POSTIZ_ENABLE_WRITE | No | Set to true to expose create/update/upload/connect/generate-video tools | false |
| POSTIZ_ENABLE_DELETE | No | Set to true (in addition to write) to expose delete tools | false |
| POSTIZ_REQUEST_TIMEOUT_MS | No | HTTP timeout in milliseconds | 30000 |
| POSTIZ_CF_ACCESS_CLIENT_ID | No | Cloudflare Access service token client id (only if Postiz is behind CF Access) | |
| POSTIZ_RATE_LIMIT_PER_HOUR | No | Local guard ceiling for rate limit | 30 |
| POSTIZ_CF_ACCESS_CLIENT_SECRET | No | Cloudflare Access service token secret (only if Postiz is behind CF Access) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| postiz_list_integrationsA | List every connected social-media channel for the org behind the configured Postiz API key. Returns id, name, providerIdentifier (the value used as |
| postiz_check_integrationA | Verify the configured Postiz API key is valid and reaches the configured baseUrl. Useful as a first call before any other tool — if this returns ok, every other tool can authenticate against the same instance. |
| postiz_find_next_slotA | Return the next available posting time for a given integration. The slot respects the org's configured posting schedule, so this is the right answer to use as |
| postiz_list_postsA | List posts in a date range via GET /api/posts. Returns scheduled, queued, and published posts with their integration, content, state, and any platform release URL. |
| postiz_get_missing_contentA | Fetch recent platform-side content for a post whose Postiz releaseId is marked missing. Pair with postiz_update_post_release_id to reattach. |
| postiz_list_notificationsA | List notifications, sorted most-recent first. Useful for surfacing posting failures, OAuth re-auth prompts, and new-feature notices Postiz shows in its UI. |
| postiz_get_platform_analyticsA | Get follower / impression / engagement analytics for a connected channel via GET /api/analytics/platform. Available metrics depend on what the platform exposes to Postiz. |
| postiz_get_post_analyticsA | Get per-post engagement metrics (likes, comments, shares) via GET /api/analytics/post. Returns whatever the source platform exposes — different shape per provider. |
| postiz_list_voicesA | List available AI voices for video generation via GET /api/video/function?functionName=voices. Required input for postiz_generate_video — pick a voice id from the returned catalog. |
| postiz_get_provider_settings_schemaA | Look up the |
| postiz_connect_integrationA | Generate the OAuth authorization URL for connecting a new social channel. Returns a |
| postiz_create_postA | Create, schedule, or immediately publish one or more posts via POST /api/posts. PUBLIC SIDE EFFECT: with type='now' or a near-term schedule, this lands on real social accounts. Use postiz_get_provider_settings_schema first to construct valid |
| postiz_update_post_release_idA | Update the |
| postiz_update_post_statusA | Transition a Postiz post between DRAFT and QUEUE via PATCH /api/posts/{id}/status. Moving DRAFT→QUEUE re-enters the schedule using the post's existing publishDate. Requires enableWrite. |
| postiz_upload_fileA | Upload a media file (image, video) to Postiz storage via POST /api/uploads/file. Returns { id, path } that you can pass into postiz_create_post |
| postiz_upload_from_urlA | Upload a media file from a public URL via POST /api/uploads/url. Postiz fetches the URL server-side, so this works for sources the MCP host can't reach. Returns { id, path } usable in postiz_create_post |
| postiz_generate_videoA | Generate an AI video via POST /api/video/generate. COST IMPLICATION: video generation may bill against the configured Postiz video integration's credit pool. Requires enableWrite. Body shape is provider-specific — see Postiz video docs. |
| postiz_delete_integrationA | Disconnect a connected social channel. Cascades — Postiz also deletes every scheduled post for that integration. Requires enableWrite + enableDelete + confirm=true. Returns ok:false / not_found on 404 (already disconnected). |
| postiz_delete_postA | Delete a Postiz post by id. CASCADES — every post in the same group is removed. Already-published platform posts remain live. Requires enableWrite + enableDelete + confirm=true. |
| postiz_delete_post_groupA | Delete every post in a group (cross-post unit) via DELETE /api/posts/group/{group}. Use when you want to retract a whole cross-post in one call. Requires enableWrite + enableDelete + confirm=true. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/solomonneas/postiz-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server