SpinupWP MCP by usefulapi

Read SpinupWP servers, sites and events; purge caches, restart services, run git deploys.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
97%
命名の品質
77%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(3)

  • LOWTool 'spinupwp_list_site_path_redirects' name length outside 3-30 rangespinupwp_list_site_path_redirects 内
  • LOWTool 'spinupwp_list_storage_providers' name length outside 3-30 rangespinupwp_list_storage_providers 内
  • LOWTool 'spinupwp_correct_file_permissions' name length outside 3-30 rangespinupwp_correct_file_permissions 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,226トークン数(ツール定義)
~902 B一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.52%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "spinupwp": {
      "url": "https://spinupwp.usefulapi.io/mcp"
    }
  }
}

リモートエンドポイント

https://spinupwp.usefulapi.io/mcpstreamable-http

できること

ツール一覧

ツール(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.

入力スキーマ

{
  "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}.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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}.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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}.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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.

入力スキーマ

{
  "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"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 19 件