Skip to main content
This page lists every tool available through the TryPost MCP server. Your AI assistant can call any of these tools to manage your TryPost account. To create and publish a post end-to-end:
  1. list-social-accounts-tool — discover connected accounts
  2. list-content-types-tool — discover valid content_type per platform with limits
  3. list-pinterest-boards-tool (if targeting Pinterest) — resolve platforms[].meta.board_id
  4. list-discord-channels-tool (if targeting Discord) — resolve platforms[].meta.channel_id
  5. create-post-tool — create the draft with content + chosen platforms + meta
  6. list-assets-tool + attach-existing-asset-tool (optional) — reuse an item already in the Asset Library
  7. attach-media-from-url-tool (optional) — attach images or videos from public URLs
  8. request-media-upload-tool + attach-media-from-upload-tool (optional) — upload a local file when no public URL exists
  9. preview-post-tool (optional) — see how each platform will render before publishing
  10. publish-post-tool — publish immediately or schedule for a future time
  11. get-post-metrics-tool (after published) — fetch engagement metrics

Posts

Assets

These tools use the workspace Asset Library (the Library tab) — not logos or avatars, and not other workspaces. Viewers cannot use them (Not authorized to view assets. / Not authorized to update this post.). Asset object (list items and get). There is no path.

list-assets-tool

List library files, newest first. REST: GET /assets.

get-asset-tool

Get one library file. REST: GET /assets/{media}. Returns the asset object (fields above) at the top level — no wrapper.

attach-existing-asset-tool

Attach a library file to a post. Does not upload a new file. REST: POST /posts/{post}/media/from-asset.
  • File type must be allowed by every enabled platform on the post. If none are enabled, any type is allowed. Example: TikTok video only + image → This file type is not supported by the platforms enabled on the post.
  • published / partially_published / failed / publishing posts are rejected (This post has already been processed and cannot be re-published. Duplicate it to try again.).
  • Same post_id + asset_id again does not duplicate the media and does not change alt.

Platforms (read-only)

Signatures

Labels

Social accounts

Workspace

API keys

Webhooks

Outgoing workspace webhooks. Requires manage webhooks (Owner / Admin) — Members and Viewers get Not authorized to manage webhooks. Other-workspace IDs return Webhook not found. / Webhook log not found. Conceptual guide: Webhooks. REST: GET /webhooks. Signing: HMAC-SHA256 of the raw JSON body; hex digest in X-Webhook-Signature. Secret format whsec_ + 32 characters. Webhook object (list items omit the secret):

Per-platform meta (MCP)

platforms[].meta uses the same keys as the REST API. Full tables, limits, and examples: Per-platform meta. Quick checklist for agents:
Enum-like fields are JSON strings. Send "privacy_level": "PUBLIC_TO_EVERYONE", not an integer or a renamed value. Unknown meta keys are dropped.

Notes

  • Workspace scoping — every tool operates on the user’s currently-selected workspace. To act on a different workspace, switch it in the TryPost UI (or, for personal API tokens, create a new key in that workspace).
  • RolesViewers are read-only. They cannot create/update/publish posts, list or get assets (Not authorized to view assets.), or call compose helpers that gate on create-post permission — including list-pinterest-boards-tool and list-discord-channels-tool (error: Not authorized to manage posts.). Owner, Admin, and Member can. Webhook tools require manage webhooks (Owner / Admin only) — Members and Viewers get Not authorized to manage webhooks. See Team.
  • Cross validationcreate-post-tool and update-post-tool reject mismatched combos (e.g. content_type=x_post on a LinkedIn account). Inactive social accounts are also rejected at validation time.
  • Destructive tools — operations that delete data, rotate secrets, or publish to the world (publish-post-tool, delete-*, rotate-webhook-secret-tool) are marked IsDestructive, which lets the AI client (ChatGPT, Claude Desktop, etc.) prompt you for confirmation before executing.
  • Local-file uploadsrequest-media-upload-tool returns a single-use signed URL (default TTL 15 minutes). max_bytes is the video ceiling (default 1 GB); per-type caps are in max_bytes_by_type (image / video / document). POST the file as multipart field media, then call attach-media-from-upload-tool with the same upload_token (optional alt for images). See POST /uploads/{token}.
  • Media alt text — image accessibility text lives on media[].meta.alt_text, not on platforms[].meta. Via MCP, set it with attach-media-from-url-tool (urls[].alt), attach-media-from-upload-tool (alt), or attach-existing-asset-tool (alt). On attach-existing-asset-tool, omitting alt keeps the library item’s existing alt_text. The REST create/update endpoints also accept media[].meta.alt_text when hosting from URL.
  • No inline media[] on MCP create/update — unlike REST POST/PUT /posts, the MCP create/update tools do not accept a media array. Always use the attach tools after create (attach-existing-asset-tool, attach-media-from-url-tool, or the signed-upload pair).
  • Asset Library reuse — prefer list-assets-tool + attach-existing-asset-tool when the file is already in the workspace library. That path does not copy bytes; the post snapshot shares the library file path. Use the URL / signed-upload tools only for new files.