Clearon WordPress MCP
Provides controlled publishing and content management for WordPress sites through the WordPress REST API, including reading and finding posts, creating and updating posts from reviewed payloads, uploading media, scheduling, publishing, and resolving duplicate posts with verification and rollback safeguards.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Clearon WordPress MCPDry-run the WordPress payload at ./drafts/my-post.json before publishing."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Clearon WordPress MCP
Local MCP server for controlled Clearon WordPress publishing through the WordPress REST API.
Safety model
Read tools may run directly.
Run
upsert_post_from_payloadindry_runmode before every write.Dry runs surface pending source-integrity review items from
payload.source_auditand warn when the live source-audit report is missing, mismatched, or still blocked; real writes requiresource_audit, re-hash the payload content, and re-check the live source-audit report before writing.Contradictory source-audit states are rejected. A payload or live report cannot be both
ready_for_publish_or_update: trueand still blocked by pending findings orpublish_update_gate.blocked. Approved reports may still retainpublish_update_review_required_findingsas historical evidence.Only an exact slug, a valid
wordpress_post_id, or anexplicit_target_idcan authorize an update, and stored or explicit IDs are rejected when exact-slug evidence points to a different post. Title and near-slug matches produce a conflict for human review.Publishing and scheduling require a featured image. Local media is uploaded and attached before the final public post update.
New posts are created as drafts and promoted only after prerequisites succeed. Existing live posts are not modified until the final combined update.
publish_nowrefuses already-published targets so it cannot silently reset publication dates on a live post.After the final write, the server re-fetches the post and verifies its slug, canonical link, status, featured image, share block, supplied publication date, and featured-image social metadata.
On a later failure, newly created drafts are trashed, newly uploaded media is deleted, and a modified existing post is restored from its pre-write snapshot when verification proves the result is wrong.
Payload and image paths must resolve inside the configured workspace root. Set
CLEARON_WP_MCP_WORKSPACEwhen the process is not already started from that workspace; symlinks cannot escape the resolved root.Image uploads accept JPG, PNG, WebP, and GIF files up to 20 MB and verify the file signature.
Writes are serialized within one MCP process by the payload slug plus any supplied post IDs so slug-based and ID-based writes against the same post do not race. This does not coordinate multiple independently running server processes.
Duplicate cleanup verifies numeric WordPress slug suffixes. Permanent deletion requires
confirm_permanent_delete: true.
Related MCP server: WordPress Content MCP
Tools
Read-only:
get_server_healthget_auth_modeget_endpoint_configget_postfind_postsaudit_slug_state
Writes:
upsert_post_from_payloadupload_mediapublish_nowresolve_duplicate_posts
publish_now is no longer a bare post-ID publish shortcut. It requires both post_id and payload_path, re-runs reviewed payload targeting, proves that the existing target already matches the reviewed payload content, re-checks the live source-audit gate, then publishes with the same verification and rollback path used by upsert_post_from_payload. When publish_at_local is omitted, the server stamps the current local time in WordPress YYYY-MM-DDTHH:mm:ss format.
The legacy direct mutation tools set_featured_image, upsert_share_block, and set_social_meta remain present only as disabled compatibility stubs. They return an error directing callers back to the reviewed payload workflow.
resolve_duplicate_posts supports:
trash: move a duplicate to WordPress trash; recoverabledraft: retain it as a draftprivate: retain it privatelydelete: permanently delete it; requiresconfirm_permanent_delete: true
Payload requirements
Payloads require non-empty title, slug, and content. Slugs must use lowercase letters, numbers, and hyphens. categories and tags, when supplied, must contain positive integer IDs.
Payload dry runs may proceed while source_audit.pending_publish_update_review_findings is non-empty, but non-dry-run writes require source_audit with a revision fingerprint that exactly matches the approved editorial revision when editorial_approval.sha256 is present, otherwise the current payload content fingerprint. They are blocked unless the latest live source-audit report for that slug also matches that same fingerprint, matches the payload title, is ready_for_human_approval, and is ready_for_publish_or_update.
Schedule mode requires a valid future date. Publish and schedule modes require one of:
featured_medialocal_featured_imagean existing featured image on the exact update target
Run and test
cd tools/clearon-wordpress-mcp
npm run syntax
npm test
node server.mjsSafe live smoke test:
CLEARON_WP_MCP_WORKSPACE=/absolute/path/to/workspace \
npm run smoke -- /absolute/path/to/workspace/path/to/payload.jsonThe smoke test initializes the MCP, checks health, and performs only a payload dry run.
Recommended workflow
Call
get_server_healthand confirmauth_modeis notmissing.Call
upsert_post_from_payloadwithmode: "dry_run". If the payload is still markeddraftbut you want dry-run checks for an eventual publish or schedule operation, passintended_mode.Resolve every conflict or warning, including any listed pending source-integrity approvals. Use
explicit_target_idonly after checking the candidate manually.Publish as a draft first for editorial review when practical.
Use
publish,draft, orscheduleonly when the dry run identifies the intended target and image and the live source-audit gate is clear.Use
publish_nowonly for an already prepared exact target post and pass the same reviewed payload path used for the dry run.Review the returned
verificationresult, then callaudit_slug_stateas an independent live-state check.
Authentication
The server checks:
WP_AUTHWP_USERplusWP_APP_PASSWORDclearonWordPress.wpAuthinOPENCLAW_LOCAL_SECRETSor~/.openclaw/secrets/local.json
Credentials are sent only in the WordPress REST authorization header and are not returned by MCP tools or written to logs.
Failure and recovery
A failed local image validation performs no WordPress write.
A failed upload performs no post write.
Cleanup after a failed later step is best-effort: newly uploaded media is deleted, new drafts are trashed, and verified mismatches on existing posts trigger rollback plus a rollback verification read.
If WordPress accepts the final write but all three verification reads fail, the server does not guess or roll back an unknown state. It reports that a manual
audit_slug_stateis required before retrying.If the final write response is lost or times out, the server treats WordPress state as unknown, skips cleanup assumptions, and requires
audit_slug_statebefore retrying.JSON logs go to
stderr. SetCLEARON_WP_MCP_LOG_LEVEL=infoordebugfor troubleshooting.
The server does not modify payload JSON files. WordPress state remains the source of truth and should be verified through audit_slug_state or your own live-state audit path.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables interaction with WordPress sites through the REST API, supporting content management for posts, pages, users, plugins, and custom post types with Application Password authentication.2,0132MIT
- FlicenseNot gradedqualityDmaintenanceEnables management of WordPress posts and pages including creating, updating, deleting, duplicating, scheduling, and bulk editing content through the WordPress REST API.
- AlicenseNot gradedqualityAmaintenanceEnables interaction with WordPress sites through the WordPress REST API via natural language, supporting single and multi-site management, content and taxonomy operations, media uploads, and more.93697GPL 3.0
- AlicenseAqualityBmaintenanceEnables comprehensive management of WordPress sites including posts, users, media, categories, tags, and site settings via the WordPress REST API.201Apache 2.0
Related MCP Connectors
Publish to self-hosted WordPress from AI agents: markdown, images, SEO, and Notion sync.
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kwgoodwin/clearon-wordpress-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server