Skip to content
MCP server

MCP tools

The MCP server tools one by one: what they do, which ones write, and in which order to call them.

Tools

ToolWhat it doesWrites?
get_workspace_contextThe exact time in UTC, the user's timezone and the workspace name.no
list_workspacesLists the user's workspaces and marks the one the connection works on.no
switch_workspacePoints the connection at another workspace. Every tool works there afterwards.yes
list_integrationsThe connected channels with id, @handle and state.no
list_groupsThe customer groups.no
get_integration_schemaA channel's rules and the character limit resolved for the account.no
get_channel_optionsPlatform specific choices for a channel.yes
preview_postShows what would go out, per channel. Writes nothing.no
list_postsThe calendar, in UTC and local time, with channel names.no
delete_postDeletes one unpublished post (one channel), or the whole group with allChannels: true. Refuses one that is already live.yes
create_postDraft, schedule, or publish now.yes
upload_media_from_urlAn image or video into the media library from a URL or a data URL.yes
create_upload_linkA browser link where the user drops a file from their own computer. Lives for two hours.yes
list_upload_link_filesWhat arrived through the upload link, with a URL you can put in a post.no
fotoai_list_modelsFotoAI's image and video models with parameters and credit price.no
fotoai_quoteThe exact price of a FotoAI generation. Spends nothing.no
fotoai_generateGenerates with the user's FotoAI credits using the approved quote; the result goes into the media library.yes
fotoai_get_generationA generation's status and, once done, the URLs of the files saved in the media library, ready for a post.yes
get_plansThe four plans with prices in forints, euros, Swiss francs and US dollars, the limits, the trial rule and the current plan. Only when the user asks.no
subscribeA Stripe Checkout link for the chosen plan. The user opens it and pays with their own wallet. Only on a signed in (OAuth) connection, for the owner.yes
get_subscriptionThe subscription state and any unpaid checkout. After payment the agent uses it to confirm the plan is live.no
manage_subscriptionA link to the Stripe billing portal: plan change, cancellation, invoices, card. Only on an OAuth connection, for the payer.yes
open_postyOpens the Postemi app: calendar, composer and channels. It is also in the ChatGPT sidebar.no
open_posty_panelThe same app in the side panel of a ChatGPT conversation. Called by the app, not by the model.no
read_settingsThe user's settings: timezone and the workspace this connection acts on, with the values to choose from.no
update_settingsSaves the timezone, or moves the connection to another workspace. The ChatGPT plugin settings call it.yes
search_mentionsChannels and upcoming posts for the @ menu of the ChatGPT desktop app. Called by the app, not by the model.no
get_postOne post in full (thread posts or comments, media, settings) for the editor of the Postemi app. Called by the app, not by the model.no
update_postChanges a scheduled, draft or failed post from the editor of the Postemi app. A published post is refused. Called by the app, not by the model.yes

Tools that make changes

Of the 29 tools, 12 make changes. The rest are read-only and cannot do any harm.

create_post can publish immediately

create_post can create a draft, schedule a post, or publish immediately. Publishing immediately cannot be undone. If you only want your agent to create drafts, don't rely on the prompt. Give it a key that cannot publish. See the Authentication page.

  • delete_post only deletes unpublished posts. If a post is already live, the request is rejected. It deletes one post (one channel); with allChannels: true it deletes the whole group from every channel.
  • preview_post shows what would be published to each channel without writing anything. It is worth running before scheduling.

Order of operations

  1. 1
    get_workspace_context
    The exact time in UTC, your time zone, and the workspace name. Without this, the agent would schedule based on its own assumed time.
  2. 2
    list_integrations
    The channels and their IDs. Every subsequent call requires these IDs.
  3. 3
    get_integration_schema
    The target channel's rules and the character limit that applies to the account, before the agent writes any copy.
  4. 4
    list_posts
    The calendar, so the agent doesn't schedule a post for a time that's already taken.
  5. 5
    preview_post, then create_post
    Check what would be published before creating the post.

Workspaces

A connection acts on one workspace: the one you picked when you connected, or the one the MCP key was created in. If you have several, list_workspaces lists them all and marks the current one.

switch_workspace moves the connection to another one. It applies to the connection, not to a single call: from then on every tool acts there, in every conversation that uses the same connection, until you switch back. You can only switch to a workspace where you are an owner and whose plan includes API access. A connection made with an MCP key cannot switch: the key stays in the workspace it was created in, so create a key in the other workspace instead. Channel ids belong to a workspace, so run list_integrations again after a switch.

Time and time zone

The MCP server uses UTC, and get_workspace_context returns your time zone. list_posts returns both UTC and local time, along with the channel name, so the agent does not have to convert between them.

Dates work the same way here as everywhere else. See the Scheduling page.

Manifest

The tool list is available in the manifest without authentication:

https://posty.hu/.well-known/mcp.json

This is the same list returned by the server. Clients can read it before connecting to find out what the server can do.

Is something missing from this page? Email [email protected] or use the form on the Help page.