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.
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
- Deletes or cancels1Claude Code: deny: see these tools
- Can't be undone1Claude Code: ask: see these tools
- Changes things4Claude Code: ask: see these tools
- Only reads17Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "kinsta_list_backups" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "kinsta_list_backups" says "list": a word for reading.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"openWorldHint":true}; The name "kinsta_list_backups" says "list": a word for reading.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.