Notipo
Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"notipo": {
"url": "https://app.notipo.com/api/mcp"
}
}
}Remote-Endpunkte
https://app.notipo.com/api/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (13)
🟢list_posts
List all posts for your Notipo account. Returns title, status, WordPress URL, category, and timestamps.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"posts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "string",
"description": "DRAFT | PUBLISHED | SYNCED | FAILED, etc."
},
"wpUrl": {
"type": [
"string",
"null"
]
},
"category": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
}
},
"required": [
"id",
"title",
"status",
"wpUrl",
"category",
"createdAt",
"updatedAt"
],
"additionalProperties": false
}
}
},
"required": [
"posts"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_post(postId)
Get details of a specific post by ID, including status, WordPress URL, and category.
Eingabe-Schema
{
"type": "object",
"properties": {
"postId": {
"type": "string",
"description": "The post ID"
}
},
"required": [
"postId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "string",
"description": "DRAFT | PUBLISHED | SYNCED | FAILED, etc."
},
"wpUrl": {
"type": [
"string",
"null"
]
},
"category": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"wpPostId": {
"type": [
"number",
"null"
]
},
"notionPageId": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"title",
"status",
"wpUrl",
"category",
"createdAt",
"updatedAt",
"wpPostId",
"notionPageId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡create_post(title, body, category, tags, seoKeyword, ...)
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.
Eingabe-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#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "Use get_job to poll status"
},
"notionPageId": {
"type": "string"
}
},
"required": [
"jobId",
"notionPageId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡direct_publish(title, body, category, tags, seoKeyword, ...)
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.
Eingabe-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#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "Use get_job to poll status"
}
},
"required": [
"jobId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡update_post(postId, title, body, category, tags, ...)
Update an existing post's content or properties in Notion, then re-sync to WordPress. Only provided fields are updated.
Eingabe-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#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "Use get_job to poll status"
}
},
"required": [
"jobId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡publish_post(postId)
Publish a draft post to WordPress (make it live).
Eingabe-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#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"jobId": {
"type": "string",
"description": "Use get_job to poll status"
}
},
"required": [
"jobId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴delete_post(postId)
Delete a post from Notipo, WordPress, and reset the Notion page status. This cannot be undone.
Eingabe-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#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"deleted": {
"type": "boolean"
}
},
"required": [
"deleted"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_categories
List all WordPress categories synced to Notipo. Use these names when creating posts.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"categories": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"wpCategoryId": {
"type": [
"number",
"null"
]
}
},
"required": [
"id",
"name",
"wpCategoryId"
],
"additionalProperties": false
}
}
},
"required": [
"categories"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_tags
List all WordPress tags synced to Notipo. Use these names when creating posts.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"wpTagId": {
"type": [
"number",
"null"
]
}
},
"required": [
"id",
"name",
"wpTagId"
],
"additionalProperties": false
}
}
},
"required": [
"tags"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_job(jobId)
Check the status of a sync or publish job. Returns status (PENDING, RUNNING, COMPLETED, FAILED), progress steps, and any error message.
Eingabe-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#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"description": "SYNC_POST | PUBLISH_POST"
},
"status": {
"type": "string",
"description": "PENDING | RUNNING | COMPLETED | FAILED"
},
"error": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": "string"
},
"completedAt": {
"type": [
"string",
"null"
]
},
"result": {
"anyOf": [
{},
{
"type": "null"
}
]
},
"startedAt": {
"type": [
"string",
"null"
]
},
"post": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"status": {
"type": "string"
},
"wpUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"title",
"status",
"wpUrl"
],
"additionalProperties": false
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"type",
"status",
"error",
"createdAt",
"completedAt",
"startedAt",
"post"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_jobs(status, limit)
List recent sync and publish jobs. Useful for monitoring pipeline activity.
Eingabe-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#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"jobs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"type": {
"type": "string",
"description": "SYNC_POST | PUBLISH_POST"
},
"status": {
"type": "string",
"description": "PENDING | RUNNING | COMPLETED | FAILED"
},
"error": {
"type": [
"string",
"null"
]
},
"createdAt": {
"type": "string"
},
"completedAt": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"type",
"status",
"error",
"createdAt",
"completedAt"
],
"additionalProperties": false
}
}
},
"required": [
"jobs"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_settings
Get your Notipo account configuration: which services are connected (Notion, WordPress), current plan, feature settings, and trigger statuses.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"notionConnected": {
"type": "boolean"
},
"wordpressConnected": {
"type": "boolean"
},
"plan": {
"type": "string",
"description": "FREE | TRIAL | PRO"
},
"wpSeoPlugin": {
"type": [
"string",
"null"
],
"description": "RANK_MATH | YOAST | SEOPRESS | AIOSEO"
},
"codeHighlighter": {
"type": [
"string",
"null"
]
}
},
"required": [
"notionConnected",
"wordpressConnected",
"plan",
"wpSeoPlugin",
"codeHighlighter"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪sync_now
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.
Eingabe-Schema
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Ausgabe-Schema
{
"type": "object",
"properties": {
"triggered": {
"type": "boolean"
},
"message": {
"type": "string"
}
},
"required": [
"triggered",
"message"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Community
Nachweis