Skip to main content
Glama
postoria-app

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
repostNoOptional repost/recycle settings.
tiktokNoOptional TikTok-specific settings.
captionNoPost caption text.
youtubeNoOptional YouTube-specific settings.
link_urlNoOptional link URL for link posts.
queue_idYesPostoria queue ID.
media_idsNoMedia IDs already created or imported through the Postoria Public API.
content_typeNoOptional content type. If omitted, Postoria will infer it from media/link/caption.
workspace_idYesPostoria workspace ID.
comment_delayNoOptional first comment delay, in minutes.
first_commentNoOptional first comment.
social_account_idsYesOne or more Postoria social account IDs to publish to.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states what the tool does, not behavioral traits like idempotency, error handling, side effects (e.g., whether it immediately adds to queue or creates a draft), or prerequisites. For a complex tool with 12 parameters, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise. It front-loads the core action. However, for a tool with many parameters, a slightly more structured description (e.g., listing key parameters or behaviors) could be beneficial.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (12 parameters, nested objects, no output schema), the description is too minimal. It does not explain what the tool returns, whether it validates inputs, or any limitations (e.g., queue capacity). The high parameter count demands more context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it merely summarizes the action. The schema already provides descriptions for each parameter, so the tool definition does not need to repeat them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a Postoria post and add it to a publishing queue'). The verb 'create' and 'add' are specific, and the resource (post, queue) is named. This distinguishes it from siblings like publish_post_now and schedule_post.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. Sibling tools include publish_post_now and schedule_post, but the description does not specify when to choose this one over them. The context signals mention 12 parameters and 3 required, but no usage hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

complete_media_uploadB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesPostoria media ID.
workspace_idYesPostoria workspace ID.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, and the description does not disclose what happens if called out of order, error states, or any side effects. It only states the action without behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence with no redundant information. It conveys the essence efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description lacks details on the result, error conditions, or workflow context. It is insufficient for a tool that is part of a multi-step process.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds no extra meaning to the parameters beyond what is in the schema. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Complete a media upload') and includes the prerequisite ('after the raw file bytes have been uploaded to the signed upload URL'), distinguishing it clearly from related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (after uploading bytes) but does not explicitly mention when not to use or provide alternatives among sibling tools like create_media_upload or upload_media_from_file.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesOriginal file name, for example image.png or video.mp4.
content_typeYesMIME content type, for example image/png or video/mp4.
workspace_idYesPostoria workspace ID.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Although no annotations are provided, the description discloses that the tool only creates a slot and URL, not uploading files, and mentions a necessary follow-up step. It does not detail permissions or side effects, but for a creation tool this is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, concise, and front-loaded with the core purpose, with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 3 parameters and no output schema or annotations, the description adequately explains the tool's role in the broader upload workflow. It could mention the response structure, but the flow is clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all parameters. The description adds minor context (e.g., 'original file name'), but does not significantly enhance understanding beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Create a media upload slot and signed upload URL') and distinguishes it from actual file upload, which is a separate step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly explains when to use this tool (to get a signed URL) and what NOT to do (uploading directly; instead, use PUT to the returned URL and call complete_media_upload).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_postA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesPostoria post ID.
workspace_idYesPostoria workspace ID.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It labels the tool as 'destructive' but does not detail specific behaviors such as error handling, permanence, or permission requirements. This is adequate for a simple delete but leaves some gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, with two sentences that front-load the action and critical warning. Every sentence adds value without wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool (2 required parameters, no output schema), the description covers the essential information: what it does and a key usage guideline. It could mention return values or failure modes, but for a delete operation it is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters already documented in the input schema. The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Delete/cancel a Postoria post' with a specific verb and resource, distinguishing it from read-only siblings like 'get_post' and scheduling tools. However, it could be more precise about whether it's permanent deletion or cancellation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states it is destructive and should only be called after user confirmation, providing clear when-to-use guidance. It does not mention alternative tools, but the context of destructiveness implies caution.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mediaA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
media_idYesPostoria media ID.
workspace_idYesPostoria workspace ID.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It correctly identifies a read operation ('get the processing status'), but lacks details on error handling, permissions, or what happens if the media does not exist. The description is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. Every word is valuable, clearly stating the resource and what is retrieved. It is the epitome of conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 required parameters, both documented in schema) and no output schema, the description sufficiently explains the purpose. It could slightly elaborate on the return format (e.g., status values), but overall it is complete enough for an agent to understand its function.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema provides descriptions for both parameters (workspace_id and media_id) with 100% coverage. The tool description does not add any additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'get' and the resource 'Postoria media item', specifying that it retrieves processing status and details. This distinguishes it from sibling tools like get_post (post retrieval) and media creation tools (create_media_upload).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking media status but does not explicitly mention when to use this tool versus alternatives like create_media_upload or complete_media_upload. No guidance on prerequisites or exclusions is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_postA

