# Postprism MCP server

> Connect Claude, ChatGPT, Cursor or any MCP client to Postprism. The hosted MCP server at https://studio.postprism.app/api/mcp exposes 11 tools for posts, media, analytics, platforms and workspaces.

**Source:** https://postprism.app/docs/mcp  
**Updated:** 2026-10-10

---

The Model Context Protocol (MCP) lets an AI assistant call Postprism directly: draft and schedule posts, attach media, read analytics and switch between workspaces. The tools call the same REST API documented here, so limits and validation are identical.

## Server

|   |   |
| --- | --- |
| URL | `https://studio.postprism.app/api/mcp` |
| Transport | Streamable HTTP |
| Sign-in | OAuth with your Postprism account (no API key) |
| Plans | Every plan, including the 7-day free trial |
| Rate limit | 200 requests per hour per user |

## Connect

Clients that support remote MCP servers can add the URL directly. For Claude Desktop, Cursor, Gemini CLI and other clients that use a JSON config, add Postprism through `mcp-remote`, the same snippet shown on the Developer page in Postprism. A browser tab opens so you can sign in and approve access.

**MCP config**

```
{
  "mcpServers": {
    "postprism": {
      "command": "npx",
      "args": [
        "mcp-remote@0.1.38",
        "https://studio.postprism.app/api/mcp"
      ]
    }
  }
}
```

Step-by-step guides: [Claude](https://postprism.app/agents/claude), [Claude Code](https://postprism.app/agents/claude-code), [ChatGPT](https://postprism.app/agents/chatgpt), [Cursor](https://postprism.app/agents/cursor), [Gemini](https://postprism.app/agents/gemini) and [n8n](https://postprism.app/agents/n8n) (REST API).

Every connected assistant is listed on the Developer page in Postprism, where **Revoke access** disconnects it.

## Tools

| Tool | What it does | REST equivalent |
| --- | --- | --- |
| `list_posts` | List posts in a workspace, filtered by status (draft, scheduled, published). | `GET /api/v1/posts` |
| `create_post` | Create a post from base content, target platforms and optional per-platform versions. Without a date it is saved as a draft; with scheduled_at it is scheduled. | `POST /api/v1/posts` |
| `get_post` | Read a single post by ID. | `GET /api/v1/posts/{id}` |
| `update_post` | Change a post: copy, per-platform versions, media or the scheduled time. | `PATCH /api/v1/posts/{id}` |
| `delete_post` | Delete a post by ID. | `DELETE /api/v1/posts/{id}` |
| `upload_media` | Upload an image or video (JPEG, PNG, GIF, WebP, MP4, MOV, up to 10 MB) and get a URL to attach to a post. | `POST /api/v1/media` (base64) |
| `get_analytics` | List analytics records, filtered by post or platform. | `GET /api/v1/analytics` |
| `get_post_analytics` | Every analytics record for one post. | `GET /api/v1/analytics?post_id=` |
| `list_platforms` | The social accounts connected to a workspace. | `GET /api/v1/platforms` |
| `list_workspaces` | Every workspace you belong to, so one agent can act for several brands. | `GET /api/v1/workspaces` |
| `get_workspace_info` | The current workspace name and plan. | `GET /api/v1/workspace` |

## Tips for agents

- Call `list_platforms` before `create_post` and use the returned platform keys.
- Write a version per platform in `platform_content`; that is the text that publishes.
- Leave out `scheduled_at` to create drafts a person reviews in Postprism. Add it only when the user asked to schedule.
- Upload files with `upload_media` (base64, up to 10 MB) and pass the returned `url` in `media`.
- Pass `workspace_id` from `list_workspaces` to work on another brand or client.
