Skip to content

Kinsta MCP by usefulapi

by usefulapi.io · remote · no sign-in to list tools · v1.3.3 · published by io.usefulapi

Read Kinsta sites, environments, backups, logs and analytics; clear caches, restart PHP, back up.

Deletes · 1Final · 1Changes · 4

23 tools: 1 can delete or cancel things, 1 do something that can't be undone, 4 change things and 17 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http kinsta https://kinsta.usefulapi.io/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "kinsta_list_backups" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "kinsta_list_backups" says "list": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

23 tools

Deletes or cancels 1Claude Code: deny
  • kinsta_restart_phpWRITE: restart the PHP engine of one environment.No findings

    Why it is in this group

    • The name "kinsta_restart_php" says "restart": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    WRITE: restart the PHP engine of one environment. Requests in flight fail and the site may be unavailable for a few seconds. Returns an operation_id. POST /sites/tools/restart-php.

    Annotations the server declares

    • title: Restart PHP engine
    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
    • openWorldHint: true
Can't be undone 1Claude Code: ask
  • kinsta_list_backupsThe backups of one environment (manual, scheduled and system): id, name, note, type and creation time (epoch ms).1 finding

    Why it is in this group

    • The name "kinsta_list_backups" says "list": a word for reading.
    • The description says "cannot be restored".
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "kinsta_list_backups" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "kinsta_list_backups" says "list": a word for reading.

      What this check looks for
    Description, as the server wrote it
    The backups of one environment (manual, scheduled and system): id, name, note, type and creation time (epoch ms). Backups cannot be restored or deleted from here. GET /sites/environments/{env_id}/backups.

    Annotations the server declares

    • title: List backups
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
Changes things 4Claude Code: ask
  • kinsta_clear_cdn_cacheWRITE: clear the CDN cache of one environment (nothing is lost; files are fetched from the origin again).No findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    Description, as the server wrote it
    WRITE: clear the CDN cache of one environment (nothing is lost; files are fetched from the origin again). Needs the environment's cdn_cache_id from kinsta_list_sites. Returns an operation_id. POST /sites/cdn/clear-cache.

    Annotations the server declares

    • title: Clear CDN cache
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kinsta_clear_edge_cacheWRITE: clear Kinsta's edge cache for one environment, optionally only for one URL (and its subdirectories).No findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    Description, as the server wrote it
    WRITE: clear Kinsta's edge cache for one environment, optionally only for one URL (and its subdirectories). Nothing is lost; pages are cached again on the next visits. Returns an operation_id. POST /sites/edge-caching/clear.

    Annotations the server declares

    • title: Clear edge cache
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kinsta_clear_site_cacheWRITE: clear the page cache of one environment (the site is briefly slower while the cache warms up; nothing is lost).No findings

    Why it is in this group

    • The description's first verb is "write": a word for a change.
    Description, as the server wrote it
    WRITE: clear the page cache of one environment (the site is briefly slower while the cache warms up; nothing is lost). Returns an operation_id: check it with kinsta_get_operation_status. POST /sites/tools/clear-cache.

    Annotations the server declares

    • title: Clear site cache
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • kinsta_create_manual_backupWRITE: start a manual backup of one environment, with an optional note.No findings

    Why it is in this group

    • The name "kinsta_create_manual_backup" says "create": a word for a change.
    Description, as the server wrote it
    WRITE: start a manual backup of one environment, with an optional note. Kinsta limits the number of manual backups per environment; when the limit is reached the request fails and nothing is deleted. Returns an operation_id. POST /sites/environments/{env_id}/manual-backups.

    Annotations the server declares

    • title: Create manual backup
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: false
    • openWorldHint: true
