WordPress MCP Server

create-post

Publish, draft, or schedule WordPress posts programmatically. Specify title, content, status, date, categories, tags, and more using REST API integrations with secure authentication.

Instructions

Create a new WordPress post

Input Schema

NameRequiredDescriptionDefault
authorNoThe ID for the author of the post
categoriesNoThe terms assigned to the post in the category taxonomy
commentStatusNoWhether or not comments are open on the postopen
contentYesThe content for the post
dateNoThe date the post was published, in the site's timezone
dateGmtNoThe date the post was published, as GMT
excerptNoThe excerpt for the post
featuredMediaNoThe ID of the featured media for the post
formatNoThe format for the poststandard
metaNoMeta fields
passwordYesWordPress application password
pingStatusNoWhether or not the post can be pingedopen
postPasswordNoA password to protect access to the content and excerpt
siteUrlYesWordPress site URL
slugNoAn alphanumeric identifier for the post unique to its type
statusNoA named status for the postdraft
stickyNoWhether or not the post should be treated as sticky
tagsNoThe terms assigned to the post in the post_tag taxonomy
templateNoThe theme file to use to display the post
titleYesThe title for the post
usernameYesWordPress username

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "author": { "description": "The ID for the author of the post", "type": "number" }, "categories": { "description": "The terms assigned to the post in the category taxonomy", "items": { "type": "number" }, "type": "array" }, "commentStatus": { "default": "open", "description": "Whether or not comments are open on the post", "enum": [ "open", "closed" ], "type": "string" }, "content": { "description": "The content for the post", "type": "string" }, "date": { "description": "The date the post was published, in the site's timezone", "type": "string" }, "dateGmt": { "description": "The date the post was published, as GMT", "type": "string" }, "excerpt": { "description": "The excerpt for the post", "type": "string" }, "featuredMedia": { "description": "The ID of the featured media for the post", "type": "number" }, "format": { "default": "standard", "description": "The format for the post", "enum": [ "standard", "aside", "chat", "gallery", "link", "image", "quote", "status", "video", "audio" ], "type": "string" }, "meta": { "additionalProperties": {}, "description": "Meta fields", "type": "object" }, "password": { "description": "WordPress application password", "type": "string" }, "pingStatus": { "default": "open", "description": "Whether or not the post can be pinged", "enum": [ "open", "closed" ], "type": "string" }, "postPassword": { "description": "A password to protect access to the content and excerpt", "type": "string" }, "siteUrl": { "description": "WordPress site URL", "format": "uri", "type": "string" }, "slug": { "description": "An alphanumeric identifier for the post unique to its type", "type": "string" }, "status": { "default": "draft", "description": "A named status for the post", "enum": [ "publish", "future", "draft", "pending", "private" ], "type": "string" }, "sticky": { "description": "Whether or not the post should be treated as sticky", "type": "boolean" }, "tags": { "description": "The terms assigned to the post in the post_tag taxonomy", "items": { "type": "number" }, "type": "array" }, "template": { "description": "The theme file to use to display the post", "type": "string" }, "title": { "description": "The title for the post", "type": "string" }, "username": { "description": "WordPress username", "type": "string" } }, "required": [ "siteUrl", "username", "password", "title", "content" ], "type": "object" }
ID: 4g84e42ylk