Connect AI apps with MCP
Postwase runs an MCP server. Once connected, an AI assistant can list your projects and channels, upload images and videos, check posts against each network's rules, and save, schedule or publish posts, all with the same limits and approvals as the Postwase app.
Server address
One address for every app: https://your-postwase-domain/mcp. It speaks MCP's Streamable HTTP transport.
Two ways to sign in
| Method | Best for | Access |
|---|---|---|
| Sign in with Postwase (OAuth) | ChatGPT, Claude.ai, Claude Desktop and other apps with a “connector” screen. Nothing to copy. | Acts as you in every project you belong to, with your role in each. You can disconnect it in Account & security. |
| Project API key | Coding tools and agents with an MCP config file (Antigravity, Cursor, VS Code, Claude Code, Gemini CLI). | One project only. Create it in the project's Settings → Developers (admins only). Revoke it there. |
Step-by-step for your app
App menus change from release to release; if a label below differs, look for the screen where you add a custom connector or MCP server.
- In ChatGPT, open Settings → Apps & Connectors. Under Advanced settings, turn on Developer mode (available on paid plans; workspace admins may have to allow custom connectors).
- Choose Create (add a custom connector). Name it Postwase, paste the server address
https://your-postwase-domain/mcpand pick OAuth as the authentication. - ChatGPT opens Postwase: sign in and press Allow.
- In a new chat, enable the Postwase connector (Developer mode) and ask, for example: “Schedule a post on my shop's Facebook Page for 9am tomorrow.”
Without developer mode, ChatGPT only offers read-only search and fetch tools, so it can find your posts but not create them.
- In Claude, open Settings → Connectors and choose Add custom connector (on Team and Enterprise plans an owner adds it for the organisation first).
- Name: Postwase. URL:
https://your-postwase-domain/mcp. Leave the OAuth client fields empty: Claude registers itself. - Press Connect, sign in to Postwase and Allow.
- In a chat, turn on Postwase from the tools menu. Connectors added on claude.ai also appear in the Claude desktop and mobile apps.
Sign in with Postwase (OAuth):
claude mcp add --transport http postwase https://your-postwase-domain/mcpThen run /mcp in Claude Code and choose Authenticate for postwase. Or use a project API key instead:
claude mcp add --transport http postwase https://your-postwase-domain/mcp --header "Authorization: Bearer pw_live_YOUR_KEY"- Create a project API key in Postwase (Settings → Developers).
- In Antigravity, open the agent panel's … menu → MCP Servers → Manage MCP Servers → View raw config (this edits
mcp_config.json). - Add Postwase under
mcpServers. Antigravity usesserverUrlfor HTTP servers:
{
"mcpServers": {
"postwase": {
"serverUrl": "https://your-postwase-domain/mcp",
"headers": {
"Authorization": "Bearer pw_live_YOUR_KEY"
}
}
}
}Save and refresh the server list; Postwase's tools appear for the agent.
{
"mcpServers": {
"postwase": {
"url": "https://your-postwase-domain/mcp",
"headers": {
"Authorization": "Bearer pw_live_YOUR_KEY"
}
}
}
}Copilot agent mode reads MCP servers from your user mcp.json (command palette: MCP: Open User Configuration). An input keeps the key out of the file:
{
"inputs": [
{ "type": "promptString", "id": "postwase-key", "description": "Postwase API key", "password": true }
],
"servers": {
"postwase": {
"type": "http",
"url": "https://your-postwase-domain/mcp",
"headers": { "Authorization": "Bearer ${input:postwase-key}" }
}
}
}{
"mcpServers": {
"postwase": {
"httpUrl": "https://your-postwase-domain/mcp",
"headers": {
"Authorization": "Bearer pw_live_YOUR_KEY"
}
}
}
}Any MCP client with Streamable HTTP works. Give it:
- URL
https://your-postwase-domain/mcp - Either the header
Authorization: Bearer pw_live_…, or OAuth: it discovers everything fromhttps://your-postwase-domain/.well-known/oauth-protected-resource/mcp
Clients that only launch local (stdio) servers can bridge with mcp-remote:
{
"mcpServers": {
"postwase": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://your-postwase-domain/mcp", "--header", "Authorization: Bearer ${POSTWASE_KEY}"],
"env": { "POSTWASE_KEY": "pw_live_YOUR_KEY" }
}
}
}What to ask
- “What Postwase projects and channels do I have?”
- “Take this image, write an Instagram and Facebook caption for our weekend sale, and save it as a draft.”
- “Import https://example.com/clip.mp4 and schedule it on TikTok (public) and YouTube Shorts for Friday 7pm.”
- “Plan next week's posts around our autumn menu and put them in the queue.” (uses the
plan_weekprompt) - “Which posts failed this week, and why?” / “How did last month's posts perform?”
How uploads work
- A public link (Drive/Dropbox direct link, a CDN, a ClipForge export):
upload_media_from_url. - An image in the chat: the AI sends it inline with
upload_media(up to 15 MB). - A large video on your computer:
create_upload_linkreturns a one-hour link to send the file to, thencomplete_upload. Or upload it in Postwase's Media page and ask the AI to use it (list_media).
Postwase prepares every file (size, duration, thumbnails, a JPEG or H.264 MP4 copy where a network needs one). Posts can use a file once get_media says ready.
Safety built in
- The AI has your role: a viewer can't post; an editor's posts wait for approval when the project requires it.
- Every network rule (length, media, required options) is checked before anything is saved; errors come back in plain words.
- The server tells the AI to confirm text, channels and time with you before scheduling or publishing, and to prefer drafts.
- Plan limits apply exactly as in the app. Password, billing, team and approvals stay in the Postwase app only.
- Disconnect an app in Account & security, or revoke an API key in project Settings → Developers. Access ends immediately.
Troubleshooting
| “Authentication required” / 401 | The key was revoked, or the app's sign-in expired. Reconnect, or paste a new key. |
| No tools in ChatGPT | Turn on Developer mode, and enable the connector in the chat. |
| “This connection is read-only” | The app asked only for read access. Disconnect it in Account & security and connect again. |
| “Not found” for a project | API keys see only their own project. Use a key from that project, or sign in with Postwase (OAuth). |
| Testing the server yourself | Run npx @modelcontextprotocol/inspector, choose Streamable HTTP, URL https://your-postwase-domain/mcp, and add the Authorization header. |
Next: the full tools reference.