Read Kinsta sites, environments, backups, logs and analytics; clear caches, restart PHP, back up.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh 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.
The environment's cdn_cache_id (from kinsta_list_sites / kinsta_list_site_environments).
Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| cdn_cache_id* | string | The environment's cdn_cache_id (from kinsta_list_sites / kinsta_list_site_environments). |
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id",
"cdn_cache_id"
],
"properties": {
"cdn_cache_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The environment's cdn_cache_id (from kinsta_list_sites / kinsta_list_site_environments)."
},
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| url | string | Only clear this URL (leave empty to clear the whole environment). |
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
| clear_subdirectories | boolean | With url: also clear the pages below it (default false). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"url": {
"type": "string",
"maxLength": 2000,
"minLength": 1,
"description": "Only clear this URL (leave empty to clear the whole environment)."
},
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
},
"clear_subdirectories": {
"type": "boolean",
"description": "With url: also clear the pages below it (default false)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| tag | string | A short note for the backup (shown in MyKinsta). |
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"tag": {
"type": "string",
"maxLength": 200,
"description": "A short note for the backup (shown in MyKinsta)."
},
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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}.
| Argument | Type | Description |
|---|---|---|
| to | string | Range end, yyyy-mm-dd. |
| from | string | Range start, yyyy-mm-dd (use with to). |
| metric* | string | Which analytics report. |
| time_span | string | Period to report on: 24_hours, 7_days, 30_days or 60_days (default 7_days; disk space has no 24_hours). |
| time_zone | string | Only for metric diskspace: hour offset from UTC such as 02:00 or -05:00 (default 00:00). |
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id",
"metric"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Range end, yyyy-mm-dd."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Range start, yyyy-mm-dd (use with to)."
},
"metric": {
"enum": [
"visits",
"bandwidth",
"cdn_bandwidth",
"diskspace",
"response_codes",
"visits_dispersion",
"top_countries",
"top_cities",
"top_browsers",
"top_hosts",
"top_referrers",
"top_user_agents",
"top_asns"
],
"type": "string",
"description": "Which analytics report."
},
"time_span": {
"enum": [
"24_hours",
"7_days",
"30_days",
"60_days"
],
"type": "string",
"description": "Period to report on: 24_hours, 7_days, 30_days or 60_days (default 7_days; disk space has no 24_hours)."
},
"time_zone": {
"type": "string",
"pattern": "^-?(0[0-9]|1[0-4]):00$",
"description": "Only for metric diskspace: hour offset from UTC such as 02:00 or -05:00 (default 00:00)."
},
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}Whether the environment forces HTTPS (ENABLED_FOR_ALL, ENABLED_REDIRECT_TO_PRIMARY or DISABLED). GET /sites/environments/{env_id}/force-https-status.
| Argument | Type | Description |
|---|---|---|
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| to | string | Only lines at or before this ISO 8601 date-time. |
| from | string | Only lines at or after this ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z. |
| lines | integer | Number of lines, 1-2000 (default 200). |
| search | string | Only lines containing this text. |
| file_name | string | Which log (default error). |
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Only lines at or before this ISO 8601 date-time."
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,9})?)?(Z|[+-]\\d{2}:\\d{2})$",
"description": "Only lines at or after this ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z."
},
"lines": {
"type": "integer",
"maximum": 2000,
"minimum": 1,
"description": "Number of lines, 1-2000 (default 200)."
},
"search": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only lines containing this text."
},
"file_name": {
"enum": [
"error",
"access",
"kinsta-cache-perf"
],
"type": "string",
"description": "Which log (default error)."
},
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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}.
| Argument | Type | Description |
|---|---|---|
| operation_id* | string | Operation id, e.g. sites:clear-cache-<uuid> (from the write tool's reply). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"operation_id"
],
"properties": {
"operation_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Operation id, e.g. sites:clear-cache-<uuid> (from the write tool's reply)."
}
}
}One site by id, with its status and environments. GET /sites/{site_id}.
| Argument | Type | Description |
|---|---|---|
| site_id* | string | Kinsta site id (a UUID; from kinsta_list_sites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"site_id"
],
"properties": {
"site_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta site id (a UUID; from kinsta_list_sites)."
}
}
}A site's usage for the current billing month: visits, bandwidth or CDN bandwidth. GET /sites/{site_id}/usage/{metric}/this-month.
| Argument | Type | Description |
|---|---|---|
| metric* | string | Which usage figure. |
| site_id* | string | Kinsta site id (a UUID; from kinsta_list_sites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"site_id",
"metric"
],
"properties": {
"metric": {
"enum": [
"visits",
"bandwidth",
"cdn_bandwidth"
],
"type": "string",
"description": "Which usage figure."
},
"site_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta site id (a UUID; from kinsta_list_sites)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Entries to return, 1-100 (default 10). |
| offset | integer | Entries to skip (default 0). Use offset + limit to page. |
| site_id | string | Only entries for this site id. |
| category | string | Only this category. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Entries to return, 1-100 (default 10)."
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Entries to skip (default 0). Use offset + limit to page."
},
"site_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only entries for this site id."
},
"category": {
"enum": [
"siteActions",
"kinstaDns",
"migrations",
"billing",
"notifications",
"userManagement",
"personalSettings",
"samlSso"
],
"type": "string",
"description": "Only this category."
}
}
}The data center regions (name and region code) the company can host sites in. GET /company/{id}/available-regions.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}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.
| Argument | Type | Description |
|---|---|---|
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}All domains the company has in Kinsta DNS / hosting, across sites. GET /domains.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}The IP addresses and ranges blocked from the environment. GET /sites/tools/denied-ips.
| Argument | Type | Description |
|---|---|---|
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}The domains attached to one environment (id, name, whether Kinsta DNS/Cloudflare is used). GET /sites/environments/{env_id}/domains.
| Argument | Type | Description |
|---|---|---|
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}The environment's redirect rules (from, to, type, domain, optional country/city targeting), paged. GET /sites/environments/{env_id}/redirect-rules.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Rules to return, 1-100 (default 10). |
| offset | integer | Rules to skip (default 0). |
| search | string | Only rules matching this text. |
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Rules to return, 1-100 (default 10)."
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Rules to skip (default 0)."
},
"search": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only rules matching this text."
},
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| site_id* | string | Kinsta site id (a UUID; from kinsta_list_sites). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"site_id"
],
"properties": {
"site_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta site id (a UUID; from kinsta_list_sites)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| include_environments | boolean | Include each site's environments (default true). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"include_environments": {
"type": "boolean",
"description": "Include each site's environments (default true)."
}
}
}The themes of one environment: name, title, status, version, available update version and vulnerability flags. GET /sites/environments/{env_id}/wp-themes.
| Argument | Type | Description |
|---|---|---|
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| environment_id* | string | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"environment_id"
],
"properties": {
"environment_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments)."
}
}
}