MCP Tools Reference
All 30+ MCP tools available to the AI agent, with descriptions and parameters.
PromptWire ships with 30+ specialised MCP tools. You never need to call these directly — just describe what you want in Cursor chat and the agent selects the right tools automatically. The example prompts below show how you'd typically invoke each one.
Site inspection
| Tool | Description | Parameters |
|---|---|---|
pw_health | "Show me the site health check" Check ProcessWire connection, version, and page/template/field counts | — |
pw_list_templates | "What templates does this site have?" List all templates with field assignments | — |
pw_get_template | "Show me the fields on the blog_post template" Inspect a template's fields, family settings, and access rules | name |
pw_list_fields | "List all fields and show which templates use them" List all fields with types and optional usage counts | includeUsage |
pw_get_field | "What are the settings for the body field?" Get full field details: type, inputfield class, and settings | name |
pw_get_page | "Show me the content of the About page" Retrieve a page by ID or path with all custom field content | idOrPath includeFiles truncate summary |
pw_query_pages | "Find all blog posts published in the last 30 days" Find pages using ProcessWire selectors with full field data | selector |
pw_search | "Search the site for any pages mentioning 'pricing'" Full-text search across all page content | query limit |
pw_search_files | "Find any template files that reference the image field" Search PHP and template files in the site directory | query limit |
pw_export_schema | "Export the entire site schema so I can review it" Export the full site schema (templates + fields) as JSON or YAML | format |
Content sync
| Tool | Description | Parameters |
|---|---|---|
pw_page_pull | "Pull the latest blog post so I can edit it locally" Pull a page into a local sync directory as editable YAML | pageIdOrPath |
pw_page_push | "Push my About page changes back to ProcessWire" Push local YAML changes back to ProcessWire (local, remote, or both) | localPath dryRun force targets publish |
pw_pages_pull | "Pull all the blog posts so I can work on them offline" Pull multiple pages by selector, parent, or template | selector limit noParent |
pw_pages_push | "Push all my local changes back to ProcessWire" Push all changes in a sync directory tree at once | directory dryRun force |
pw_sync_status | "Which pages have I changed locally?" Check sync status of all pulled pages (clean, dirty, conflict) | directory |
pw_sync_reconcile | "I renamed some pages in ProcessWire — fix up the sync folders" Fix path drift, detect orphans, and repair sync directories | directory dryRun |
pw_validate_refs | "Check if any page references are broken in my synced content" Validate page references across synced content | target syncRoot |
Page management
| Tool | Description | Parameters |
|---|---|---|
pw_page_new | "Create a new FAQ page under /about/ using the basic-page template" Scaffold a new page locally with page.yaml and page.meta.json | template parentPath pageName title |
pw_page_init | "Repair the meta file for the About page sync directory" Initialise or repair page.meta.json for an existing sync directory | localPath template |
pw_page_publish | "Publish the new FAQ page to ProcessWire" Publish a scaffolded page to ProcessWire (local, remote, or both) | localPath dryRun published targets |
pw_pages_publish | "Publish all the new doc pages I've created" Publish all new page scaffolds in a directory at once | directory dryRun published |
Schema sync
| Tool | Description | Parameters |
|---|---|---|
pw_schema_pull | "Pull the schema so I have a local copy of all fields and templates" Pull field and template definitions from ProcessWire into local JSON files | — |
pw_schema_push | "Push the updated schema to ProcessWire" Push local schema files to ProcessWire (creates or updates fields and templates) | dryRun |
pw_schema_diff | "Has the schema changed since I last pulled it?" Diff local schema files against the live site | — |
pw_schema_compare | "Compare our local schema against production and flag differences" Compare schemas between two sites (e.g. local vs production) | source target |
pw_list_sites | "Which remote sites do I have configured?" List configured remote sites from .pw-sync/sites/ | — |
File sync
| Tool | Description | Parameters |
|---|---|---|
pw_file_sync | "Sync the blog post images up to production" Sync file and image field content between local and remote environments | localPath targets dryRun deleteRemoteOrphans |
Repeater Matrix
| Tool | Description | Parameters |
|---|---|---|
pw_matrix_info | "What content types are available in the page_builder matrix?" Get matrix field structure including types, fields, and labels | pageIdOrPath fieldName |
pw_matrix_add | "Add a text block to the page builder on the About page" Add a new item to a repeater matrix field | pageIdOrPath fieldName matrixType content dryRun |
Common behaviours
Several conventions apply across all write operations:
- Dry-run by default — all write operations preview changes without applying them. Ask the agent to "apply", "do it for real", or "run without dry-run" to execute.
- Force push — skips conflict detection when pushing. Use when you're certain your local version should overwrite the database.
- Target selection — push and publish operations can target
local,remote, orboth. The default depends on which environment variables you've configured.