> ## Documentation Index
> Fetch the complete documentation index at: https://docs.postinger.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP tool reference

> Available tools, input shapes, and required permissions.

Inputs below show the outer shape. Your MCP client discovers the complete JSON Schema for each tool when connecting. IDs belong to the authorized project.

| Tool | Input | Required permissions |
| - | - | - |
| `list_accounts` | `{}` | `accounts-read` |
| `get_publishing_capabilities` | `{accountId}` | `accounts-read` |
| `list_posts` | `{limit?, after?, before?, status?, platform?, q?}` | `posts-read` |
| `get_post` | `{postId}` | `posts-read` |
| `create_draft` | `{draft: {content?, targets?, mediaIds?}, idempotencyKey}` | `posts-write` |
| `schedule_post` | `{post: {content?, targets?, mediaIds?, scheduledAt}, idempotencyKey}` | `posts-write`, `posts-publish` |
| `update_post` | `{postId, patch}` | `posts-write`; also `posts-publish` when scheduling or editing a scheduled post |
| `publish_post` | `{postId, accountId?, idempotencyKey}` | `posts-publish` |
| `delete_post` | `{postId}` | `posts-delete` |
| `upload_media` | Hosted: `{url}`; local with media root: `{filePath}` | `media-write` |
| `create_media_upload` | `{filename, contentType, sizeBytes}` | `media-write` |
| `get_media` | `{mediaId}` | `media-read` |
| `complete_media_upload` | `{mediaId}` | `media-write` |
| `multipart_media` | `{mediaId, input: {operation, partNumber?}}` | `media-write` |
| `get_analytics_capabilities` | `{}` | `analytics-read` |
| `get_analytics_report` | `{from, to, accountId?, platform?}` | `analytics-read` |
| `get_account_analytics` | `{accountId, range: {from, to}}` | `analytics-read` |
| `list_post_analytics` | `{days?, from?, to?, limit?, cursor?, accountId?, platform?}` | `analytics-read` |
| `get_post_analytics_history` | `{postId, accountId}` | `analytics-read` |

## Important behavior

* `create_draft` never publishes or schedules.
* `schedule_post` creates a **new post**. Schedule an existing draft with `update_post`.
* `publish_post` accepts work asynchronously. Read `get_post` for the final outcome.
* Create, schedule, and publish require a stable `idempotencyKey`. Reuse it with identical input when retrying the same operation within 24 hours.
* Deleting a Postinger post does not promise deletion of copies already published on social platforms.
* `list_posts` supports backward navigation with the first visible ID as `before`; it does not currently expose the HTTP API's `sort` parameter.

The `postinger://usage` resource contains workflow guidance. Tool errors use `isError: true` and include the API error code and request ID when available.


## Related topics

- [MCP examples](/mcp/examples.md)
- [Connect with MCP](/mcp/quickstart.md)
- [Local MCP server](/mcp/local-server.md)
- [CLI authentication](/cli/authentication.md)
- [Retries, limits, and errors](/guides/retries-and-errors.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.