Get status and publishing results for a Postoria post.

ParametersJSON Schema
NameRequiredDescriptionDefault
post_idYesPostoria post ID.
workspace_idYesPostoria workspace ID.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the operation is a 'get', implying idempotency, but does not disclose authentication requirements, error behavior, or performance traits. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no unnecessary words. It efficiently conveys the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (2 parameters, no output schema, no enums), the description is minimally adequate. However, it lacks details about return format, error scenarios, or when results might be empty, leaving some uncertainty for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (workspace_id and post_id). The description adds no additional meaning beyond what the schema provides, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get' and the resource 'status and publishing results for a Postoria post', which distinguishes it from sibling tools like delete_post or publish_post_now.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a read-only retrieval use case but provides no explicit guidance on when to use this tool versus alternatives like list_queues or get_media. No exclusions or conditions mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_media_from_urlB

Import media into Postoria from a public URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublicly accessible media URL to import.
workspace_idYesPostoria workspace ID.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description does not disclose behavioral traits such as whether import is asynchronous, permissions required, or side effects. Bare minimum transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded, no redundancy. However, it is too sparse for a tool with no annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema; description fails to explain return values or confirmation. For a tool with 2 required params, more context is expected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3. Description adds no extra meaning beyond schema; 'public URL' matches schema format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'import', resource 'media into Postoria', and source 'public URL', effectively distinguishing from sibling tools focused on upload.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like create_media_upload or complete_media_upload. Agent receives no context for decision.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_postsB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of posts to return. Defaults to 25; maximum is 100.
cursorNoPagination cursor returned by the previous list_posts call.
statusNoOptional post status filter.
date_toNoOptional UTC ISO 8601 upper bound for scheduled date/time.
networksNoOptional social network filters.
queue_idNoOptional Postoria queue ID.
date_fromNoOptional UTC ISO 8601 lower bound for scheduled date/time.
account_idsNoOptional social account IDs. Posts matching any selected account are returned.
workspace_idYesPostoria workspace ID.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It lists filters but does not explain pagination mechanics, default behavior (e.g., returns 25 posts), or whether filters are AND/OR combined. It omits rate limits or side effects, but the task is read-only and safe.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that succinctly captures the tool's purpose and key filter capabilities. No wasted words, front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 9 parameters and no output schema, the description is too brief. It does not explain pagination iteration, filter combination logic, result ordering, or error conditions. Significant gaps remain for effective agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds a brief overview of filter categories but no additional semantic detail beyond what the schema provides. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the tool lists posts in a Postoria workspace and enumerates optional filters. It distinguishes posts from other resources like queues or accounts, but does not contrast with get_post for single post retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., get_post for individual posts). No mention of prerequisites or conditions where it would be inappropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_queuesA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesPostoria workspace ID.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the tool returns queue IDs for use with add_post_to_queue, indicating a read-only behavior. However, it lacks details on permissions, rate limits, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no unnecessary words. It front-loads the purpose and immediately provides actionable context about the output. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, no output schema), the description adequately explains what it does and what it returns. It could mention pagination or ordering if applicable, but it's sufficient for a basic list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter (workspace_id), with a description already in the schema. The tool description adds no additional semantic meaning beyond what the schema provides, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (List), resource (publishing queues), and scope (in a Postoria workspace). It also explains the output's purpose (queue IDs for add_post_to_queue), distinguishing it from sibling tools like add_post_to_queue.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context (before add_post_to_queue) but does not explicitly state when to use or avoid this tool, nor compare it to siblings like list_workspaces. Guidance is implied but not direct.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_social_accountsA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
workspace_idYesPostoria workspace ID.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It describes the tool as a read operation ('List'), but does not explicitly state that it is read-only, safe, or free of side effects. While listing is inherently safe, explicit confirmation of safety would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with two sentences. It front-loads the core purpose and then adds relevant usage context. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter and no output schema, the description is largely complete. It covers purpose, return value, and usage context. Missing details like sorting or pagination could be added, but not critical given tool simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema describes workspace_id as 'Postoria workspace ID.' The tool description adds minimal value beyond stating 'in a Postoria workspace,' not providing additional details like format, source, or constraints. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'social accounts', and the scope 'in a Postoria workspace'. It also specifies the return value (account IDs) and their usage for publishing, scheduling, or queueing posts, distinguishing from sibling tools like list_workspaces and list_queues.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when the returned IDs are used (publishing, scheduling, queueing posts), but does not explicitly state when not to use or mention alternatives. The guidance is implicit and sufficient for the tool's purpose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_workspacesA

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It is adequate but does not disclose behavioral traits like authentication requirements or potential side effects. However, given it is a simple read-only list, the lack of detail is not critical.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose and value, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter list tool, the description is complete: it states what it does and what it returns, providing enough context for an agent to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has no parameters (100% coverage), so description does not need to add parameter info. It mentions returning workspace IDs, which adds value beyond the schema. A baseline of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List Postoria workspaces available to the API key' and explicitly mentions returning workspace IDs for follow-up tools, distinguishing it from siblings that require a workspace ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage before other tools by stating 'Returns workspace IDs that should be used in follow-up Postoria tools.' While it lacks explicit when-not or alternatives, it provides sufficient context for a zero-parameter list tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

