WPConvert MCP

ai.wpconvertPublished by wpconvert.aiOfficial publisherv0.4.1Updated Nov 3, 2026

Convert websites to WordPress themes: connect by URL or run locally; preview, buy, download.

VerifiedStreamable HTTPWeb executableDeveloper ToolsBusiness & CommerceMedia & Design

Overview

AI-generated overview

WPConvert MCP turns a local project folder into a WordPress theme, with job status, previews, plans and checkout handled from the chat.

What you can do
  • Zip a local folder and start a WordPress theme conversion, with an idempotency key for safe retries
  • Check job status through the conversion pipeline and explain why a job failed
  • Download a finished theme as a zip file to disk
  • Create a temporary WordPress Playground link to view a converted theme in the browser
  • Check account quota, capabilities and free guest previews before converting
  • Connect as a guest or signed-in user, list plans and prices, and create a Stripe checkout link
When to use it
Useful when you have a static site or front-end project folder and want an assistant to turn it into an installable WordPress theme without zipping and uploading by hand. It also suits trying the service through free guest previews before deciding whether to buy a plan or credits.
Requirements
Runs as a remote endpoint or as a local npm package (npx @wpconvert/mcp) needing Node.js 18 or newer. An API key is optional: without WPCONVERT_API_KEY the assistant offers a guest or sign-in link, and sign-in saves a key to a local config file. Downloads require a paid plan or credits.
Before you install
The server reads and uploads a local folder to a third-party service; default exclusions cover node_modules, build output and secrets, but review what the folder contains first. Buying plans or credits goes through a Stripe checkout link the user opens and pays themselves. Guest uploads are capped and preview links expire after about ten minutes and are sensitive.

Installation

In SourceWeft

  1. Open WPConvert MCP in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/ai.wpconvert%2Fmcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "wpconvert": {
      "type": "http",
      "url": "https://mcp.wpconvert.ai/mcp"
    }
  }
}

README

@wpconvert/mcp

A Model Context Protocol server for WPConvert.ai. It lets an AI agent (Cursor, Claude Code, Claude Desktop, etc.) convert the current workspace folder into a WordPress theme — no manual zipping required.

It's a thin wrapper over the same HTTP API and smart-zip logic as the wpconvert CLI.

Requires Node.js >= 18. No API key is needed to start: the agent can give you a link for a few free guest previews (one quick human check in the browser, no account), or for signing in. Downloads need Starter, Pro, Agency or pay-as-you-go credits, which you can buy from the same conversation.

Tools

ToolPurpose
wpconvert_convert_folderZip a folder (excluding node_modules, build output, secrets) and start a conversion. Returns a jobId.
wpconvert_check_statusPoll a job's status. Persisted values follow the OpenAPI ConversionStatus enum (queued, pipeline stages, done, failed). The tool-layer bucket processing means still in progress — not a persisted API value.
wpconvert_download_resultDownload a completed conversion to disk.
wpconvert_create_previewGet a WordPress Playground URL to view the theme in a live in-browser WordPress. The link expires after about ten minutes and is sensitive — open it in a browser.
wpconvert_explain_failureReturn the failure reason for a failed job.
wpconvert_quotaShow quota, capabilities, and recommended_next. Call before converting. For a guest session, shows free previews left.
wpconvert_connectStart a browser link: kind: "guest" (free previews, no account) or kind: "login" (sign in; saves a new API key locally). Returns a link and code for you to open — the agent never opens it.
wpconvert_connect_statusCheck whether you finished the link (waits ~20s), and how WPConvert is connected now.
wpconvert_plansEvery option with what it includes and today's price: Starter (one theme), Pro, Agency (monthly/yearly), pay-as-you-go packs. Pass jobId for options to unlock that conversion.
wpconvert_checkoutA Stripe checkout link for the option you picked. Needs a signed-in account. You open and pay; the agent never pays.

Configure (Claude Code)

bash
claude mcp add wpconvert --scope user -- npx -y @wpconvert/mcp

--scope user makes the server available in every project. Confirm with claude mcp list (wpconvert … ✔ Connected) or /mcp inside a session. Then ask the agent to convert a folder; it will offer a guest link or a sign-in link.

