Skip to main content
Glama

postiz-mcp

用于任何兼容 MCP 客户端的规范 Postiz 客户端。全面覆盖 Postiz 公共 API(集成、帖子、上传、分析、视频),具备环境变量控制的写入功能、需确认的删除操作以及内置的速率限制防护。

既可作为 stdio MCP 服务器发布,也可作为同一包中的原生 OpenClaw 插件使用。

为什么使用它

如果您自托管了 Postiz,并希望 Claude / Codex / OpenClaw / Hermes / 任何 MCP 客户端与其交互,此工具为您提供了一个类型化、经过测试的单一用途工具界面,无需在每个工作流中手动编写 HTTP 调用。

Related MCP server: postforme-mcp-pro

连接前的警告

  • Postiz 的写入操作具有公开的副作用。 执行 postiz_create_post 并设置 type: "now"(或近期排程)会发布到真实的社交账号上。一旦发布,虽然可以在 Postiz 中删除帖子,但平台端的帖子依然存在——Postiz 无法撤回它。

  • Postiz 公共 API 默认限制为每小时 30 次请求。 此服务器会在本地跟踪限制,并在预算耗尽时拒绝发送请求。如果您的 Postiz 实例配置了更高的限制,请通过 POSTIZ_RATE_LIMIT_PER_HOUR 进行覆盖。

  • 写入和删除操作默认关闭。 读取功能始终可用。要启用写入,必须显式设置 POSTIZ_ENABLE_WRITE=true。要启用删除,必须额外设置 POSTIZ_ENABLE_DELETE=true 并在工具调用中传递 confirm: true。

工具

读取(始终开启)

  • postiz_list_integrations — 列出已连接的频道

  • postiz_check_integration — 验证 API 密钥

  • postiz_find_next_slot — 查找频道的下一个空闲发布时段

  • postiz_list_posts — 获取指定日期范围内的帖子

  • postiz_get_missing_content — 为缺少 releaseId 的 Postiz 帖子恢复平台内容

  • postiz_list_notifications — Postiz UI 通知

  • postiz_get_platform_analytics — 粉丝数 / 展示量 / 互动率

  • postiz_get_post_analytics — 点赞 / 评论 / 分享

  • postiz_list_voices — AI 视频语音目录

  • postiz_get_provider_settings_schema — 构建时打包的各提供商 settings 架构(X、LinkedIn、Reddit 等)

写入(需要 POSTIZ_ENABLE_WRITE=true)

  • postiz_create_post — 排程 / 立即发布 / 草稿

  • postiz_connect_integration — 为新频道生成 OAuth URL

  • postiz_update_post_status — 切换 草稿 ↔ 队列

  • postiz_update_post_release_id — 将 Postiz 帖子重新关联到其平台端发布 ID

  • postiz_upload_file — 从本地文件或 base64 进行多部分上传

  • postiz_upload_from_url — 服务器端获取

  • postiz_generate_video — AI 视频生成

删除(需要 POSTIZ_ENABLE_WRITE=true + POSTIZ_ENABLE_DELETE=true + confirm: true)

  • postiz_delete_post — 级联删除整个组

  • postiz_delete_post_group — 删除跨平台发布组中的所有帖子

  • postiz_delete_integration — 断开频道连接 + 删除其所有已排程的帖子

安装

npm install -g postiz-mcp

或从源码安装:

git clone https://github.com/solomonneas/postiz-mcp.git
cd postiz-mcp
npm install
npm run build

配置

在您的 MCP 客户端配置中设置以下环境变量:

变量

必需

默认值

描述

POSTIZ_URL

是

—

基础 URL,例如 http://localhost:5000 或 https://postiz.example.com

POSTIZ_API_KEY

是

—

从 Postiz 设置 → 公共 API 获取的 API 密钥

POSTIZ_ENABLE_WRITE

否

false

设置为 true 以启用创建 / 更新 / 上传 / 连接 / 生成视频工具

POSTIZ_ENABLE_DELETE

否

false

设置为 true(需同时开启写入)以启用删除工具

POSTIZ_REQUEST_TIMEOUT_MS

否

30000

HTTP 超时时间 (ms)

