# SpinupWP MCP Muse connector

From musedirectory.ai, the independent directory of Meta Muse connectors. Not affiliated with Meta.

## SpinupWP MCP

Manage SpinupWP servers and WordPress sites: monitor status, purge caches, restart services, and deploy code.

- Record: https://musedirectory.ai/connector/spinupwp-mcp
- Category: Developer Tools
- Developer: usefulapi (https://usefulapi.io/spinupwp/)
- Muse status: Extra setup. Not in Muse's Connectors list yet. Muse can still use it: its page gives you a request to paste into Muse.
- Health: Working, 60ms, checked 2026-10-29T10:45:49Z
- Endpoint: https://spinupwp.usefulapi.io/mcp
- Auth: No account needed; Pricing: unknown
- Screening: Screened, no issues found (2026-10-29T12:51:20Z)
- Source: Found in the official MCP Registry (io.usefulapi/spinupwp) https://registry.modelcontextprotocol.io/v0/servers?search=io.usefulapi%2Fspinupwp

Connects to SpinupWP hosting platform to list servers and sites, check their status and configuration, purge caches, restart services (nginx, PHP, MySQL, Redis), reboot servers, and trigger git deployments. Requires SpinupWP account.

Example request: "Purge the cache on my WordPress site and check if the deployment finished successfully."

How to connect: Not in Muse's Connectors list yet, but Muse can still use it. Paste this into Muse: "Use SpinupWP MCP to help me. It is a free service with an MCP server at https://spinupwp.usefulapi.io/mcp. It does not need an API key. Ask me before you share anything with it." Muse asks before it shares anything with the app's site. Meta does not review apps used this way, so only use ones you trust. We tested this in the Muse app on September 24, 2026: Muse used an app's link directly this way and returned a live answer.

Tools:
- spinupwp_list_servers: List the servers in your SpinupWP team: name, provider, region, size, IP, Ubuntu version, disk space, connection status and whether a reboot or upgrade is required. GET /servers.
- spinupwp_get_server: One server by id: provider, size, disk usage, database server, connection status, reboot/upgrade-required flags and install notes. GET /servers/{id}.
- spinupwp_list_sites: List sites across your servers (or one server): domain, PHP version, WordPress flag, HTTPS, page cache, backups, pending WordPress core/theme/plugin updates, git deploy settings and status. Deploy-trigger URLs are hidden. GET /sites.
- spinupwp_get_site: One site by id with its full settings: domains, PHP version, page cache, HTTPS, nginx options, database reference, backup schedule and storage, WordPress update counts, git repo/branch/deploy script, basic-auth username, cron and SpinupWP subdomain. The git deploy-trigger URL is 
- spinupwp_list_site_domains: The additional domains of a site, with their redirect settings (enabled, type, destination). GET /sites/{id}/domains.
- spinupwp_list_site_path_redirects: The path redirects configured on a site (from, to, type permanent/redirect). GET /sites/{id}/path-redirects.
- spinupwp_list_events: List recent events (the activity log: provisioning, restarts, deploys, cache purges) with who started them, status (queued, creating, updating, deleting, deployed, failed) and timestamps. Long command output is shortened; read one event for its full output. GET /events.
- spinupwp_get_event: One event by id, with status and command output. Use it to see whether a purge, restart or deploy (which reply with an event_id) has finished or failed. GET /events/{id}.
- spinupwp_list_storage_providers: The backup storage providers connected to the team (id, service, name). GET /storage-providers.
- spinupwp_list_team_ssh_keys: The team's saved SSH public keys (id, name, fingerprint, public key). Public keys only; read-only. GET /ssh-keys.
- spinupwp_purge_page_cache: WRITE: purge the nginx page cache of one site. Pages are rebuilt on the next visit, so the site may be slower for a moment; nothing is lost. Asynchronous: returns an event_id. POST /sites/{id}/page-cache/purge.
- spinupwp_purge_object_cache: WRITE: flush the Redis object cache of one site (the site must have object caching). The cache refills on demand. Asynchronous: returns an event_id. POST /sites/{id}/object-cache/purge.
- spinupwp_correct_file_permissions: WRITE: reset a site's files and folders to the permissions and ownership SpinupWP recommends (usually after a manual upload as the wrong user). Can take a while on big sites. Asynchronous: returns an event_id. POST /sites/{id}/file-permissions/correct.
- spinupwp_deploy_site_git: WRITE: pull the latest commit of the site's connected git branch and run its deploy script on the server. This changes the live site's files (and may run build/migration commands); it fails if git is not connected. Asynchronous: returns an event_id. POST /sites/{id}/git/deploy.
- spinupwp_restart_nginx: WRITE: restart nginx (web server) on one server. Visitors may see a brief interruption. Asynchronous: returns an event_id. POST /servers/{id}/services/nginx/restart.
- spinupwp_restart_php: WRITE: restart PHP-FPM (every PHP version) on one server. Running PHP requests can fail or be cut off while it restarts. Asynchronous: returns an event_id. POST /servers/{id}/services/php/restart.
- spinupwp_restart_mysql: WRITE: restart MySQL (database) on one server. All sites on the server lose database access for a short time; running queries are interrupted. Asynchronous: returns an event_id. POST /servers/{id}/services/mysql/restart.
- spinupwp_restart_redis: WRITE: restart Redis (object cache) on one server. Cached objects are lost and rebuilt on demand. Asynchronous: returns an event_id. POST /servers/{id}/services/redis/restart.
- spinupwp_reboot_server: WRITE: reboot a whole server. Every site on it is offline for the duration (typically a minute or two). Use it when spinupwp_get_server shows reboot_required. Asynchronous: returns an event_id. POST /servers/{id}/reboot.

Screening checks:
- MCP handshake: pass (Answered in 11ms)
- Domain against threat feeds (Cloudflare security DNS): pass (spinupwp.usefulapi.io, usefulapi.io not flagged)
- Published packages against the OSV malicious-package database: n/a (No npm or PyPI package published)
- Hidden instructions or invisible characters in tool text: pass (19 tools read, nothing found)
- Inputs asking for passwords, card numbers or seed phrases: pass (None found)
- Domain and redirects: pass (No redirects off the domain)
- AI review of purpose and tool behavior: pass (No concerns)
