Notipo
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
**Open-source WordPress publishing for AI agents — MCP server, REST API, and CLI. Or sync from Notion.**
Point your agent (Claude, Cursor, ChatGPT, n8n, any HTTP client) at Notipo and it publishes to your self-hosted WordPress — no plugin required. Notipo handles the full pipeline: markdown → Gutenberg conversion, image hosting in your WordPress media library, AI- or Unsplash-generated featured images, and Rank Math / Yoast / SEOPress / AIOSEO metadata applied automatically on publish.
---
Two ways to publish to WordPress
1. From Notion
Connect Notion, change a page status to Post to Wordpress or Publish, and Notipo handles the rest — markdown extraction, image caching to WP media library, featured image generation, SEO metadata via Rank Math / Yoast / SEOPress / AIOSEO.
2. From an AI agent, REST API, CLI, or n8n workflow
Notipo exposes a **Model Context Protocol (MCP) server** with 13 tools for AI agents, plus a REST API and a CLI. Claude Desktop, Cursor, Windsurf, Claude Code, ChatGPT — any MCP-compatible agent can publish posts end-to-end.
See **notipo.com/ai-agents** for the full AI-agent integration story.
---
Hosted SaaS vs. self-hosting
The **hosted version at notipo.com** is the supported, batteries-included product — managed infrastructure, automatic upgrades, instant Notion webhook delivery, and a free tier with 5 posts/month. Pro is $19/month for unlimited posts plus AI featured images.
This repository is the same code that runs the hosted product. **You can self-host it** under the AGPL-3.0 license — see DEVELOPMENT.md for the local dev story and docker-compose.yml for production deployment with Traefik + Let's Encrypt.
Self-hosting is unsupported — no help beyond what's in this repo, no upgrade path. If you need any of those, the hosted product is faster, cheaper, and already running.
---
Tech stack
- **Backend:** Fastify, TypeScript, Prisma, PostgreSQL 17
- **Job queue:** pg-boss (Postgres-backed, no Redis)
- **Frontend (admin):** Next.js 16 + shadcn/ui + Tailwind
- **AI:** Google Gemini (featured images), Model Context Protocol (agent integration)
- **Other:** Sharp (images), Stripe (billing), Resend (transactional email), Sentry (errors), PostHog (product analytics), Notion SDK, WordPress REST API
- **CLI:** zero-dependency npm package, native fetch only
Monorepo (Turborepo + npm workspaces):
---
Quick start (self-host)
You'll need: Docker, Docker Compose, a domain pointed at your server, a Notion integration, and a WordPress site with Application Passwords enabled (WP 5.6+).
The compose stack pulls multi-arch images (linux/amd64 + linux/arm64) from
ghcr.io/kfuras/notipo-api and ghcr.io/kfuras/notipo-web, so it works on both
x86 servers and Apple Silicon / ARM hardware.
The compose stack starts Traefik + the API + admin UI + Postgres, with Let's Encrypt TLS on first run. See docker-compose.yml for details.
For local development without Docker:
See DEVELOPMENT.md for the full development guide.