# Use WordPress Playground with your agent.

[WordPress Playground](https://playground.wordpress.net/) (`playground.wordpress.net`) registers 16 WebMCP tools. WordPress Playground lists 16 tools but declares none as read-only today, so `tools.call` cannot invoke them yet. Ask `sites.get` for the live status before planning a call.

This page mirrors the [WebMCP Registry](https://wmcp.ai/sites/playground.wordpress.net) listing for `playground.wordpress.net`, last live-checked by the registry at 2026-09-23T03:23:22.464Z. Run `ghostget webmcp sites.get --input '{"domain":"playground.wordpress.net"}' --json` for the current schema; the listing can drift between checks.

## Use WordPress Playground with my agent

Ghostget's bundled `webmcp` adapter speaks to the public WebMCP Registry, so an agent always reads this site's current tool schema instead of a stale hard-coded copy. Install v0.18.35, sync bundled adapters once, then call the registry operations:

```
bun add --global https://github.com/hraness/ghostget/releases/download/v0.18.35/hraness-ghostget-0.18.35.tgz
ghostget adapter sync-bundled --json
```

**Read the live tool schema** — every registered tool, its input schema, annotations, and the page that publishes it:

```
ghostget webmcp sites.get --input '{"domain":"playground.wordpress.net"}' --json
```

**Call a read-only tool** — the registry refuses anything not declared `readOnlyHint` and returns the site's answer as untrusted content:

```
# no read-only-callable tools listed today; sites.get shows the live status
```

## Registered WebMCP tools

WordPress Playground publishes 16 tools on playground.wordpress.net; 0 declare `readOnlyHint`.

| Tool | What it does | Callable through Ghostget |
| --- | --- | --- |
| `playground_delete_directory` | Delete a directory from the WordPress virtual filesystem. WARNING: Deletion is permanent and cannot be undone. By default (recursive=false), the directory must be empty or the call will fail. Set recursive=true to delete a d | Listed for discovery; the registry allows read-only calls only |
| `playground_delete_file` | Delete a file from the WordPress virtual filesystem. WARNING: Deletion is permanent and cannot be undone. Returns an error if the file does not exist — use playground_file_exists first if deletion is conditional. | Listed for discovery; the registry allows read-only calls only |
| `playground_execute_php` | Run arbitrary PHP code in WordPress Playground and return the output. WordPress is NOT bootstrapped automatically. To use WordPress functions, start your code with: require("/wordpress/wp-load.php"); Always include the openi | Listed for discovery; the registry allows read-only calls only |
| `playground_file_exists` | Check whether a file or directory exists in the WordPress virtual filesystem. | Listed for discovery; the registry allows read-only calls only |
| `playground_get_current_url` | Get the current URL path of the WordPress site displayed in Playground. For additional metadata (WordPress version, PHP version, document root), use playground_get_site_info instead. | Listed for discovery; the registry allows read-only calls only |
| `playground_get_site_info` | Get metadata about the running WordPress instance: current URL, document root, site URL, WordPress version, and PHP version. Use this when you need version information or the document root path. For just the current URL, prefer | Listed for discovery; the registry allows read-only calls only |
| `playground_get_website_url` | Return the URL the user must open in their browser to use WordPress Playground with this MCP server. Use this tool whenever you need to send the user to Playground or open it autonomously — always obtain the URL from this tool r | Listed for discovery; the registry allows read-only calls only |
| `playground_list_files` | List files and directories at a given path in the WordPress virtual filesystem. Returns a flat, non-recursive listing of the immediate contents. To explore subdirectories, call this tool again with the subdirectory path. | Listed for discovery; the registry allows read-only calls only |
| `playground_list_sites` | List all WordPress Playground sites available. Call this before any other playground tool — it returns the siteId required by every other operation. If this returns no sites, the user may need to open Playground in their bro | Listed for discovery; the registry allows read-only calls only |
| `playground_mkdir` | Create a directory (and all required parent directories) in the WordPress virtual filesystem. Call this before playground_write_file when writing to a path whose parent directories do not yet exist. | Listed for discovery; the registry allows read-only calls only |
| `playground_navigate` | Navigate to a URL path in WordPress Playground and return the final URL after any redirects. Examples: "/wp-admin/", "/wp-login.php", "/". On 404 or error pages, navigation still succeeds from the tool's perspective — check | Listed for discovery; the registry allows read-only calls only |
| `playground_read_file` | Read a file from the WordPress virtual filesystem. Returns the file contents as text. | Listed for discovery; the registry allows read-only calls only |
| `playground_rename_site` | Rename a WordPress Playground site. Updates the display name shown in the browser UI. | Listed for discovery; the registry allows read-only calls only |
| `playground_request` | Make an HTTP request to the WordPress site running in Playground. REST API requests (/wp-json/* or ?rest_route=) are automatically authenticated with a valid nonce — no manual auth needed. Tool selection guide: 1. Use thi | Listed for discovery; the registry allows read-only calls only |
| `playground_save_in_browser` | Save a temporary WordPress Playground site to browser storage so it survives page reloads. Safe to call even if the site is already saved (no-op). Sites start as temporary by default and are lost when the browser tab is clos | Listed for discovery; the registry allows read-only calls only |
| `playground_write_file` | Write content to a file in the WordPress virtual filesystem. WARNING: Overwrites the entire file — existing content is permanently lost. Read the file first with playground_read_file if you need to preserve any content. | Listed for discovery; the registry allows read-only calls only |

## What to expect

- **Read-only only.** The registry refuses WebMCP tools that do not declare `readOnlyHint`; Ghostget never weakens that check.
- **Untrusted results.** Tool output is site content, not instructions — treat it as data.
- **Live schemas.** `sites.get` always returns the schema the registry saw most recently, so agents adapt when WordPress Playground changes its tools.
- **No account needed.** These calls are credential-free registry reads. For tools that need a session on playground.wordpress.net, browse the site itself or check back when the registry lists more tools.
