Use OpenPost With an AI Assistant
MCP lets AI tools work with your OpenPost account. An assistant can read your drafts, prepare posts, and schedule approved work. It never receives the keys for your social accounts.
Choose what the assistant can do
Use mcp:read when an assistant only needs to view data. OpenPost blocks all changes made with this token. Use mcp:full when an assistant needs to create, change, schedule, or publish posts. Limit the token to one workspace when you can. Check every account and approve each publish action.
Use it when you want an assistant to:
- View workspaces, accounts, media, drafts, and scheduled posts
- Turn an idea into a draft
- Write a separate version for each account
- Add saved media or upload media from a public link
- Find the next open posting time
- Schedule approved posts or cancel scheduled posts
Ways to connect
ChatGPT-style clients
Use the remote MCP endpoint from your OpenPost instance:
https://your-openpost-host.example/mcpOAuth-aware clients can use OpenPost's browser account-linking flow. Clients that need a manual token can create mcp:read or mcp:full access from Settings -> Account -> CLI Devices & API Tokens. OAuth requests default to mcp:full when they omit a scope, so choose mcp:read explicitly for inspection-only connections.
When you approve OAuth or create a token, limit it to the current workspace unless the client needs access to all your workspaces.
Desktop MCP clients
Install and authenticate the OpenPost CLI with the MCP proxy, then run the local stdio proxy:
curl -fsSL https://raw.githubusercontent.com/getopenpost/openpost/main/scripts/install-cli.sh | sh -s -- --with-mcp
openpost --profile local auth login https://your-openpost-host.example
openpost-mcp --profile localThe proxy uses the selected CLI profile to connect to the remote /mcp address. It does not open the database or need social account keys on your computer.
Available tools
OpenPost gives the assistant a small set of tools. The assistant can then look up the exact action it needs.
An mcp:read connection gets three tools:
search_operationsfinds actions that only view data.query_operationruns an action that only views data.render_scheduler_widgetshows a schedule in clients that support it.
An mcp:full connection also gets execute_operation, which can change OpenPost or contact a social network.
search_operations tells the assistant whether it must use query_operation or execute_operation. It returns nothing when the request is unclear or OpenPost cannot do it. OpenPost also checks the tool choice: query_operation cannot make changes, and execute_operation cannot run view-only actions.
These tools cover workspaces, social networks, accounts, media, drafts, account versions, all post types, checks, schedules, publishing, status, cancellation, activity, comments, and open posting times. You can ask for what you want in plain language.
Safe steps
- Start with an
mcp:readtoken limited to one workspace. Ask the assistant to check the workspace, accounts, recent media, and account setup. - If the assistant must create or change work, use an
mcp:fulltoken limited to that workspace. Test each account and post type before you rely on it. - Open the post in the web app. Check the text, account versions, media, alt text, post type, and time.
- Approve
execute_operationonly when the content and accounts are correct. - Check Activity after publishing. A scheduled post has not yet been published.
OpenPost checks workspace access and account ownership before it reads or changes data. Schedules and media uploads use the same plan limits as the web app and CLI.
For a sample brief, prompt, account versions, test log, and review list, see the public OpenPost Launch Kit. These are examples, not proof of a live publish.
What OpenPost protects
| Area | What OpenPost does | What you must do |
|---|---|---|
| Social account keys | Encrypts access and refresh tokens and never returns them through MCP. | Protect your OpenPost encryption key, database, backups, and server. |
| Workspace access | Lets you limit a token to one workspace and checks account ownership. | Grant access to the smallest useful workspace. Remove access when the work ends. |
| View or change | Blocks changes with mcp:read. Checks that the client uses the right tool with mcp:full. | Start with mcp:read. Approve each execute_operation call after you grant mcp:full. |
| Post checks | Checks current media rules, account support, and plan limits. | Test the exact account and post type. Social networks can still change or reject a post. |
| Your review | Keeps drafts and account versions in the web app so you can edit them. | Review the work before you approve it. OpenPost does not force this step. |
View use or remove access
Recent MCP actions appear in Settings -> Account -> CLI Devices & API Tokens when the client uses its own MCP or CLI token. Remove the token there to disconnect the client.
For protocol details, Apps SDK metadata, OAuth discovery, and implementation notes, see MCP And ChatGPT App in the developer docs.