Notipo
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.
| Author | io.github.kfuras |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 500 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Notipo": {
"url": "https://app.notipo.com/api/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (13)
list_postsread-onlyList all posts for your Notipo account. Returns title, status, WordPress URL, category, and timestamps.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
get_postread-onlyGet details of a specific post by ID, including status, WordPress URL, and category.
Parameters:
postId(required) — string — The post ID
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
create_postCreate a new blog post. Creates a Notion page and triggers sync to WordPress. The body should be markdown. Set publish=true to publish immediately, or leave false to create a draft.
Parameters:
title(required) — string — Post titlebody— string — Post content in markdownslug— string — Custom URL slugtags— array — Tag namespublish— boolean — Publish immediately (true) or create as draft (false)category— string — Category nameseoKeyword— string — SEO focus keywordseoDescription— string — Custom meta description for SEO (max 160 chars). Auto-derived from content if not set.
Hints: read-only no · destructive no · idempotent not declared · open-world not declared
direct_publishPublish a blog post directly to WordPress without Notion. Handles image uploads, Gutenberg conversion, featured image generation, and SEO metadata. Body must be markdown. Set publish=true to go live, false for draft. Use this instead of create_post when you don't need Notion.
Parameters:
title(required) — string — Post titlebody(required) — string — Post content in markdown (required)slug— string — Custom URL slugtags— array — Tag namespublish— boolean — Publish immediately (true) or create as draft (false)category— string — Category nameimageTitle— string — Featured image title/text overlayseoKeyword— string — SEO focus keywordseoDescription— string — Custom meta description for SEO (max 160 chars)
Hints: read-only no · destructive no · idempotent not declared · open-world not declared
update_postUpdate an existing post's content or properties in Notion, then re-sync to WordPress. Only provided fields are updated.
Parameters:
postId(required) — string — The post ID to updatebody— string — New content in markdown (replaces entire body)slug— string — New URL slugtags— array — New tag namestitle— string — New titlepublish— boolean — Set true to also publish after updatingcategory— string — New category nameseoKeyword— string — New SEO focus keywordseoDescription— string — New meta description for SEO (max 160 chars)
Hints: read-only no · destructive no · idempotent not declared · open-world not declared
publish_postPublish a draft post to WordPress (make it live).
Parameters:
postId(required) — string — The post ID to publish
Hints: read-only no · destructive no · idempotent not declared · open-world not declared
delete_postdestructiveDelete a post from Notipo, WordPress, and reset the Notion page status. This cannot be undone.
Parameters:
postId(required) — string — The post ID to delete
Hints: read-only no · destructive yes · idempotent not declared · open-world not declared
list_categoriesread-onlyList all WordPress categories synced to Notipo. Use these names when creating posts.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
list_tagsread-onlyList all WordPress tags synced to Notipo. Use these names when creating posts.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
get_jobread-onlyCheck the status of a sync or publish job. Returns status (PENDING, RUNNING, COMPLETED, FAILED), progress steps, and any error message.
Parameters:
jobId(required) — string — The job ID returned from create_post, update_post, or publish_post
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
list_jobsread-onlyList recent sync and publish jobs. Useful for monitoring pipeline activity.
Parameters:
limit— number — Number of jobs to return (default 10)status— string — Filter by job status
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
get_settingsread-onlyGet your Notipo account configuration: which services are connected (Notion, WordPress), current plan, feature settings, and trigger statuses.
Hints: read-only yes · destructive no · idempotent not declared · open-world not declared
sync_nowTrigger an immediate sync from Notion. Checks for any posts with trigger statuses and queues sync jobs. Pro plan only. Has a 15-second cooldown between calls.
Hints: read-only no · destructive no · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.