publish_post_nowB

Create and publish a Postoria post immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
repostNoOptional repost/recycle settings.
tiktokNoOptional TikTok-specific settings.
captionNoPost caption text.
youtubeNoOptional YouTube-specific settings.
link_urlNoOptional link URL for link posts.
media_idsNoMedia IDs already created or imported through the Postoria Public API.
content_typeNoOptional content type. If omitted, Postoria will infer it from media/link/caption.
workspace_idYesPostoria workspace ID.
comment_delayNoOptional first comment delay, in minutes.
first_commentNoOptional first comment.
social_account_idsYesOne or more Postoria social account IDs to publish to.

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description only notes 'immediately' but discloses no other behavioral traits such as potential destructive actions, prerequisites (e.g., media upload), or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, zero wasted words, front-loaded with the key action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite 11 parameters including nested objects and no output schema, the description provides minimal context. It does not mention required parameters or optional features, leaving the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no parameter-specific meaning, but the schema itself is detailed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Create and publish a Postoria post immediately.' It uses a specific verb-resource pair and distinguishes from scheduling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus siblings like schedule_post or add_post_to_queue. The implied usage is for immediate publishing, but explicit context is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

schedule_postB

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

ParametersJSON Schema
NameRequiredDescriptionDefault
repostNoOptional repost/recycle settings.
tiktokNoOptional TikTok-specific settings.
captionNoPost caption text.
youtubeNoOptional YouTube-specific settings.
link_urlNoOptional link URL for link posts.
media_idsNoMedia IDs already created or imported through the Postoria Public API.
content_typeNoOptional content type. If omitted, Postoria will infer it from media/link/caption.
workspace_idYesPostoria workspace ID.
comment_delayNoOptional first comment delay, in minutes.
first_commentNoOptional first comment.
scheduled_timeYesUTC ISO 8601 date-time.
social_account_idsYesOne or more Postoria social account IDs to publish to.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for behavioral disclosure. It only states the basic action of creating a scheduled post but does not mention side effects, required permissions, return values, rate limits, or what happens if the scheduled time is in the past.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence with no wasted words. However, it is borderline under-specified for a tool with 12 parameters and no output schema, sacrificing completeness for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (12 parameters, nested objects, no output schema), the description is insufficient. It does not explain what the tool returns (e.g., post ID), how required and optional fields interact, or any post-condition behavior. The description fails to compensate for missing annotations and output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no additional context beyond the schema's parameter descriptions. For nested objects like 'repost' and 'youtube', the schema provides descriptions but the tool description does not clarify usage scenarios or relationships.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a Postoria post') and the specific constraint ('scheduled for a specific UTC date-time'). It distinguishes this tool from siblings like 'publish_post_now' (immediate) and 'add_post_to_queue' (queued) by specifying scheduling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this tool is for scheduling posts but does not explicitly state when to use it versus alternatives like 'publish_post_now' or 'add_post_to_queue'. No guidance on prerequisites or exclusions is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

