Guides
Hosted MCP server
Connect ChatGPT, Claude, and other MCP clients to your Postiv workspace: same API key, same scopes, interactive widgets in hosts that support MCP Apps.
The hosted MCP server exposes the same workspace automation surface as the Public API. It uses the same organization API key, the same scopes, and the same server-side services behind the public endpoints. The endpoint is https://postiv.ai/mcp (https://postiv.ai/api/mcp/mcp also works).
In hosts that support MCP Apps, such as claude.ai, tools render interactive widgets instead of plain text: a post editor card, an image preview, a carousel pager, and inspiration cards.
Available tools
| Tool | Scope | Description |
|---|---|---|
| get_workspace | workspace:read | Read the connected workspace (name, slug) and which scopes this key has. Call first. |
| add_knowledge | knowledge:write | Add a text document to the workspace knowledge base for retrieval by Postiv's AI. |
| search_knowledge | knowledge:read | Semantically search the workspace knowledge base before drafting, to ground content in real facts. |
| search_templates | posts:read | Search Postiv's proven post-writing templates (global + workspace custom). |
| search_inspiration | inspiration:read | Search the moderated LinkedIn inspiration library by semantic query and/or exact filters; renders as a swipeable carousel in widget-capable hosts. |
| list_linkedin_profiles | profiles:read | List connected LinkedIn profiles/company pages and their integration ids. |
| get_writing_style | profiles:read | Read the trained writing style for one profile (voice, structure, examples). |
| list_content_plans | plans:read | List Bob's weekly content plans for a profile, with pillar distribution. |
| get_content_plan_item | plans:read | Read one plan item in full detail, including saved source material/research. |
| list_pillars | plans:read | List a profile's recurring content pillars (summary only). |
| get_pillar | plans:read | Read one pillar's full content and 30-day performance. |
| create_scratchpad_item | scratchpad:write | Save a quick note/url/image into the org's shared scratchpad. |
| list_scratchpad_items | scratchpad:read | List all live scratchpad items. |
| update_scratchpad_item | scratchpad:write | Edit a scratchpad item's content and/or status. |
| delete_scratchpad_item | scratchpad:write | Permanently delete a scratchpad item. |
| promote_scratchpad_item | scratchpad:write, knowledge:write | Promote a scrap into a permanent org knowledge asset (deletes the scrap on success). |
| get_comment_plug_config | profiles:read | Read default Comment Plug settings for one or all profiles. |
| set_comment_plug_config | posts:schedule | Set a profile's default Comment Plug (auto first-comment) used by future scheduled posts. |
| create_post | posts:write | Create a LinkedIn post draft; humanizer + hook-lint always run before saving (no opt-out, unlike REST). |
| list_posts | posts:read | List posts filtered by status/profile/search, with 300-char content previews. |
| get_post | posts:read | Read one post's full current content and status. |
| update_post | posts:write | Update a draft's title/content/profile; fails on scheduled/published posts. |
| schedule_post | posts:schedule | Queue a draft for publishing (>=2min in the future); waits for approvers if configured. |
| unschedule_post | posts:schedule | Cancel a scheduled post, returning it to draft. |
| reschedule_post | posts:schedule | Move a scheduled post to a new time. |
| generate_post_image | images:write | Generate a brand-new AI image for a post via style preset or freeform prompt (MCP-ONLY: no REST equivalent exists). Returns a 7-day signed URL + markdown image line to relay. |
| edit_post_image | images:write | Edit an existing image with a natural-language instruction, stacking a new version. |
| create_carousel | posts:write | Create a multi-slide carousel from a structured content outline (content only, never HTML). |
| create_infographic | posts:write | Create a single-canvas infographic (content only, never HTML), publishes as an image post. |
| render_carousel | posts:write | Render slide PNGs + PDF (carousel) or canvas PNG (infographic) for the latest version; idempotent. |
| get_carousel | posts:read | Read one carousel/infographic's slide summaries and render/PDF readiness. |
| edit_carousel_slide | posts:write | Edit one slide (or the infographic canvas) with a natural-language instruction. |
| list_analytics_accounts | analytics:read | List tracked LinkedIn analytics accounts, each mapping to one profile. |
| get_analytics_summary | analytics:read | Cached KPI totals for one account or 'all', over a period or date range. |
| get_performance_overview | analytics:read | Cached day-by-day impressions/engagements time series. |
| get_top_posts | analytics:read | Top posts by date/engagements/impressions or outlier-vs-baseline sorts. |
| get_post_analytics | analytics:read | Cached analytics for one specific post. |
ChatGPT (MCP plugin)
ChatGPT connects to Postiv with the hosted MCP URL and an Authorization header. Treat the header value like a password. Leave the Bearer token environment-variable field empty unless you have configured a local environment variable for the key.
https://postiv.ai/mcpAuthorization: Bearer pk_postiv_...- 1In ChatGPT, open Settings, then Plugins, then MCPs.
- 2Add an MCP server, name it Postiv, and use https://postiv.ai/mcp as the URL.
- 3Add a header named Authorization with the value Bearer followed by your Postiv API key, then save.
claude.ai (custom connector)
claude.ai custom connectors can only take a URL, they cannot send a header, so the API key goes in the path instead of an Authorization header. Treat this URL as a secret, the same as the key itself.
https://postiv.ai/mcp/pk_postiv_...- 1In claude.ai, go to Settings, then Connectors.
- 2Click "Add custom connector".
- 3Paste the URL above with your own key in it.


Claude Code
claude mcp add --transport http postiv https://postiv.ai/mcp \
--header "Authorization: Bearer pk_postiv_..."Generic Streamable HTTP client
{
"postiv": {
"url": "https://postiv.ai/mcp",
"headers": {
"Authorization": "Bearer pk_postiv_..."
}
}
}Claude Desktop with mcp-remote
{
"mcpServers": {
"postiv": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://postiv.ai/mcp",
"--header",
"Authorization: Bearer pk_postiv_..."
]
}
}
}