To use an existing API key instead, add it before the --, after the server name: claude mcp add wpconvert --scope user -e WPCONVERT_API_KEY=wpc_live_xxx -- npx -y @wpconvert/mcp (-e accepts several values, so put the name first).

Configure (Cursor / Claude Desktop)

json
{  "mcpServers": {    "wpconvert": {      "command": "npx",      "args": ["-y", "@wpconvert/mcp"]    }  }}

Optional env: WPCONVERT_API_KEY (an existing key; it takes precedence over a key saved by sign-in) and WPCONVERT_API_BASE (a non-default API host, for testing).

Sign-in and guest sessions are saved in ~/.wpconvert/config.json (mode 0600), shared with the wpconvert CLI. Tool results never include the key, the guest token or the link's device code.

Typical agent flow

Quota-first (recommended):

  1. wpconvert_quota → review capabilities (conversion mode, can_start, download availability) and recommended_next
  2. wpconvert_convert_folder { "path": "./my-site", "type": "theme" } → jobId + idempotency_key + recommended_next
  3. wpconvert_check_status { "jobId": "..." } (repeat until done; follow recommended_next — usually poll every ~15s)
  4. When recommended_next.tool is wpconvert_download_result → download the theme .zip
  5. When preview-only or download locked → wpconvert_create_preview for a WordPress Playground URL (no ZIP)

If conversion is blocked (can_start: false), wpconvert_convert_folder returns a structured denial before zipping or submitting. Call wpconvert_quota to review recommended_action.

No key yet (guest):

  1. wpconvert_convert_folder → recommended_next: wpconvert_connect { "kind": "guest" }
  2. wpconvert_connect { "kind": "guest" } → the agent shows you a link and code; you open it and confirm you're human
  3. wpconvert_connect_status → connected, with free previews left
  4. wpconvert_convert_folder, wpconvert_check_status, then wpconvert_create_preview to see it in WordPress Playground (guest uploads up to 50MB zipped; never retried automatically, since each upload uses a preview)

Buying (download a theme, or a plan):

  1. wpconvert_plans { "jobId": "..." } → every option and price; the agent asks you which one
  2. Not signed in? wpconvert_connect { "kind": "login" }, then wpconvert_connect_status, then wpconvert_plans again
  3. wpconvert_checkout with your choice's checkout_arguments → a Stripe link you open and pay
  4. wpconvert_check_status → once paid, recommended_next is wpconvert_download_result. Guest themes you buy move to your account.

Capabilities and structured responses

Tools return human-readable prose plus a trailing JSON block (same ok() / fail() pattern as before). Key fields:

FieldWhereMeaning
quotawpconvert_quotaFull backend quota body (unknown future fields preserved)
summaryquota, denialsProjected can_start, mode, consumes, download_available
capabilities_availablequotafalse on legacy backends without capabilities.conversion
recommended_nextall tools{ tool, reason, retry_after_seconds? } — which MCP tool to call next
next_actionconvert successString (unchanged) — human guidance for agents
idempotency_keyconvertOmitted on preflight denial (no key generated)

Status recommended_next rules:

  • queued, pipeline stages, or tool-layer processing → wpconvert_check_status (poll)
  • done + downloadable → wpconvert_download_result
  • done + preview-only / download locked → wpconvert_create_preview (never download); the reason names wpconvert_plans for unlocking
  • done + guest (guest: true, remaining_previews) → wpconvert_create_preview, then wpconvert_plans to buy
  • failed → wpconvert_explain_failure

Idempotency recovery

  • Leave idempotency_key blank for a new intentional conversion.
  • If a prior wpconvert_convert_folder call timed out or returned an ambiguous network error, retry with the exact idempotency_key from that call — do not omit it and do not invent a new one.
  • Do not reuse a key for changed files, options, or a deliberate new conversion.
  • Preflight runs after path/plan validation but before key generation (when omitted), ZIP build, and submit — so blocked accounts never upload.

Preview-only / download locked

Free developer previews and guest previews are preview-only (Playground, no ZIP download). When download_available is false or preview_only is true, status and download tools recommend wpconvert_create_preview, wpconvert_plans or wpconvert_quota — not download retry.

Dependency pin

