Postfjord plans and publishes social posts, answers DMs and sends email for small businesses. Everything the app does for a person, your code or your agent can do too, in the same workspace and under the same rules.
There are three ways in. Pick the one that fits what you are building.
The hosted MCP server
For AI apps and agents. Nothing to install and no key to paste: add https://mcp.postfjord.com/mcp to the app.
It speaks Streamable HTTP and signs in with OAuth 2.1, PKCE and dynamic client registration. The person picks the workspace and the level (Read only, Drafts only, or Schedule and publish) and presses Allow. Apps that cannot open a browser send a key instead, as Authorization: Bearer pf_live_....
Every tool has a title and declares readOnlyHint, destructiveHint and openWorldHint, so apps that honor them ask before a call that changes or sends something. Steps for ChatGPT, Claude, Gemini, Cursor, Codex, VS Code and more are in the MCP help page. Building your own agent? The agent guide shows the calls to make first, the loop from idea to a published post and how to retry safely.
The REST API
For your own code. The base address is https://app.postfjord.com/api/v1, every call sends a key as a Bearer token, and every call is in the API reference, with its fields and a curl example. The same list as a file is openapi.json, so most tools can read it and make a client for you.
- Keys: made in Postfjord under Settings, Apps. Each key belongs to one workspace and has one level, and you can see when it was last used and revoke it there.
- Safe retries: send an
Idempotency-Keyheader with any call that makes or sends something. A retry gets the first answer back, markedIdempotent-Replayed: true, and nothing is made twice. - Dry runs: add
?dryRun=1toPOST /v1/postsorPATCH /v1/posts/{id}to check a post without saving it. - Limits: 60 requests a minute per key. Over that, the API answers
429. - Times: every time carries its time zone, for example
2026-11-03T09:00:00-05:00. A time without one is refused.
Open source agent tools
Rustysama/postfjord-agents on GitHub, MIT licensed:
- A Claude Code plugin with the skill and the hosted server in one install:
claude plugin marketplace add Rustysama/postfjord-agents, thenclaude plugin install postfjord@postfjord. - The postfjord Agent Skill, for any agent that reads skills, with a reference of every tool generated from the server's own definitions.
- A local MCP server over stdio, with a Dockerfile, for apps that start servers themselves. It takes a key and reads pictures and videos from your own disk.
Find Postfjord in directories
The server is in the official MCP Registry as com.postfjord/postfjord, and on Glama. Agents that read the web can start from llms.txt and the MCP server card.
Plans and safety
The MCP server and the API are included from the Solo plan, at no extra cost. Agents manage marketing, not the account: no tool reaches billing, team members, API keys or the connected social accounts, and none removes a post that already went out. Every call is checked against the person's role in the workspace. Read more on security and see status for uptime.
FAQ
Do I need a key to use the MCP server?
No. ChatGPT, Claude, Gemini and most AI apps sign in with OAuth, and the person presses Allow. A key is only for apps that cannot open a browser, the local server and your own code.
Is there an SDK?
Not yet. openapi.json describes every call, so a generator such as OpenAPI Generator can make a client in your language. For agents, the MCP server is the easiest way in.
Can one agent work in more than one workspace?
Yes. At sign-in the person can let the connection work in each workspace where they are an owner. A key always belongs to one workspace, so an agency can give each client its own.
Where do I report a bug or a security problem?
Open an issue in the GitHub repository or write to hello [at] postfjord.com. Report security problems privately to hello [at] postfjord.com.