Only reads 17Claude Code: allow
  • kinsta_get_analyticsTraffic and resource analytics for one environment: visits, bandwidth, CDN bandwidth, disk space, response codes, visit dispersion, or the top countries, cities, browsers, hosts, r…No findings

    Why it is in this group

    • The name "kinsta_get_analytics" says "get": a word for reading.
    Description, as the server wrote it
    Traffic and resource analytics for one environment: visits, bandwidth, CDN bandwidth, disk space, response codes, visit dispersion, or the top countries, cities, browsers, hosts, referrers, user agents or ASNs. Choose a time_span or a from/to date range (yyyy-mm-dd). The company id is filled in automatically. GET /sites/environments/{env_id}/analytics/{metric}.

    Annotations the server declares

    • title: Get environment analytics
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_get_api_key_infoDetails of the Kinsta API key in use: its name, status, expiry and the company id it belongs to.No findings

    Why it is in this group

    • The name "kinsta_get_api_key_info" says "get": a word for reading.
    Description, as the server wrote it
    Details of the Kinsta API key in use: its name, status, expiry and the company id it belongs to. The key itself is never shown. GET /validate.

    Annotations the server declares

    • title: Get API key info
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_get_force_https_statusWhether the environment forces HTTPS (ENABLED_FOR_ALL, ENABLED_REDIRECT_TO_PRIMARY or DISABLED).No findings

    Why it is in this group

    • The name "kinsta_get_force_https_status" says "get": a word for reading.
    Description, as the server wrote it
    Whether the environment forces HTTPS (ENABLED_FOR_ALL, ENABLED_REDIRECT_TO_PRIMARY or DISABLED). GET /sites/environments/{env_id}/force-https-status.

    Annotations the server declares

    • title: Get force-HTTPS status
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_get_logsRecent lines of an environment's error log, access log or Kinsta cache performance log, optionally within a time range and filtered by a search text.No findings

    Why it is in this group

    • The name "kinsta_get_logs" says "get": a word for reading.
    Description, as the server wrote it
    Recent lines of an environment's error log, access log or Kinsta cache performance log, optionally within a time range and filtered by a search text. Returns the log as text (the newest lines the API gives). Access logs contain visitor IP addresses. GET /sites/environments/{env_id}/logs.

    Annotations the server declares

    • title: Get environment logs
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_get_operation_statusThe status of an asynchronous operation (cache clear, PHP restart, manual backup, ...) by the operation_id the write tool returned.No findings

    Why it is in this group

    • The name "kinsta_get_operation_status" says "get": a word for reading.
    Description, as the server wrote it
    The status of an asynchronous operation (cache clear, PHP restart, manual backup, ...) by the operation_id the write tool returned. status 200 = finished, 202 = still running, other = failed. GET /operations/{operation_id}.

    Annotations the server declares

    • title: Get operation status
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_get_siteOne site by id, with its status and environments.No findings

    Why it is in this group

    • The name "kinsta_get_site" says "get": a word for reading.
    Description, as the server wrote it
    One site by id, with its status and environments. GET /sites/{site_id}.

    Annotations the server declares

    • title: Get site
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_get_site_usageA site's usage for the current billing month: visits, bandwidth or CDN bandwidth.No findings

    Why it is in this group

    • The name "kinsta_get_site_usage" says "get": a word for reading.
    Description, as the server wrote it
    A site's usage for the current billing month: visits, bandwidth or CDN bandwidth. GET /sites/{site_id}/usage/{metric}/this-month.

    Annotations the server declares

    • title: Get site usage this month
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_activity_logsThe company's activity log (who did what: site actions, DNS, migrations, billing, notifications, user management), newest first, with type, status, time, initiator and a descriptio…No findings

    Why it is in this group

    • The name "kinsta_list_activity_logs" says "list": a word for reading.
    Description, as the server wrote it
    The company's activity log (who did what: site actions, DNS, migrations, billing, notifications, user management), newest first, with type, status, time, initiator and a description. Page with limit and offset (the reply's total tells how many exist). GET /company/{id}/activity-logs.

    Annotations the server declares

    • title: List activity logs
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_available_regionsThe data center regions (name and region code) the company can host sites in.No findings

    Why it is in this group

    • The name "kinsta_list_available_regions" says "list": a word for reading.
    Description, as the server wrote it
    The data center regions (name and region code) the company can host sites in. GET /company/{id}/available-regions.

    Annotations the server declares

    • title: List data center regions
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_company_domainsAll domains the company has in Kinsta DNS / hosting, across sites.No findings

    Why it is in this group

    • The name "kinsta_list_company_domains" says "list": a word for reading.
    Description, as the server wrote it
    All domains the company has in Kinsta DNS / hosting, across sites. GET /domains.

    Annotations the server declares

    • title: List company domains
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_denied_ipsThe IP addresses and ranges blocked from the environment.No findings

    Why it is in this group

    • The name "kinsta_list_denied_ips" says "list": a word for reading.
    Description, as the server wrote it
    The IP addresses and ranges blocked from the environment. GET /sites/tools/denied-ips.

    Annotations the server declares

    • title: List denied IPs
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_environment_domainsThe domains attached to one environment (id, name, whether Kinsta DNS/Cloudflare is used).No findings

    Why it is in this group

    • The name "kinsta_list_environment_domains" says "list": a word for reading.
    Description, as the server wrote it
    The domains attached to one environment (id, name, whether Kinsta DNS/Cloudflare is used). GET /sites/environments/{env_id}/domains.

    Annotations the server declares

    • title: List environment domains
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_pluginsThe plugins of one environment: name, title, status (active/inactive), version, available update version, vulnerability flags and the auto-update type.No findings

    Why it is in this group

    • The name "kinsta_list_plugins" says "list": a word for reading.
    Description, as the server wrote it
    The plugins of one environment: name, title, status (active/inactive), version, available update version, vulnerability flags and the auto-update type. GET /sites/environments/{env_id}/wp-plugins.

    Annotations the server declares

    • title: List WordPress plugins
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_redirect_rulesThe environment's redirect rules (from, to, type, domain, optional country/city targeting), paged.No findings

    Why it is in this group

    • The name "kinsta_list_redirect_rules" says "list": a word for reading.
    Description, as the server wrote it
    The environment's redirect rules (from, to, type, domain, optional country/city targeting), paged. GET /sites/environments/{env_id}/redirect-rules.

    Annotations the server declares

    • title: List redirect rules
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_site_environmentsThe environments (live, staging, ...) of one site: id, name, PHP engine version, WordPress version, primary domain, edge cache and CDN ids.No findings

    Why it is in this group

    • The name "kinsta_list_site_environments" says "list": a word for reading.
    Description, as the server wrote it
    The environments (live, staging, ...) of one site: id, name, PHP engine version, WordPress version, primary domain, edge cache and CDN ids. GET /sites/{site_id}/environments.

    Annotations the server declares

    • title: List site environments
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_sitesList the company's WordPress sites (id, name, display name, status, labels).No findings

    Why it is in this group

    • The name "kinsta_list_sites" says "list": a word for reading.
    Description, as the server wrote it
    List the company's WordPress sites (id, name, display name, status, labels). With include_environments the live/staging environment ids, primary domain, PHP version, WordPress version and SSH host/port come too: use those environment ids for the other tools. GET /sites.

    Annotations the server declares

    • title: List sites
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true
  • kinsta_list_themesThe themes of one environment: name, title, status, version, available update version and vulnerability flags.No findings

    Why it is in this group

    • The name "kinsta_list_themes" says "list": a word for reading.
    Description, as the server wrote it
    The themes of one environment: name, title, status, version, available update version and vulnerability flags. GET /sites/environments/{env_id}/wp-themes.

    Annotations the server declares

    • title: List WordPress themes
    • readOnlyHint: true
    • destructiveHint: false
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.3. Values in angle brackets are yours to fill in.

