Blog posts on Duda
Duda blog posts use the same MCP tools as WordPress — create_draft,
update_draft, schedule_draft, unschedule, list_drafts, get_post.
The adapter dispatches by site.platform.
Prerequisites
Section titled “Prerequisites”- Duda Team plan or higher (required for API access)
DUDA_API_USER+DUDA_API_PASSsecrets set on the worker- Site registered with
platform: dudaandduda_site_nameset - Blog already exists on the Duda site (Duda creates the blog object on first draft if missing, but the post types editor must be enabled)
Create a draft
Section titled “Create a draft”create_draft site_id="<duda-site-id>" title="Welcome to our new site" content_md="Hello world..." tags=["launch", "announcement"] author="Sarah" featured_image_url="https://cdn.example.com/hero.jpg"Duda specifics:
content_mdis converted to HTML then base64-encoded before POST to/api/sites/multiscreen/{site_name}/blog/posts/import. UTF-8 safe.tagsare string names (not IDs like WordPress). Worker passes them through.featured_image_urlbecomesmain_image.urlin the Duda payload. There’s no separateupload_mediastep.- The post lands as
DRAFT. The worker refuses any path that would publish immediately.
Schedule
Section titled “Schedule”schedule_draft site_id="<duda-site-id>" post_id="abc-1234" scheduled_at="2026-06-10T08:00:00Z"Lead time ≥ 60 seconds — past dates or near-now timestamps throw
ForbiddenOperationError.
Unschedule
Section titled “Unschedule”unschedule site_id="<duda-site-id>" post_id="abc-1234"Moves a scheduled post back to draft. No published-→draft path because the
worker can’t reach published posts (Duda’s /posts list endpoint returns
PUBLISHED items, but the unschedule call is gated by status check).
What’s NOT available on Duda
Section titled “What’s NOT available on Duda”upload_media— Duda accepts image URLs onlylist_taxonomies/create_taxonomy— Duda tags are free-form stringscreate_page_from_code— code-first pages are WordPress-onlylist_page_templates— Duda has its own template system not exposed via REST
See Duda pages for the Pages v2 workflow.