Skip to main content
Glama
Postoria MCP Server

Postoria MCP Server

Official
by postoria-app

Postoria MCP Server

Postoria MCP Server connects MCP-compatible AI clients to Postoria.

Use it to list workspaces, find social accounts and queues, upload or import media, publish posts, schedule posts, add posts to queues, check post status, and delete posts.

Package

npx -y @postoria/mcp-server

Related MCP server: postiz-mcp

Features

  • Local stdio transport for desktop and IDE MCP clients

  • Streamable HTTP transport for hosted MCP clients

  • Works with Postoria Public API keys

  • Supports Postoria workspaces, social accounts, queues, media, and posts

  • MCP Registry metadata in server.json

Supported tools

Tool

Description

list_workspaces

List available Postoria workspaces

list_social_accounts

List social accounts in a workspace

list_queues

List queues in a workspace

create_media_upload

Create a signed media upload URL

complete_media_upload

Complete a media upload after raw bytes are uploaded

upload_media_from_file

Upload a local file from stdio clients

import_media_from_url

Import media from a public URL

get_media

Get media status and details

publish_post_now

Publish a post immediately

schedule_post

Schedule a post for a specific time

add_post_to_queue

Add a post to a Postoria queue

list_posts

List posts in a workspace with filters and pagination

get_post

Get post status and details

delete_post

Delete a post created through the Public API

upload_media_from_file is available only in local stdio mode. It is not exposed through the hosted Streamable HTTP endpoint.

Requirements

  • Node.js 20+

  • A Postoria Public API key for local stdio usage

  • A Postoria Public API key or OAuth access token for hosted Streamable HTTP usage

Local stdio usage

Add this to your MCP client configuration:

{
  "mcpServers": {
    "postoria": {
      "command": "npx",
      "args": ["-y", "@postoria/mcp-server"],
      "env": {
        "POSTORIA_API_KEY": "pst_live_your_api_key_here"
      }
    }
  }
}

Hosted Streamable HTTP usage

Hosted endpoint:

https://mcp.postoria.io/mcp

Send an Authorization header on every hosted MCP request. Postoria Public API keys are forwarded to the Public API directly:

Authorization: Bearer pst_live_your_api_key_here

OAuth access tokens accepted by the hosted endpoint are exchanged server-side before calling the Postoria Public API.

OAuth-capable clients discover the authorization server from the protected resource metadata:

https://mcp.postoria.io/.well-known/oauth-protected-resource/mcp

Media upload options

Use import_media_from_url when the media is already available through a public URL.

Use create_media_upload when the client will upload raw file bytes to the returned signed upload URL. After the raw bytes are uploaded with PUT, call complete_media_upload.

Use upload_media_from_file in local stdio mode when the media file exists on the same machine where the MCP server is running.

Run from source

npm install
npm run build

Run in local stdio mode:

POSTORIA_API_KEY=pst_live_your_api_key_here npm run dev:stdio

Run in local HTTP mode:

npm run dev:http

HTTP mode requires the MCP client to send Authorization: Bearer <token> on every /mcp request. POSTORIA_API_KEY is used by local stdio mode only.

Local HTTP endpoint:

http://localhost:3000/mcp

Health check:

http://localhost:3000/health

MCP Registry

server.json includes distribution metadata for:

  • remote Streamable HTTP endpoint: https://mcp.postoria.io/mcp

  • local npm stdio package: @postoria/mcp-server

Security notes

  • The MCP server does not store Postoria API keys.

  • Local stdio mode reads POSTORIA_API_KEY from the environment.

  • Hosted HTTP mode requires Authorization: Bearer <token> on every MCP request.

  • Hosted HTTP mode exchanges OAuth access tokens server-side and does not store refresh tokens.

  • POSTORIA_API_KEY is used by local stdio mode only.

  • delete_post is destructive and should only be called after user confirmation.

Development

npm install
npm run typecheck
npm run build
npm run format:check

Available Tools

14 tools
add_post_to_queueB

Create a Postoria post and add it to a publishing queue.

Inputs: queue_id (required), workspace_id (required), social_account_ids (required), repost, +8 more.

complete_media_uploadB

Complete a media upload after the raw file bytes have been uploaded to the signed upload URL.

Inputs: media_id (required), workspace_id (required).

create_media_uploadA

Create a media upload slot and signed upload URL. This tool does not upload file bytes; upload raw bytes to the returned URL with PUT, then call complete_media_upload.

Inputs: name (required), content_type (required), workspace_id (required).

delete_postA

Delete/cancel a Postoria post. This is destructive and should only be called after user confirmation.

Inputs: post_id (required), workspace_id (required).

get_mediaA

Get the processing status and details for a Postoria media item.

Inputs: media_id (required), workspace_id (required).

get_postA

Get status and publishing results for a Postoria post.

Inputs: post_id (required), workspace_id (required).

import_media_from_urlB

Import media into Postoria from a public URL.

Inputs: url (required), workspace_id (required).

list_postsB

List posts in a Postoria workspace, optionally filtered by accounts, queue, status, networks, UTC date range, and cursor pagination.

Inputs: workspace_id (required), limit, cursor, status, +5 more.

list_queuesA

List publishing queues in a Postoria workspace. Returns queue IDs that should be used with add_post_to_queue.

Inputs: workspace_id (required).

list_social_accountsA

List social accounts in a Postoria workspace. Returns account IDs that should be used when publishing, scheduling, or queueing posts.

Inputs: workspace_id (required).

list_workspacesA

List Postoria workspaces available to the API key. Returns workspace IDs that should be used in follow-up Postoria tools.

Inputs: no named parameters.

publish_post_nowB

Create and publish a Postoria post immediately.

Inputs: workspace_id (required), social_account_ids (required), repost, tiktok, +7 more.

schedule_postB

Create a Postoria post scheduled for a specific UTC date-time.

Inputs: workspace_id (required), scheduled_time (required), social_account_ids (required), repost, +8 more.

upload_media_from_fileA

Upload a local file from the machine running this MCP server. Local stdio mode only.

Inputs: file_path (required), workspace_id (required), filename, content_type.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.8/5.0

    Scored across 14 tools

    Disambiguation5/5

    Each tool maps to a distinct resource/action: workspaces, social accounts, queues, media, and posts are cleanly separated. The three media intake paths (local file, URL, signed-URL slot) are differentiated by their descriptions, so an agent should be able to select correctly.

    Naming Consistency5/5

    Tools consistently follow a snake_case verb_noun pattern (get_, list_, create_, delete_, publish_, schedule_, add_, upload_, import_, complete_). Minor variations like publish_post_now and add_post_to_queue are still predictable and fit the overall convention.

    Tool Count5/5

    14 tools is well within the ideal 3-15 range and covers all major workflows: discovery, media ingestion, post creation, retrieval, and deletion. No tool feels redundant, and the count matches the server's domain.

    Completeness4/5

    The core post lifecycle is covered: create (now/scheduled/queued), read (get/list), and delete, plus media upload and workspace/account/queue discovery. Obvious gaps are an update/edit endpoint for posts and media listing/deletion, but these are not fatal to common workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables interaction with the Postiz social media management platform through MCP tools. Supports creating and managing posts, retrieving integrations, and accessing account information through multiple transport protocols.
      2
      -
    • A
      license
      A
      quality
      C
      maintenance
      Enables interaction with Postiz for social media scheduling, content management, and analytics through MCP-compatible clients, with write and delete operations gated by environment variables.
      20
      38 npm
      2
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      MCP server for the Post for Me API, enabling publishing, scheduling, editing, deleting, and analyzing social media posts across 9 platforms from any MCP client.
      27
      278 npm
      1
      MIT
    • A
      license
      A
      quality
      B
      maintenance
      Enables agents and scripts to drive a social publishing account through remote or local MCP tools: drafting, scheduling, approving and publishing posts, running durable background jobs with file attachments, and reading or editing Brand Memory, assets, and standing agents. Hosts can connect over OAuth with no API key, or run the stdio variant with a key for local disk tools.
      65
      1
      MIT