Introducing PromptWire for ProcessWire
PromptWire connects ProcessWire to Cursor IDE via MCP, giving AI agents direct read/write access to your site's structure, content, and files. Describe what you want in plain language and the agent builds it.
Peter Knight
9 April 2026
This post was written with AI assistance. The ideas, opinions, and technical decisions are mine. The tone of voice, content structure, and final copy are a mix of my prompts and AI-assisted drafting.
What if you could just ask?
Imagine typing this into your editor:
Build me a blog section at /blog/ with an index page and three sample posts. Posts should have a title, body, summary, and publish date. Dry-run everything first.
And your AI agent reads your ProcessWire schema, creates the template and fields if they don't exist, scaffolds the pages, populates them with content, and shows you a preview of every change before anything touches the database.

That's what PromptWire does. It connects ProcessWire to Cursor IDE via the Model Context Protocol (MCP), giving your AI agent direct read/write access to your site's structure, content, and files. You describe what you want in plain language. The agent figures out the rest.

How this started
In early 2025 I had a simple requirement: I wanted to be able to talk to my ProcessWire sites from inside my editor. Create pages, edit content, inspect templates, push changes between environments. The kind of thing you do in the admin every day, but from the place where you're already working.
I wasn't even sure it could be done until I asked an AI to help me build it. It turned out that not only was it possible, but ProcessWire's API already had everything needed to make it work. The selectors, the page manipulation, the field introspection, the template management; it was all there, waiting to be used. I'd just never had a reason to use ProcessWire programmatically from outside the admin before.
Once I did, it changed how I work. Adding pages, scaffolding entire new sections, creating blog posts and documentation, comparing schemas between local and production. Tasks that used to mean switching to the admin, clicking through forms, and repeating the process on each environment became a single sentence in Cursor chat.
Two parts, one module
PromptWire has two sides.
The MCP integration is the AI-powered side. It ships with 30+ specialised tools that your AI agent calls on your behalf. You don't need to know tool names or parameters. Just describe what you want and the agent reads your schema, picks the right tools, sequences the operations, and previews everything before applying.
The Admin dashboard is the visual side. It lives inside ProcessWire admin under Setup and shows your full page tree with sync status badges: which pages are synced, which have local changes, which have database changes, and which have conflicts. You can pull and push individual pages or in bulk, view diffs, and export pages to YAML for editing, all without leaving the browser.
What you can ask it to do
Here's a selection of real prompts that work today. Each one maps to one or more of PromptWire's MCP tools, but you never need to think about that.
Inspect your site:
- "Show me the site health check"
- "What templates does this site have?"
- "Find all blog posts published in the last 30 days"
- "Search the site for any pages mentioning 'pricing'"

Edit and sync content:
- "Pull the About page so I can edit it locally"
- "Rewrite the body to be more concise, then push the changes back"
- "Pull all blog posts so I can work on them offline"
- "Which pages have I changed locally?"
Create pages and structure:
- "Create a new FAQ page under /about/ using the basic-page template"
- "Build a documentation section with ten pages, each with a title and placeholder body"
- "Publish all the new pages I've created"
Manage schemas and environments:
- "Compare our local schema against production and flag anything that could cause problems"
- "Push the updated schema to ProcessWire"
- "Sync the blog post images up to production"
For more examples, see the Prompt Recipes page in the docs.
What happens on disk
When you pull a page, PromptWire creates a directory under site/assets/pw-mcp/ that mirrors the page's URL path. A page at /about/ becomes site/assets/pw-mcp/about/. Pull your whole site and you get a clean folder tree that matches your page structure.

Each directory contains three things:
page.yaml— all the page's field values in a clean, editable format.fields/— rich text fields likebodyare saved as separate HTML files (fields/body.html), so you can edit them with full syntax highlighting instead of wading through escaped strings in YAML.page.meta.json— a sidecar file that PromptWire uses to track sync state. This is where the clever bit lives.
The meta file stores two hashes: a revision hash (a SHA-256 snapshot of the page's database state at the time you pulled it) and a content hash (a hash of your local file). By comparing these against the current database and local file on every sync operation, PromptWire knows exactly what changed and where. If only the local file changed, it's "File Newer". If only the database changed, it's "Wire Newer". If both changed, it's a conflict, and you decide what to do.

These are standard files in your project directory. You can commit them to git, diff them between branches, and use them as a lightweight content versioning layer alongside your code. The page.meta.json files are generated on pull, so they're safe to .gitignore if you prefer.
Safety first
Giving an AI agent write access to your CMS sounds risky. I had the same concern when building this, so safety is baked into every write operation.
Dry-run by default. Every operation that changes data previews the result first. You see exactly what will be created, modified, or deleted before anything happens. Ask the agent to "apply" or "do it for real" only when you're satisfied.
Conflict detection. If you've edited a page locally and someone else has changed the same page in ProcessWire, PromptWire flags the conflict instead of silently overwriting either version. You decide how to resolve it.
Target selection. Push and publish operations can target local, remote, or both. You control exactly where changes go. There's no accidental push to production.
For teams working with remote or production sites, PromptWire uses API key authentication and supports IP allowlists. The full details are in the Security documentation.
The admin dashboard
Not everything needs AI. Sometimes you just want to see which pages are synced, grab a YAML export of a page to edit manually, or push a batch of changes from your local site to production.
The admin dashboard gives you that. It shows every page in your site tree with a status badge (Clean, File Newer, Wire Newer, Conflict, Untracked) and provides per-row actions: pull from ProcessWire to file, push from file to ProcessWire, or view the raw YAML. You can filter by template or page status, and run bulk operations across multiple pages at once.

I built this because I found myself wanting a quick way to synchronise content between environments without having to sync entire databases or rebuild sites. Pull a page on production, push it to staging, check the diff, then push to local. The dashboard makes that workflow visual and fast.
Built on ProcessWire's strengths
PromptWire isn't a layer that sits on top of ProcessWire pretending to be something else. It uses ProcessWire's own API for everything: $pages->find(), $templates->get(), $fields->get(), the same calls you'd make in a template file. The content sync stores pages as clean YAML files that map directly to ProcessWire's field structure. The schema sync exports and imports real ProcessWire field and template definitions.
If you know ProcessWire, you already understand what PromptWire is doing under the hood. There's no proprietary abstraction to learn.
Getting started
PromptWire is open source on GitHub. Installation takes about five minutes: clone the module, build the MCP server, add a few lines to your Cursor config, and you're connected. The Quickstart guide walks through every step.
The full documentation covers installation, configuration (including multi-site and hybrid local/remote setups), the content sync workflow, schema sync, all 30+ MCP tools, and more.
What's next
PromptWire is actively developed and I'm using it daily on real projects, including to build the documentation site you're reading this on. If you have feedback, feature requests, or questions, I'd genuinely like to hear them. Get in touch.