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) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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 | |
TDQS
Scored across 20 tools
Each tool targets a unique action and resource type. For example, postiz_create_post, postiz_delete_post, and postiz_list_posts are clearly distinct. Even overlapping actions like postiz_delete_post and postiz_delete_post_group are differentiated by scope (single vs. group). Descriptions clarify boundaries effectively.
All tools follow a consistent 'postiz_verb_noun' pattern with underscore separation. Verbs like check, connect, create, delete, find, generate, get, list, update, and upload are used uniformly. There is no mixing of camelCase or other conventions.
With 20 tools, the set is slightly above the typical 'well-scoped' range (3-15) but still reasonable given the breadth of Postiz's functionality (post management, analytics, AI video, integrations, file uploads). Each tool serves a distinct purpose.
The tools cover the main lifecycle: integration management, post CRUD, analytics, file uploads, and AI video generation. Minor gaps include no direct 'get post by ID' (though list_posts can retrieve it) and no interaction management (comments, etc.), but core workflows are well-supported.