upload_media_from_fileA

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

ParametersJSON Schema
NameRequiredDescriptionDefault
filenameNoOptional filename to use in Postoria. Defaults to the local file basename.
file_pathYesPath to a local file on the machine running the MCP server.
content_typeNoOptional MIME content type. If omitted, it is inferred from the filename.
workspace_idYesPostoria workspace ID.

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It only states the basic function and the local restriction. It does not disclose what happens to the file after upload (e.g., copied/moved), error handling, or any side effects, leaving significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, highly concise, and front-loaded with the core action. Every word earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description lacks details on return values, error handling, and the upload workflow (especially with sibling tools like create_media_upload and complete_media_upload). However, the core action is clear, so it is minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds 'Local stdio mode only' which is a tool-level constraint, but does not add any specific meaning to individual parameters beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Upload', the resource 'local file', and the source context 'from the machine running this MCP server'. It also specifies 'Local stdio mode only', which distinguishes it from the sibling tool import_media_from_url that handles URL imports.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by stating the tool is for local files in stdio mode only. This implies when not to use it (e.g., remote files or not stdio mode), but does not explicitly mention alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev1.1.0
    • Addedlist_posts
  2. 1 tool updatev1.0.2
    • Addedupload_media_from_file
  3. 12 tool updatesv1.0.0
    • First observedadd_post_to_queue
    • First observedcomplete_media_upload
    • First observedcreate_media_upload
    • First observeddelete_post
    • First observedget_media
    • First observedget_post
    • First observedimport_media_from_url
    • First observedlist_queues
    • First observedlist_social_accounts
    • First observedlist_workspaces
    • First observedpublish_post_now
    • First observedschedule_post

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, with descriptions that clarify differences between similar actions like posting immediately vs. queuing vs. scheduling. No two tools overlap in functionality.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case, such as add_post_to_queue, list_workspaces, and schedule_post. The naming is predictable and easy to parse.

Tool Count5/5

With 13 tools, the server covers media management, posting, and listing operations without being overwhelming or sparse. This is an ideal size for a social media scheduling server.

Completeness3/5

The tool set covers create, read, and delete for posts and media, but lacks update functionality for both posts and media. This is a notable gap that may hinder workflows requiring edits.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    D
    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
    47
    1
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Pendpost MCP server — exposes ~43 tools for posting, scheduling, and managing content via the Pendpost platform.
    43
    399
    7
    MIT

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/postoria-app/postoria-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server