This package pins [email protected] exactly for shared capability helpers (resolveConvertPreflight, quota formatters).

Source: packages/mcp/README.md at commit b47ab0a

Tools

10

wpconvert_convert_folder

Zip a local folder (excluding node_modules, build output, and secrets by default) and start a WordPress theme conversion. Call wpconvert_quota first to review capabilities (mode, credits, download availability). Returns a jobId and an idempotency_key. Leave idempotency_key blank for a new intentional conversion. If a prior call may have timed out or returned an ambiguous network error, retry with the exact idempotency_key returned by that prior call — do not omit it and do not invent a new one. Do not reuse a key for changed files, options, or a deliberate new conversion. Once you have a jobId, poll wpconvert_check_status until "done", then follow recommended_next for download or preview. Without an API key it uses the guest session from wpconvert_connect (free previews, up to 50MB zipped); with neither it returns recommended_next wpconvert_connect.

ParametersnamepathrequiredtypeincludeEnvmaxAssetSizeMBidempotency_key

wpconvert_check_status

Check the status of a conversion job. Returns persisted status per the OpenAPI ConversionStatus enum (queued, analyzing, building, rendering, labeling, generating, validating, uploading, done, failed). The tool-layer bucket `processing` means still in progress — it is not a persisted API value. Also returns progress, download/preview availability, and recommended_next (which tool to call next). When done and downloadable, recommended_next points to wpconvert_download_result; for preview-only jobs it points to wpconvert_create_preview instead.

ParametersjobIdrequired

wpconvert_download_result

Download a completed conversion to disk. Only use when wpconvert_check_status shows download_available and recommended_next is wpconvert_download_result. Returns the saved file path. For preview-only jobs, use wpconvert_create_preview or upgrade and re-convert instead.

ParametersjobIdrequiredoutDir

wpconvert_create_preview

Create a WordPress Playground preview link for a completed conversion so the user can view the theme running in a live, in-browser WordPress (no local install). Returns a URL the user must open in a browser — you cannot embed or render it yourself. The link expires after about ten minutes and grants temporary access to the theme, so treat it as sensitive.

ParametersjobIdrequired

wpconvert_explain_failure

Return the failure reason for a failed conversion job. Distinguishes status retries, recovering a submission with the same idempotency_key via wpconvert_convert_folder, and starting a deliberate new conversion without that key.

ParametersjobIdrequired

wpconvert_quota

Show account quota, capabilities (conversion mode, can_start, download availability), and recommended_next. Call this before wpconvert_convert_folder to understand what the next conversion will consume. For a guest session it shows the free previews left.

Takes no parameters.

wpconvert_connect

Connect WPConvert without an API key. kind "guest": the user confirms they are human once in the browser and gets a few free previews (no account; downloads need a purchase). kind "login": the user signs in or creates an account in the browser and types the code shown, and a new API key is saved locally. Returns a link and a short code. Show both to the user and ask them to open the link; never open it yourself. Then call wpconvert_connect_status.

Parameterskindrequired

wpconvert_connect_status

Check whether the user finished the wpconvert_connect link (waits up to about 20 seconds). Call it again while it says "waiting". Also reports how WPConvert is connected now: guest (with previews left) or account (with a masked email). Never returns the token or key.

Takes no parameters.

wpconvert_plans

List what the user can buy: Starter (unlock one theme), Pro, Agency (monthly or yearly) and pay-as-you-go credit packs, with what each includes and today's price. Pass jobId to see options for unlocking that conversion. Show all options to the user and let them choose; do not pick for them. Then call wpconvert_checkout with the checkout_arguments of their choice.

ParametersjobId

wpconvert_checkout

Create a Stripe checkout link for the option the user picked from wpconvert_plans. Call this only after the user has chosen; pass that choice's checkout_arguments unchanged. Needs a signed-in account (wpconvert_connect kind "login"). Returns a link the user opens to pay; never open it yourself and never pay on their behalf.

ParameterskindrequiredjobIdintervalpackSize

Version history

4
  1. v0.4.1LatestOct 26, 2026
  2. v0.4.0Oct 20, 2026
  3. v0.3.2Oct 19, 2026
  4. v0.3.1Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts