{"name":"io.github.kfuras/notipo","slug":"kfuras-notipo","title":"Notipo","description":"Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.","url":"https://mcp.market/server/kfuras-notipo","rating":null,"grade":"A","score":88,"certified":false,"status":"active","category":"seo","tags":["seo","productivity"],"presence":{"score":27,"stars":4,"forks":0,"downloads_week":null,"last_push_at":"2026-11-02T05:21:58.000Z","license":"AGPL-3.0"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-03T22:50:38.328Z","last_ok_at":"2026-11-03T22:50:38.328Z","latency_ms":233},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/kfuras/notipo-app","website":null,"version":"1.2.5","remotes":[{"type":"streamable-http","url":"https://app.notipo.com/api/mcp","headers":[{"description":"Your Notipo API key (create one at notipo.com → Settings → Account). The key scopes publishing to the blog that owns it.","isRequired":true,"isSecret":true,"name":"X-API-Key"}]}],"packages":[],"tools":[{"name":"create_post","description":"Create 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","description":"Post title"},"body":{"type":"string","description":"Post content in markdown"},"category":{"type":"string","description":"Category name"},"tags":{"type":"array","items":{"type":"string"},"description":"Tag names"},"seoKeyword":{"type":"string","description":"SEO focus keyword"},"seoDescription":{"type":"string","maxLength":160,"description":"Custom meta description for SEO (max 160 chars). Auto-derived from content if not set."},"slug":{"type":"string","description":"Custom URL slug"},"publish":{"type":"boolean","default":false,"description":"Publish immediately (true) or create as draft (false)"}},"required":["title"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"delete_post","description":"Delete a post from Notipo, WordPress, and reset the Notion page status. This cannot be undone.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"postId":{"type":"string","description":"The post ID to delete"}},"required":["postId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"direct_publish","description":"Publish 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"title":{"type":"string","description":"Post title"},"body":{"type":"string","description":"Post content in markdown (required)"},"category":{"type":"string","description":"Category name"},"tags":{"type":"array","items":{"type":"string"},"description":"Tag names"},"seoKeyword":{"type":"string","description":"SEO focus keyword"},"seoDescription":{"type":"string","maxLength":160,"description":"Custom meta description for SEO (max 160 chars)"},"imageTitle":{"type":"string","description":"Featured image title/text overlay"},"slug":{"type":"string","description":"Custom URL slug"},"publish":{"type":"boolean","default":false,"description":"Publish immediately (true) or create as draft (false)"}},"required":["title","body"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_job","description":"Check the status of a sync or publish job. Returns status (PENDING, RUNNING, COMPLETED, FAILED), progress steps, and any error message.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"jobId":{"type":"string","description":"The job ID returned from create_post, update_post, or publish_post"}},"required":["jobId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_post","description":"Get details of a specific post by ID, including status, WordPress URL, and category.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"postId":{"type":"string","description":"The post ID"}},"required":["postId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_settings","description":"Get your Notipo account configuration: which services are connected (Notion, WordPress), current plan, feature settings, and trigger statuses.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_categories","description":"List all WordPress categories synced to Notipo. Use these names when creating posts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_jobs","description":"List recent sync and publish jobs. Useful for monitoring pipeline activity.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"status":{"type":"string","enum":["PENDING","RUNNING","COMPLETED","FAILED"],"description":"Filter by job status"},"limit":{"type":"number","minimum":1,"maximum":50,"default":10,"description":"Number of jobs to return (default 10)"}},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_posts","description":"List all posts for your Notipo account. Returns title, status, WordPress URL, category, and timestamps.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_tags","description":"List all WordPress tags synced to Notipo. Use these names when creating posts.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"publish_post","description":"Publish a draft post to WordPress (make it live).","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"postId":{"type":"string","description":"The post ID to publish"}},"required":["postId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"sync_now","description":"Trigger 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"update_post","description":"Update an existing post's content or properties in Notion, then re-sync to WordPress. Only provided fields are updated.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"postId":{"type":"string","description":"The post ID to update"},"title":{"type":"string","description":"New title"},"body":{"type":"string","description":"New content in markdown (replaces entire body)"},"category":{"type":"string","description":"New category name"},"tags":{"type":"array","items":{"type":"string"},"description":"New tag names"},"seoKeyword":{"type":"string","description":"New SEO focus keyword"},"seoDescription":{"type":"string","maxLength":160,"description":"New meta description for SEO (max 160 chars)"},"slug":{"type":"string","description":"New URL slug"},"publish":{"type":"boolean","description":"Set true to also publish after updating"}},"required":["postId"],"additionalProperties":false,"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":88,"grade":"A","scanned_at":"2026-11-03T01:07:44.134Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-03T01:07:44.124Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 774ms"]},"poisoning":{"score":15,"max":15,"notes":["13 tool descriptions checked"]},"auth":{"score":8,"max":15,"notes":["API key sent as a header"]},"maintenance":{"score":15,"max":15,"notes":["last push 1 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"probes":[{"url":"https://app.notipo.com/api/mcp","reachable":true,"authRequired":false,"latencyMs":774,"serverInfo":{"name":"notipo","version":"1.2.5"}}],"packages":[],"repo":{"found":true,"owner":"kfuras","repo":"notipo-app","archived":false,"pushedAt":"2026-11-02T05:21:58Z","stars":4,"forks":0,"openIssues":4,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/7188679?v=4","ownerCreatedAt":"2014-04-05T12:13:36Z","license":"AGPL-3.0"},"icon":{"url":"https://app.notipo.com/icon.svg?icon.0j6e3xnys9k04.svg","source":"registry"},"presence":{"stars":4,"forks":0,"downloadsWeek":null,"license":"AGPL-3.0","lastPushAt":"2026-11-02T05:21:58.000Z","score":27}}}},"grade_history":[],"reviews":[]}