wordpress_manage
Run one WordPress operation on the customer's own hosting service and return { ok, data, errors[], warnings[] }. Discovery flow: list_wordpress_operations to find the module, get_wordpress_module to see its operations and their parameters, then this tool to run one. Pass module, operation, params (that operation's parameters as a flat object), service_id (required for every module except "directory"; get it from list_services) and, for operations whose "requires" is "installation", installation_id from the sites module's list operation — never a file path, which this tool neither takes nor returns. Operations marked destructive answer error="confirm_required" until you pass confirm:true: tell the customer exactly what will change, get their agreement, then repeat the call. Operations marked async answer with task_id and status="running" — poll the sites module's operation_status with that task_id and the same installation_id. A service or installation the customer does not own returns error="not_found", the same as one that does not exist. error="invalid_params" names the offending parameter in param; error="backend_error" names the condition in reason; error="timeout" means the operation was stopped, so check the current state before retrying. Requires the hosting-management scope the customer already granted.
Invoked over the MCP transport with a tools/call request naming this tool.
Authorization #
Requires a valid OAuth 2.1 bearer access_token whose grant includes the cpanel:uapi scope — Manage your hosting account via cPanel — read and change settings on the cPanel features JetHost has enabled (this can modify your account). The broker resolves the caller from the token and returns only records the account owns.
Parameters #
Response #
200 · application/json
Errors #
| Result | When |
|---|---|
| { "error": "unknown_module" } | See the tool description for when this result is returned. |
| { "error": "unknown_operation" } | See the tool description for when this result is returned. |
| { "error": "not_found" } | The requested item does not exist, or it belongs to another account. Cross-account IDs are indistinguishable from missing ones by design. |
| { "error": "confirm_required" } | See the tool description for when this result is returned. |
| { "error": "invalid_params" } | See the tool description for when this result is returned. |
| { "error": "unsupported_operation" } | See the tool description for when this result is returned. |
| { "error": "backend_unavailable" } | See the tool description for when this result is returned. |
| { "error": "timeout" } | See the tool description for when this result is returned. |
| { "error": "backend_error" } | See the tool description for when this result is returned. |
| { "error": "internal_error" } | See the tool description for when this result is returned. |
| { "error": "module_not_enabled" } | See the tool description for when this result is returned. |