POSTIZ_RATE_LIMIT_PER_HOUR

否

30

本地防护上限。服务器在存在响应头时仍会信任响应头。

POSTIZ_CF_ACCESS_CLIENT_ID

否

—

Cloudflare Access 服务令牌客户端 ID(仅在 Postiz 位于 CF Access 后方时需要)

POSTIZ_CF_ACCESS_CLIENT_SECRET

否

—

Cloudflare Access 服务令牌密钥

获取 API 密钥

  1. 以管理员身份登录 Postiz

  2. 设置 → 公共 API → 生成 API 密钥

  3. 复制该值(根据您的 Postiz 版本,以 pos_ 开头或为原始 UUID)

Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) 或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "postiz": {
      "command": "postiz-mcp",
      "env": {
        "POSTIZ_URL": "http://localhost:5000",
        "POSTIZ_API_KEY": "your-api-key-here",
        "POSTIZ_ENABLE_WRITE": "true",
        "POSTIZ_ENABLE_DELETE": "false"
      }
    }
  }
}

Claude Code

claude mcp add postiz \
  --env POSTIZ_URL=http://localhost:5000 \
  --env POSTIZ_API_KEY=your-api-key-here \
  --env POSTIZ_ENABLE_WRITE=true \
  -- postiz-mcp

添加 --scope user 以使其在任何目录中可用,而不仅仅是当前项目。

OpenClaw

postiz-mcp 也是一个 OpenClaw 原生插件。从源码检出:

openclaw plugin add /absolute/path/to/postiz-mcp \
  --config '{
    "baseUrl": "http://localhost:5000",
    "apiKeyEnv": "POSTIZ_API_KEY",
    "enableWrite": true,
    "enableDelete": false
  }'

然后导出 API 密钥并重启网关:

export POSTIZ_API_KEY=your-api-key-here
systemctl --user restart openclaw-gateway
openclaw plugin list   # confirm "postiz" is enabled

您也可以在 OpenClaw 下将其作为常规 MCP 服务器运行:

openclaw mcp set postiz '{
  "command": "postiz-mcp",
  "env": {
    "POSTIZ_URL": "http://localhost:5000",
    "POSTIZ_API_KEY": "your-api-key-here",
    "POSTIZ_ENABLE_WRITE": "true"
  }
}'

Hermes Agent

Hermes Agent 从 ~/.hermes/config.yaml 中的 mcp_servers 读取 MCP 配置。添加条目:

mcp_servers:
  postiz:
    command: "postiz-mcp"
    env:
      POSTIZ_URL: "http://localhost:5000"
      POSTIZ_API_KEY: "your-api-key-here"
      POSTIZ_ENABLE_WRITE: "true"

或从源码检出:

mcp_servers:
  postiz:
    command: "node"
    args: ["/absolute/path/to/postiz-mcp/dist/mcp-server.js"]
    env:
      POSTIZ_URL: "http://localhost:5000"
      POSTIZ_API_KEY: "your-api-key-here"
      POSTIZ_ENABLE_WRITE: "true"

然后在 Hermes 会话中重新加载 MCP:

/reload-mcp

Codex CLI

Codex CLI 通过 codex mcp add 注册 MCP 服务器:

codex mcp add postiz \
  --env POSTIZ_URL=http://localhost:5000 \
  --env POSTIZ_API_KEY=your-api-key-here \
  --env POSTIZ_ENABLE_WRITE=true \
  -- postiz-mcp

或从源码检出:

codex mcp add postiz \
  --env POSTIZ_URL=http://localhost:5000 \
  --env POSTIZ_API_KEY=your-api-key-here \
  --env POSTIZ_ENABLE_WRITE=true \
  -- node /absolute/path/to/postiz-mcp/dist/mcp-server.js

Codex 将条目写入 ~/.codex/config.toml 中的 [mcp_servers.postiz]。使用以下命令验证:

codex mcp list

Postiz 位于 Cloudflare Access 后方

