SpinupWP MCP by usefulapi
Read SpinupWP servers, sites and events; purge caches, restart services, run git deploys.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (3)
- LOWen spinupwp_list_site_path_redirects
- LOWen spinupwp_list_storage_providers
- LOWen spinupwp_correct_file_permissions
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"spinupwp": {
"url": "https://spinupwp.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://spinupwp.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (19)
🟢spinupwp_list_servers(page, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_get_server(server_id)
One server by id: provider, size, disk usage, database server, connection status, reboot/upgrade-required flags and install notes. GET /servers/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"server_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP server id (from spinupwp_list_servers)."
}
},
"required": [
"server_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_list_sites(server_id, page, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"server_id": {
"description": "Only sites on this server id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_get_site(site_id)
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 hidden. GET /sites/{id}.
Esquema de entrada
{
"type": "object",
"properties": {
"site_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP site id (from spinupwp_list_sites)."
}
},
"required": [
"site_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_list_site_domains(site_id, page, limit)
The additional domains of a site, with their redirect settings (enabled, type, destination). GET /sites/{id}/domains.
Esquema de entrada
{
"type": "object",
"properties": {
"site_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP site id."
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"site_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_list_site_path_redirects(site_id, page, limit)
The path redirects configured on a site (from, to, type permanent/redirect). GET /sites/{id}/path-redirects.
Esquema de entrada
{
"type": "object",
"properties": {
"site_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP site id."
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"required": [
"site_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_list_events(page, limit)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_get_event(event_id)
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}.
Esquema de entrada
{
"type": "object",
"properties": {
"event_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP event id (the event_id a write tool returned)."
}
},
"required": [
"event_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_list_storage_providers(page, limit)
The backup storage providers connected to the team (id, service, name). GET /storage-providers.
Esquema de entrada
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢spinupwp_list_team_ssh_keys(page, limit)
The team's saved SSH public keys (id, name, fingerprint, public key). Public keys only; read-only. GET /ssh-keys.
Esquema de entrada
{
"type": "object",
"properties": {
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"limit": {
"description": "Results per page, 1-100 (default 25).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_purge_page_cache(site_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"site_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP site id."
}
},
"required": [
"site_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_purge_object_cache(site_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"site_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP site id."
}
},
"required": [
"site_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_correct_file_permissions(site_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"site_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP site id."
}
},
"required": [
"site_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_deploy_site_git(site_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"site_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP site id (a site with git connected)."
}
},
"required": [
"site_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_restart_nginx(server_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"server_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP server id."
}
},
"required": [
"server_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_restart_php(server_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"server_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP server id."
}
},
"required": [
"server_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_restart_mysql(server_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"server_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP server id."
}
},
"required": [
"server_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_restart_redis(server_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"server_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP server id."
}
},
"required": [
"server_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴spinupwp_reboot_server(server_id)
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.
Esquema de entrada
{
"type": "object",
"properties": {
"server_id": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"description": "SpinupWP server id."
}
},
"required": [
"server_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Comunidad
Evidencia