claude mcp add --transport http kinsta https://kinsta.usefulapi.io/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__kinsta__kinsta_get_api_key_info",
      "mcp__kinsta__kinsta_list_available_regions",
      "mcp__kinsta__kinsta_list_activity_logs",
      "mcp__kinsta__kinsta_list_sites",
      "mcp__kinsta__kinsta_get_site",
      "mcp__kinsta__kinsta_list_site_environments",
      "mcp__kinsta__kinsta_get_site_usage",
      "mcp__kinsta__kinsta_list_environment_domains",
      "mcp__kinsta__kinsta_list_company_domains",
      "mcp__kinsta__kinsta_list_plugins",
      "mcp__kinsta__kinsta_list_themes",
      "mcp__kinsta__kinsta_get_logs",
      "mcp__kinsta__kinsta_get_analytics",
      "mcp__kinsta__kinsta_get_force_https_status",
      "mcp__kinsta__kinsta_list_redirect_rules",
      "mcp__kinsta__kinsta_list_denied_ips",
      "mcp__kinsta__kinsta_get_operation_status"
    ],
    "ask": [
      "mcp__kinsta__kinsta_list_backups",
      "mcp__kinsta__kinsta_clear_site_cache",
      "mcp__kinsta__kinsta_clear_edge_cache",
      "mcp__kinsta__kinsta_clear_cdn_cache",
      "mcp__kinsta__kinsta_create_manual_backup"
    ],
    "deny": [
      "mcp__kinsta__kinsta_restart_php"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as kinsta. Review it before you use it.