postiz-mcp
postiz-mcp
모든 MCP 호환 클라이언트를 위한 표준 Postiz 클라이언트입니다. Postiz 공개 API(통합, 게시물, 업로드, 분석, 비디오)를 완벽하게 지원하며, 환경 변수로 제어되는 쓰기, 확인이 필요한 삭제, 내장된 속도 제한 보호 기능을 제공합니다.
stdio MCP 서버 및 동일한 패키지에서 제공되는 일급 OpenClaw 네이티브 플러그인으로 배포됩니다.
이유
Postiz를 직접 호스팅하고 있고 Claude / Codex / OpenClaw / Hermes / 기타 MCP 클라이언트가 이를 상호 작용하도록 하려는 경우, 모든 워크플로우에서 직접 HTTP 호출을 작성하는 대신 유형이 지정되고 테스트된 단일 목적의 도구 인터페이스를 제공합니다.
Related MCP server: postforme-mcp-pro
연결 전 주의사항
Postiz 쓰기는 공개적인 부작용을 초래합니다.
type: "now"(또는 가까운 시일 내 예약)로postiz_create_post를 성공적으로 실행하면 실제 소셜 계정에 게시됩니다. 게시된 후에는 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— DRAFT ↔ QUEUE 전환postiz_update_post_release_id— Postiz 게시물을 플랫폼 측 릴리스에 다시 연결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 클라이언트 구성에 다음 환경 변수를 설정하십시오:
변수 | 필수 | 기본값 | 설명 |
| 예 | — | 기본 URL, 예: |
| 예 | — | Postiz 설정 → 공개 API의 API 키 |
| 아니요 |
| 생성 / 업데이트 / 업로드 / 연결 / 비디오 생성 도구를 노출하려면 |
| 아니요 |
| 삭제 도구를 노출하려면 (쓰기 활성화와 함께) |
| 아니요 |
| HTTP 타임아웃 (ms) |
| 아니요 |
| 로컬 보호 제한. 서버는 응답 헤더가 있을 경우 이를 신뢰합니다. |
| 아니요 | — | Cloudflare Access 서비스 토큰 클라이언트 ID (Postiz가 CF Access 뒤에 있는 경우에만 필요) |
| 아니요 | — | Cloudflare Access 서비스 토큰 시크릿 |
API 키 얻기
관리자로 Postiz에 로그인
설정 → 공개 API → API 키 생성
값 복사 (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 enabledOpenClaw에서 일반 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는 mcp_servers 아래의 ~/.hermes/config.yaml에서 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-mcpCodex 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.jsCodex는 항목을 [mcp_servers.postiz] 아래의 ~/.codex/config.toml에 기록합니다. 다음으로 확인하십시오:
codex mcp listCloudflare Access 뒤의 Postiz
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-secretMCP 서버는 모든 요청 시 이를 CF-Access-Client-Id / CF-Access-Client-Secret으로 전달합니다. 이를 잊어버리면 혼란스러운 HTML 응답 대신 명확한 PostizCfAccessChallengeError가 발생합니다.
예시 프롬프트
"내 Postiz의 통합 목록을 보여줘."
"내일 오전 9시에 Bluesky 게시물을 예약해줘: 'Just shipped postiz-mcp.'"
"다음 LinkedIn 게시 가능 시간은 언제야? 이 4개 트윗 스레드를 X의 해당 시간에 예약하고 답글은 인증된 사용자만 가능하도록 설정해줘."
"지난주에 무엇이 게시되었고 화요일 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 이전에 사용하십시오.
스키마는 Postiz가 공급자 문서를 업데이트할 경우 PR을 여는 GitHub Actions 워크플로우에 의해 매월 새로 고쳐집니다. 수동으로 새로 고치려면:
npm run refresh-schemas개발
npm install
npm run typecheck
npm test
npm run build라이선스
MIT
Available Tools
20 toolspostiz_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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | Provider slug (e.g. 'x', 'linkedin'). | |
| refresh | No | Re-auth an existing integration. Default false. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| type | Yes | draft / schedule / now. PUBLIC SIDE EFFECT for schedule + now. | |
| date | Yes | ISO-8601 timestamp. | |
| posts | Yes | One entry per integration to post on. | |
| shortLink | No | ||
| tags | No |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| integrationId | Yes | ||
| confirm | Yes | Must be true. Cascades — scheduled posts removed. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | ||
| confirm | Yes | Must be true. Cascades to whole group. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| group | Yes | ||
| confirm | Yes | Must be true. Removes every post in the group. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| integrationId | Yes | Integration id from postiz_list_integrations. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Free-form payload as expected by Postiz video integrations. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | Post id whose releaseId is marked missing. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| integrationId | Yes | Integration id. | |
| date | No | Lookback in days. Postiz default applies when omitted. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | Post id. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| provider | Yes | Provider slug or __type (e.g. 'x', 'linkedin'). | |
| includeMarkdown | No | Include full markdown reference. Default true. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page (default 1). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| startDate | No | ISO-8601 start of window. | |
| endDate | No | ISO-8601 end of window. | |
| display | No | Convenience window when start/end omitted. Default 'week'. | |
| customer | No | Optional customer id (multi-tenant). |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| integrationId | No | Optional integration id to scope the catalog. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | ||
| releaseId | Yes | ||
| releaseURL | No |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| postId | Yes | ||
| state | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | No | Absolute path to a local file. | |
| base64 | No | Base64-encoded contents. | |
| fileName | No | File name for multipart upload. | |
| mimeType | No | Content-Type. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Public URL Postiz should fetch. |
TDQS
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.
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.
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.
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.
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.
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.
20 tool updates
v0.1.0- First observed
postiz_check_integration - First observed
postiz_connect_integration - First observed
postiz_create_post - First observed
postiz_delete_integration - First observed
postiz_delete_post - First observed
postiz_delete_post_group - First observed
postiz_find_next_slot - First observed
postiz_generate_video - First observed
postiz_get_missing_content - First observed
postiz_get_platform_analytics - First observed
postiz_get_post_analytics - First observed
postiz_get_provider_settings_schema - First observed
postiz_list_integrations - First observed
postiz_list_notifications - First observed
postiz_list_posts - First observed
postiz_list_voices - First observed
postiz_update_post_release_id - First observed
postiz_update_post_status - First observed
postiz_upload_file - First observed
postiz_upload_from_url
TDQS
Scored across 20 tools
Each tool targets a unique action and resource type. For example, postiz_create_post, postiz_delete_post, and postiz_list_posts are clearly distinct. Even overlapping actions like postiz_delete_post and postiz_delete_post_group are differentiated by scope (single vs. group). Descriptions clarify boundaries effectively.
All tools follow a consistent 'postiz_verb_noun' pattern with underscore separation. Verbs like check, connect, create, delete, find, generate, get, list, update, and upload are used uniformly. There is no mixing of camelCase or other conventions.
With 20 tools, the set is slightly above the typical 'well-scoped' range (3-15) but still reasonable given the breadth of Postiz's functionality (post management, analytics, AI video, integrations, file uploads). Each tool serves a distinct purpose.
The tools cover the main lifecycle: integration management, post CRUD, analytics, file uploads, and AI video generation. Minor gaps include no direct 'get post by ID' (though list_posts can retrieve it) and no interaction management (comments, etc.), but core workflows are well-supported.
Maintenance
Related MCP Connectors
Create, schedule, and publish social posts, manage accounts, and read analytics as MCP tools.
Create, schedule, and publish social posts through the hosted SocialSpool MCP connector.
Publish, schedule, and manage social media posts across major platforms via the Postproxy API.
Manage social publishing workflows through OpenPost
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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-
- AlicenseAqualityCmaintenanceMCP server for the Post for Me API, enabling publishing, scheduling, editing, deleting, and analyzing social media posts across 9 platforms from any MCP client.2719 npm1MIT

Postoria MCP Serverofficial
AlicenseAqualityCmaintenanceEnables MCP-compatible clients to create, schedule, queue, inspect, and delete Postoria posts through the Postoria Public API.1418 npm1MIT- AlicenseNot gradedqualityCmaintenanceMCP server for managing social media posts across multiple platforms using the Postiz API. Supports creating, updating, deleting posts, and generating videos.35 npm3MIT