如果您的 Postiz 通过 Cloudflare Tunnel + Access 暴露(例如 https://postiz.example.com),请在 Cloudflare Zero Trust 仪表板中生成服务令牌并添加环境变量:

export POSTIZ_CF_ACCESS_CLIENT_ID=your-cf-id.access
export POSTIZ_CF_ACCESS_CLIENT_SECRET=your-cf-secret

MCP 服务器会在每次请求时将其作为 CF-Access-Client-Id / CF-Access-Client-Secret 转发。如果您忘记了它们,您将收到明确的 PostizCfAccessChallengeError,而不是令人困惑的 HTML 响应。

示例提示词

  • “列出我的 Postiz 上的集成。”

  • “为明天上午 9 点排程一条 Bluesky 帖子:'Just shipped postiz-mcp。'”

  • “LinkedIn 的下一个可用时段是什么?将这 4 条推文的线程排程到那个时间,并设置回复仅限已验证用户。”

  • “上周发布了什么?周二的 X 帖子表现如何?”

  • “向我展示 X 提供商的设置架构,以便我可以构建线程负载。”

提供商设置架构

postiz_get_provider_settings_schema 返回打包的各提供商 settings 参考(解析自 docs.postiz.com/public-api/providers/{slug}.md)。当您需要特定于提供商的字段(如 X 的 who_can_reply_post 或 LinkedIn 的 audience)时,请在 postiz_create_post 之前使用它。

这些架构由 GitHub Actions 工作流每月刷新一次,如果 Postiz 更新了任何提供商文档,它会自动打开一个 PR。手动刷新:

npm run refresh-schemas

开发

npm install
npm run typecheck
npm test
npm run build

许可证

MIT

Available Tools

20 tools
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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

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

No annotations exist, so description fully carries the burden. It discloses the verification behavior and its implication for other tools. However, it does not specify what 'ok' means (e.g., return value or status), which is a minor gap.

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 short, front-loaded sentences with no wasted words. Every sentence provides essential 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?

Given no annotations and no output schema, the description covers purpose and usage well but lacks specifics on the response format (e.g., what constitutes 'ok'). Still fairly complete for a simple health check.

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?

The input schema has no parameters (100% coverage by default). The description adds context about the tool's purpose, which is sufficient for a parameterless tool. Baseline 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 the tool's function: verifying API key validity and baseUrl reachability. It also distinguishes itself from siblings by positioning it as a first-call health check.

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?

Explicitly recommends using this tool first, before others, and explains the condition for continued authentication. This is excellent guidance.

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

postiz_connect_integrationA

Generate the OAuth authorization URL for connecting a new social channel. Returns a url the user must open in a browser to finish the flow — Postiz redirects back to its own callback. This tool does NOT run a callback server. Requires enableWrite.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYesProvider slug (e.g. 'x', 'linkedin').
refreshNoRe-auth an existing integration. Default false.

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of disclosure. It explains that the tool returns a URL and does not run a callback server, but it does not disclose potential side effects, such as whether a pending integration is created, or what happens if the URL is used multiple times. This is adequate but not thorough.

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, consisting of two sentences that convey the core purpose, the return type, a key behavioral note, and a requirement. No extraneous information is included, and the most critical points are front-loaded.

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 tool with two simple parameters and no output schema, the description covers the essential aspects: what the tool does, what it returns, a notable limitation (no callback server), and a permission requirement. It lacks details on the expected response structure beyond the url, but this is minor given the tool's 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?

The input schema covers both parameters with descriptions, achieving 100% coverage. The description adds minimal extra value by mentioning the default for 'refresh' (false) and the meaning of 'provider' (slug). Since the schema already provides the parameter semantics, the description does not significantly enhance understanding.

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 generates an OAuth authorization URL for connecting a new social channel, using the verb 'Generate' and resource 'OAuth authorization URL'. It distinguishes itself from sibling tools like 'postiz_check_integration' and 'postiz_list_integrations' by specifying its unique role in initiating the OAuth flow.

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 mentions that the tool requires enableWrite and that it does not run a callback server, providing implicit guidance on when to use it. However, it does not explicitly compare to alternative tools or state when not to use it, leaving some room for ambiguity.

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

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 settings blocks. Requires enableWrite.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesdraft / schedule / now. PUBLIC SIDE EFFECT for schedule + now.
dateYesISO-8601 timestamp.
postsYesOne entry per integration to post on.
shortLinkNo
tagsNo

TDQS

A4.3/5.0
Behavior5/5

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

With no annotations, description fully discloses the public side effect for 'now' and near-term schedule, the dependency on provider settings schema, and the 'enableWrite' permission requirement. This is comprehensive for a write operation.

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?

Three sentences exactly: action, side-effect warning, prerequisite. Every sentence adds value; no redundancy or filler.

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?

No output schema, yet description does not mention expected return value (e.g., post ID) or pagination. For a creation tool, this gap may hinder the agent from handling the response. Purpose and side effects are clear, but return details are missing.

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 60% (type, date, posts described in schema). Description adds the side-effect warning for type and the prerequisite for settings, but does not explain shortLink or tags parameters, which remain undocumented.

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 the tool creates, schedules, or publishes posts, specifying the HTTP endpoint and the public side effect for 'now' or near-term schedule. This distinctly separates it from siblings like delete or update tools.

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?

Description advises using postiz_get_provider_settings_schema first to construct valid settings and mentions the 'enableWrite' requirement. It implies caution with type='now' but lacks explicit 'when not to use' guidance.

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

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
integrationIdYes
confirmYesMust be true. Cascades — scheduled posts removed.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It discloses cascading side effects, required permissions, and error behavior (ok:false / not_found). Missing explicit mention of irreversibility, but cascading implies destructiveness.

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?

Three sentences, front-loaded with purpose, then critical requirements and return behavior. No wasted words; each 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 no output schema and partial param descriptions, the tool description covers main behavioral aspects: side effects, auth, error handling. Minor gaps, e.g., exact format of ok:false response.

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?

Schema coverage is 50% (only confirm has a description). The description adds context for both params, especially confirm's requirement and the return status. More detail on integrationId format would improve clarity.

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: 'Disconnect a connected social channel.' It also notes the cascading deletion of scheduled posts, distinguishing it from siblings like postiz_connect_integration (add) and postiz_list_integrations (read).

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 specifies prerequisites: 'Requires enableWrite + enableDelete + confirm=true.' It also describes a return condition for 404. While it does not explicitly state when to avoid use, the context is clear.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYes
confirmYesMust be true. Cascades to whole group.

TDQS

A4.6/5.0
Behavior5/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 discloses cascading deletion of the entire group, that published platform posts remain live, and the required permissions. This is excellent transparency for a delete operation.

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 zero wasted words. It front-loads the core action and immediately follows with critical behavioral details, making it highly efficient.

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 no output schema, the description covers prerequisites, cascading, and side effects. It could optionally note the success response, but for a delete tool, the information provided is sufficient for agent understanding.

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?

Schema description coverage is only 50% (confirm has a description, postId does not). The description compensates by explaining that confirm=true causes cascading to the whole group, adding meaning beyond the schema. For 2 parameters, this is strong.

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 ('Delete a Postiz post by id'), specifies cascading behavior, and distinguishes from sibling tools like postiz_delete_post_group. It is specific and unambiguous.

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?

It explicitly mentions the required flags (enableWrite, enableDelete, confirm=true), providing clear prerequisites. While it doesn't explicitly state when not to use the tool or list alternatives, the cascading warning effectively guides usage.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupYes
confirmYesMust be true. Removes every post in the group.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description discloses key behaviors: the HTTP method, the API path, required permissions (enableWrite, enableDelete), and the mandatory confirm=true for deletion. This adequately informs the agent of the tool's safety profile.

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 cover purpose, usage, permissions, and requirements. No unnecessary words. Key information is front-loaded in the first sentence.

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 delete endpoint with no output schema, the description covers all essential aspects: what it does, when to use it, required permissions, and the mandatory confirm flag. It lacks mention of response format or error handling, which is acceptable for a simple deletion tool.

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 50% (only confirm has a description). The description adds context for 'group' as a cross-post unit, but does not elaborate on its format or how to obtain it. The confirm parameter is already well-documented in the schema, so the description adds minimal value 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 action: 'Delete every post in a group (cross-post unit)'. It specifies the HTTP method and endpoint, and distinguishes from sibling tool postiz_delete_post by emphasizing it deletes a whole cross-post group.

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 says when to use: 'Use when you want to retract a whole cross-post in one call.' It does not explicitly state when not to use, but the sibling list provides an alternative for single posts, so the guidance is clear.

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

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 date in postiz_create_post when you don't have a specific time in mind.

ParametersJSON Schema
NameRequiredDescriptionDefault
integrationIdYesIntegration id from postiz_list_integrations.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It clearly indicates a read-only operation (returns a time slot) and respects the schedule. However, it does not disclose potential error conditions (e.g., no available slot) or response format.

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 with no extraneous information. First sentence states the core function, second provides usage guidance. Every word earns its place.

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 covers purpose and usage. It could mention the return type (e.g., timestamp), but the current text is sufficient for typical use.

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 already covers the sole parameter (integrationId) with a description. The description does not add extra meaning beyond that, so baseline 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 tool returns the next available posting time for a given integration, and explicitly links it to usage in postiz_create_post. This distinguishes it from siblings like postiz_create_post or postiz_list_integrations.

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 tells when to use this tool: when you don't have a specific time in mind, and to use the result as `date` in postiz_create_post. It also mentions that the slot respects the org's posting schedule.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesFree-form payload as expected by Postiz video integrations.

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description discloses cost implications and the need for write permission. It does not mention asynchronous behavior, rate limits, or success/error responses, leaving gaps in behavioral understanding.

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 covering purpose, cost, permissions, and body shape. Every sentence provides essential information 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 the minimal input schema and lack of output schema, the description covers cost and permission but omits output format, synchronous/asynchronous behavior, and error handling. External documentation is referenced but the description itself is incomplete.

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 sole parameter 'body' is described in the schema as 'Free-form payload as expected by Postiz video integrations'. The description reinforces this as provider-specific and points to external docs, but adds little new semantic value beyond the schema's description.

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 'Generate an AI video via POST /api/video/generate', specifying the verb (generate) and resource (AI video). This distinguishes it from sibling tools like postiz_create_post (social post) and postiz_upload_file (file 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 mentions cost implication and permission requirement (enableWrite), and advises consulting Postiz docs for provider-specific body shape. However, it does not explicitly state when to use this tool versus alternatives or when not to use it.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesPost id whose releaseId is marked missing.

TDQS

A4.7/5.0
Behavior4/5

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

No annotations provided, but 'fetch' implies read-only. Description adds temporal context ('recent') but doesn't detail response format or confirm no side effects. Adequate for a simple fetch tool.

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 concise sentences, front-loaded with purpose, 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?

Given single parameter, no output schema, and clear purpose, description is complete. Provides enough context for correct usage and pairing.

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?

Schema covers parameter with description. Tool description adds workflow context (why fetch due to missing releaseId). Adds value beyond 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?

Description clearly states verb 'Fetch', resource 'platform-side content', and condition 'whose releaseId is marked missing'. Differentiates from sibling by mentioning pairing with postiz_update_post_release_id.

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?

Explicitly says when to use (post with missing releaseId) and provides pairing guidance with postiz_update_post_release_id. No exclusions needed.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
integrationIdYesIntegration id.
dateNoLookback in days. Postiz default applies when omitted.

TDQS

A3.9/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 indicates a GET request implying read-only behavior, but does not disclose other traits such as authentication requirements, rate limits, error conditions, or data freshness. The description is minimally adequate.

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, no wasted words, and front-loads the core purpose. Every sentence provides necessary information without 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?

The description lacks details about the return format, pagination, or error scenarios. Given the absence of an output schema, the description should compensate by describing the response structure, but it does not. It is adequate for a simple analytics retrieval but not fully complete.

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?

Schema coverage is 100% with descriptions for both parameters. The description adds context that the 'integrationId' refers to a connected channel and that 'date' is a lookback in days with a default. It also explains that metric availability depends on the platform, adding value 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 it retrieves follower/impression/engagement analytics for a connected channel via a specific HTTP endpoint. It uses a specific verb ('Get') and resource ('follower/impression/engagement analytics'), distinguishing it from sibling tools like get_post_analytics.

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 notes that available metrics depend on the platform, implying limitations, but does not explicitly state when to use this tool versus alternatives or when not to use it. No comparison to sibling tools is provided.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYesPost 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 return shape varies by provider, which is important for handling responses. However, it does not mention read-only behavior, auth requirements, rate limits, or error conditions, leaving gaps in behavioral understanding.

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, front-loaded with the core purpose and includes essential nuance about variable output. Every sentence adds value without redundancy.

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 one parameter and no output schema, the description adequately covers purpose and output variability. It could be improved by noting errors or examples, but it is sufficiently complete for typical use.

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 'postId' described as 'Post id.' The description does not add further context about the parameter beyond the endpoint path, so it adds minimal value over the schema. Baseline 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 tool retrieves per-post engagement metrics (likes, comments, shares) and specifies the API endpoint. It differentiates from sibling tools like postiz_get_platform_analytics (which is platform-level) and postiz_list_posts (listing posts) by focusing on individual post analytics.

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 per-post analytics but lacks explicit guidance on when to use this tool versus alternatives (e.g., postiz_get_platform_analytics). No exclusions or prerequisites are mentioned, leaving decision-making to the agent without comparative context.

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

postiz_get_provider_settings_schemaA

Look up the settings block schema for a Postiz provider (X, LinkedIn, Reddit, etc.) — bundled at build time from docs.postiz.com. Returns a default-settings template, the provider's __type value, and (by default) the full markdown reference. Call this before postiz_create_post when you need provider-specific fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
providerYesProvider slug or __type (e.g. 'x', 'linkedin').
includeMarkdownNoInclude full markdown reference. Default true.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description discloses the return structure (default-settings template, __type, markdown reference) and implies read-only behavior via 'look up'. It adds value but could explicitly state that no side effects occur.

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 with no fluff. The first states purpose and source; the second summarizes returns and usage. Every word earns its place, and the information is front-loaded.

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 only 2 parameters and no output schema, the description adequately covers purpose, usage hint, and return structure. It lacks detail on the format of the settings block, but the reference to a 'template' and markdown is sufficient for an AI to understand the tool's function.

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?

The schema already describes both parameters (provider string, includeMarkdown boolean). The description adds context by specifying the allowed provider values ('slug or __type') and the default behavior of includeMarkdown (true). This enhances 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 uses a specific verb ('look up') and clearly identifies the resource ('settings block schema for a Postiz provider'). It also states the bundled source and outlines the return values, making the purpose unambiguous and distinct from sibling tools.

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 advises calling this before postiz_create_post when provider-specific fields are needed. This provides clear usage context, though it does not specify when not to use it or mention any alternatives.

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

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 __type in post settings), profile, and disabled state. Use this BEFORE postiz_create_post to get the integration id you need to target.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/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 the return fields and purpose, but does not discuss authentication requirements, rate limits, or any side effects. Since it's a read-only listing, this is adequate but not comprehensive.

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, each adding essential information: what the tool does and how it fits into a larger task. No 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?

For a simple listing tool with no parameters and no output schema, the description covers the necessary information: purpose, returned fields, and integration point. Could be improved by mentioning error cases or auth context, but it's sufficient.

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?

With no parameters, the baseline is 4. The description adds value by explaining what the tool returns and its role in the workflow, which goes beyond the empty schema.

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 tool lists connected social-media channels, returns specific fields, and provides a use case (before postiz_create_post). It distinguishes from siblings by giving a workflow hint, though it doesn't explicitly differentiate from postiz_check_integration.

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?

Explicitly recommends using this tool before postiz_create_post to obtain the integration ID. However, it does not mention when not to use it or alternatives like postiz_check_integration.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage (default 1).

TDQS

A4/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 burden. It mentions sorting but does not disclose pagination behavior (page parameter implies pagination but is not described). The example notification types give some context, but more detail on what the response contains 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?

Two concise sentences with no wasted words. All information is front-loaded and relevant.

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 reasonably complete. It covers purpose, sorting, and usage examples. Could potentially mention that it fetches paginated results, but current context is sufficient.

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% (page parameter). The description adds no additional meaning beyond what the schema already provides (only 'default 1'). 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' and resource 'notifications' with sorting order 'most-recent first'. It is distinct from sibling tools like postiz_list_integrations and postiz_list_posts.

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?

Provides concrete use cases: 'surfacing posting failures, OAuth re-auth prompts, and new-feature notices'. This helps the agent know when to invoke it, though it does not explicitly mention when not to use it or alternatives.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
startDateNoISO-8601 start of window.
endDateNoISO-8601 end of window.
displayNoConvenience window when start/end omitted. Default 'week'.
customerNoOptional customer id (multi-tenant).

TDQS

A4/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 identifies the HTTP method (GET) and return content, but omits details like pagination, rate limits, or potential side effects. This is adequate but not exhaustive.

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 extraneous words. Every part adds value: the action, endpoint, post types, and key response attributes.

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 absence of output schema and annotations, the description covers the main response fields and post types. However, it lacks guidance on the interplay between startDate/endDate and the display parameter, and does not mention sorting or pagination.

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 parameters are fully described in the schema, so the baseline is 3. The description adds little beyond stating the date range focus; no additional semantics or usage nuances are provided for startDate, endDate, display, or customer.

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 posts'), the resource ('via GET /api/posts'), and the scope ('in a date range'). It also enumerates the types of posts returned and key response fields, distinguishing it from sibling tools like create_post or delete_post.

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 its use for retrieving posts within a date range. However, it does not explicitly state when to avoid using it or mention alternatives, such as the sibling tool for missing content. The context is clear but lacks exclusions.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
integrationIdNoOptional integration id to scope the catalog.

TDQS

A4/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 it is a GET request and returns a catalog, but lacks details on pagination, authentication, or other behavioral traits beyond the basic list operation.

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 concise sentences front-load the API endpoint and purpose, with no wasted words. 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 no output schema, the description implies a return catalog with voice ids, which is adequate for a simple list tool. It could explicitly describe the return structure but is sufficient for the agent to understand 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% with a single optional parameter. The description adds minimal extra meaning beyond the schema definition, only restating the parameter's purpose indirectly. Baseline 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 tool lists available AI voices for video generation via a specific endpoint, distinguishing it from sibling tools like postiz_generate_video by positioning it as a prerequisite.

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 this is 'Required input for postiz_generate_video' and instructs the agent to pick a voice id, providing clear context for when to use it, though it does not mention when not to use it.

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

postiz_update_post_release_idA

Update the releaseId (and optionally releaseURL) of a Postiz post via PATCH /api/posts/{id}/release-id. Use to reconcile a Postiz post with the actual platform-side release after a missing-content event. Requires enableWrite.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYes
releaseIdYes
releaseURLNo

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 carries full burden. It mentions the HTTP method and the 'enableWrite' requirement, but lacks detail on side effects, idempotency, or error responses.

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: first states action with endpoint, second gives use case and requirement. No wasted words.

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?

The description explains the use case but lacks information about return values or error handling. Given the simple update nature and no output schema, it is adequate but not thorough.

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?

With 0% schema description coverage, the description adds that releaseURL is optional, but does not explain formats or postId semantics. Baseline compensation is partial.

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 it updates the releaseId and optionally releaseURL of a Postiz post, with a specific endpoint given. This distinguishes it from sibling update tools like postiz_update_post_status.

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 a specific use case: reconciling a post after a missing-content event. However, it does not explicitly mention when not to use it or alternatives.

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

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
postIdYes
stateYes

TDQS

A3.7/5.0
Behavior3/5

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

Discloses the HTTP method (PATCH), effect of state change (re-enters schedule), and a requirement ('Requires enableWrite'). However, lacks details on idempotency, error cases, or what happens if the post is already in the target state.

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 method, then key behavioral detail. 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?

Given lack of output schema and simple parameters, the description covers the main action and effect. Missing edge cases like preconditions or error handling, but largely complete for a straightforward status transition.

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

Parameters2/5

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

With 0% schema description coverage, the description should compensate, but it only mentions 'postId' implicitly via '{id}' and 'state' via enum values. No added meaning 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?

Clearly states the verb 'Transition', the resource 'Postiz post', and the specific states 'DRAFT and QUEUE'. Distinguishes from sibling tools like postiz_create_post or postiz_delete_post.

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?

Implies usage for status transitions only, but no explicit guidance on when not to use or alternatives. The note about DRAFT→QUEUE re-entering schedule provides some context.

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

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 value[].image[]. Requires enableWrite.

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathNoAbsolute path to a local file.
base64NoBase64-encoded contents.
fileNameNoFile name for multipart upload.
mimeTypeNoContent-Type.

TDQS

A3.6/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 disclosure burden. It mentions that the tool requires 'enableWrite' and returns an object with id and path. However, it does not disclose potential side effects, rate limits, file size constraints, or destructive behavior. The description adds some behavioral context but not comprehensive.

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: two sentences that express the main action, return value, and integration with another tool. Every sentence adds unique value without redundancy. It is front-loaded with the primary purpose.

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 (4 parameters, no output schema, no annotations), the description covers the essential purpose, return format, and workflow integration. It lacks details on parameter combinations or error handling, but the ties to postiz_create_post provide useful context. It is fairly complete for a straightforward upload tool.

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 all four parameters (filePath, base64, fileName, mimeType) have descriptions in the schema. The tool description does not add any additional meaning or usage context for the parameters beyond what the schema provides, meeting the baseline score of 3.

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: 'Upload a media file (image, video) to Postiz storage'. It specifies the HTTP method and endpoint, and explains the return value and how to use it with postiz_create_post. This effectively distinguishes it from sibling tools like postiz_upload_from_url by focusing on file/Base64 upload versus URL 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?

The description does not provide explicit guidance on when to use this tool versus alternatives like postiz_upload_from_url. It mentions a prerequisite ('Requires enableWrite') but lacks context on when this tool is preferred or when to avoid it. No exclusion criteria or alternative references are given.

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

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 value[].image[]. Requires enableWrite.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesPublic URL Postiz should fetch.

TDQS

A4.1/5.0
Behavior4/5

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

Without annotations, the description discloses the HTTP method, endpoint, server-side fetch nature, return format, and a prerequisite, which is transparent for a simple upload tool. Lacks error or rate limit info.

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?

Three sentences, each adding value. Front-loaded with the core action and endpoint. No unnecessary 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 single-parameter tool with no output schema, the description fully covers purpose, mechanism, return value, and prerequisite, making it 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 already describes the only parameter (url) as 'Public URL Postiz should fetch.' The description adds minimal context about reachability, but schema coverage is 100%, so baseline 3 applies.

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?

Clearly states it uploads a media file from a public URL, explains the server-side fetch, and specifies the return format and usage in another tool, distinguishing it from siblings.

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?

Provides implicit guidance by noting 'works for sources the MCP host can't reach' and mentions 'Requires enableWrite', but does not explicitly state when not to use or contrast with alternatives like postiz_upload_file.

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.

  1. 20 tool updatesv0.1.0
    • First observedpostiz_check_integration
    • First observedpostiz_connect_integration
    • First observedpostiz_create_post
    • First observedpostiz_delete_integration
    • First observedpostiz_delete_post
    • First observedpostiz_delete_post_group
    • First observedpostiz_find_next_slot
    • First observedpostiz_generate_video
    • First observedpostiz_get_missing_content
    • First observedpostiz_get_platform_analytics
    • First observedpostiz_get_post_analytics
    • First observedpostiz_get_provider_settings_schema
    • First observedpostiz_list_integrations
    • First observedpostiz_list_notifications
    • First observedpostiz_list_posts
    • First observedpostiz_list_voices
    • First observedpostiz_update_post_release_id
    • First observedpostiz_update_post_status
    • First observedpostiz_upload_file
    • First observedpostiz_upload_from_url

TDQS

A4.1/5.0

Scored across 20 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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.

Maintenance

ActivityStale
ResponsivenessNo 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
    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
    19 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for managing social media posts across multiple platforms using the Postiz API. Supports creating, updating, deleting posts, and generating videos.
    35 npm
    3
    MIT