Oxyforge WordPress
Create, build and hand over real WordPress sites, hosted by Oxyforge on Google Cloud.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"wordpress": {
"url": "https://api.oxyforge.com/mcp"
}
}
}Remote endpoints
https://api.oxyforge.com/mcpstreamable-httpWhat it can do
Tool inventory
Tools (11)
🟡create_site(name, title, site_password, ref)
Create a new password-protected temporary WordPress site. No account needed. Returns the site name, a token (save it, it is shown once), the visitor login, the WordPress admin login and a claim link for the person.
Input Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "a short hint for the address, e.g. \"bakery\""
},
"title": {
"type": "string",
"description": "the WordPress site title"
},
"site_password": {
"type": "string",
"description": "visitor password, at least 8 characters; one is made up when left out"
},
"ref": {
"type": "string",
"description": "an Oxyforge affiliate code, only if the person gave you one (it goes on the claim link so their sign-up is credited)"
}
},
"additionalProperties": false
}🟢list_sites(token)
The sites in the Oxyforge account this connection belongs to (needs an account agent key, made in the members area under Connect MCP, my.oxyforge.com/mcp). Says whether the key may make changes.
Input Schema
{
"type": "object",
"properties": {
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
}
},
"additionalProperties": false
}🟡backup_site(site, token)
Take a backup of one of the account's sites now, before a risky change (account agent key that may make changes; one every few minutes per site).
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
}
},
"required": [
"site"
],
"additionalProperties": false
}🟢get_site(site, token)
State (provisioning, awake, asleep, ...), address, logins while unclaimed, claim link and clocks of a site.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
}
},
"required": [
"site"
],
"additionalProperties": false
}🟡run_wp_cli(site, token, command, stdin)
Run one WP-CLI command on the site, without the leading "wp", e.g. "post create --post_type=page --post_title=About --post_status=publish --porcelain". Put long content in stdin and use "-" as the file argument. eval, shell and db import/export are not available.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
},
"command": {
"type": "string",
"description": "the WP-CLI command line without \"wp\""
},
"stdin": {
"type": "string",
"description": "standard input for the command (optional)"
}
},
"required": [
"site",
"command"
],
"additionalProperties": false
}🟡write_file(site, token, path, content, content_base64)
Create or replace a file under wp-content/themes, wp-content/plugins or wp-content/uploads, e.g. path "themes/bakery/style.css". Folders are made as needed. Use content for text or content_base64 for binary (25 MB at most).
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
},
"path": {
"type": "string",
"description": "relative to wp-content, starting with themes/, plugins/ or uploads/"
},
"content": {
"type": "string"
},
"content_base64": {
"type": "string"
}
},
"required": [
"site",
"path"
],
"additionalProperties": false
}🟢read_files(site, token, path)
List a folder (a path without a file extension) or read a file under wp-content/themes, plugins or uploads.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
},
"path": {
"type": "string",
"description": "e.g. \"themes/bakery\" or \"themes/bakery/style.css\""
}
},
"required": [
"site",
"path"
],
"additionalProperties": false
}🔴delete_file(site, token, path)
Delete a file or folder under wp-content/themes, plugins or uploads.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
},
"path": {
"type": "string"
}
},
"required": [
"site",
"path"
],
"additionalProperties": false
}⚪login_link(site, token)
A one-use link into wp-admin, valid five minutes. The browser asks for the visitor login first.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
}
},
"required": [
"site"
],
"additionalProperties": false
}🔴clear_cache(site, token)
Clear the page and object cache if a change does not show.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
}
},
"required": [
"site"
],
"additionalProperties": false
}🔴delete_site(site, token)
Delete a site nobody has claimed yet. Cannot be undone.
Input Schema
{
"type": "object",
"properties": {
"site": {
"type": "string",
"description": "the site name, from create_site or list_sites"
},
"token": {
"type": "string",
"description": "the token create_site returned (oxa_...); leave out when Oxyforge is connected with an account agent key"
}
},
"required": [
"site"
],
"additionalProperties": false
}Community
Evidence