# Kinsta MCP by usefulapi (remote · kinsta.usefulapi.io)

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

- Trust score: 65/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- remote · `kinsta.usefulapi.io`: 65/100 (this document), [markdown](https://verifymcp.io/servers/io-usefulapi-kinsta/kinsta.md), [page](https://verifymcp.io/servers/io-usefulapi-kinsta/kinsta)

## Channel facts

- Endpoint: `https://kinsta.usefulapi.io/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-10-17.

- **Endpoint Security**: 78/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token.
  - HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
  - The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents.
- **Transport & Reachability**: 0/100
  - Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly.
- **Schema Quality & AI Usability**: 85/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2521 tokens (~109/item across 23 items; 23 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 23 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the Kinsta MCP by usefulapi server?

Kinsta MCP by usefulapi is a hosted endpoint at https://kinsta.usefulapi.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

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

### Cursor

```json
{
  "mcpServers": {
    "io-usefulapi-kinsta": {
      "url": "https://kinsta.usefulapi.io/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "io-usefulapi-kinsta": {
      "type": "http",
      "url": "https://kinsta.usefulapi.io/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.io-usefulapi-kinsta]
url = "https://kinsta.usefulapi.io/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-usefulapi-kinsta": {
      "type": "remote",
      "url": "https://kinsta.usefulapi.io/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add io-usefulapi-kinsta --url 'https://kinsta.usefulapi.io/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  io-usefulapi-kinsta:
    url: "https://kinsta.usefulapi.io/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "io-usefulapi-kinsta": {
      "Transport": "http",
      "Url": "https://kinsta.usefulapi.io/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add io-usefulapi-kinsta -t streamable-http -u 'https://kinsta.usefulapi.io/mcp'
```

### Other

```json
{
  "mcpServers": {
    "io-usefulapi-kinsta": {
      "type": "http",
      "url": "https://kinsta.usefulapi.io/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-10-16 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-14 (score 64, +2)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] The server now declares the “prompts” capability
- [functional] First check of Schema quality: 100
- [functional] New prompt “getting_started”
- [functional] Server version: 1.0.0 → 1.1.0

### 2026-10-13 (score 62, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-12 (score 61)

First indexed and scored.

## MCP tools (23)

### `kinsta_get_api_key_info` (~49 tokens)

Get API key info

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.

### `kinsta_list_available_regions` (~39 tokens)

List data center regions

The data center regions (name and region code) the company can host sites in. GET /company/{id}/available-regions.

### `kinsta_list_activity_logs` (~140 tokens)

List activity logs

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.

Input parameters:

- `category` (string): Only this category.
- `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.

### `kinsta_list_sites` (~86 tokens)

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.

Input parameters:

- `include_environments` (boolean): Include each site's environments (default true).

### `kinsta_get_site` (~52 tokens)

Get site

One site by id, with its status and environments. GET /sites/{site_id}.

Input parameters:

- `site_id` (string, required): Kinsta site id (a UUID; from kinsta_list_sites).

### `kinsta_list_site_environments` (~79 tokens)

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.

Input parameters:

- `site_id` (string, required): Kinsta site id (a UUID; from kinsta_list_sites).

### `kinsta_get_site_usage` (~75 tokens)

Get site usage this month

A site's usage for the current billing month: visits, bandwidth or CDN bandwidth. GET /sites/{site_id}/usage/{metric}/this-month.

Input parameters:

- `metric` (string, required): Which usage figure.
- `site_id` (string, required): Kinsta site id (a UUID; from kinsta_list_sites).

### `kinsta_list_environment_domains` (~81 tokens)

List environment domains

The domains attached to one environment (id, name, whether Kinsta DNS/Cloudflare is used). GET /sites/environments/{env_id}/domains.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_list_company_domains` (~32 tokens)

List company domains

All domains the company has in Kinsta DNS / hosting, across sites. GET /domains.

### `kinsta_list_backups` (~96 tokens)

List backups

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.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_list_plugins` (~90 tokens)

List WordPress plugins

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.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_list_themes` (~82 tokens)

List WordPress themes

The themes of one environment: name, title, status, version, available update version and vulnerability flags. GET /sites/environments/{env_id}/wp-themes.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_get_logs` (~210 tokens)

Get environment logs

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.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).
- `file_name` (string): Which log (default error).
- `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.
- `to` (string): Only lines at or before this ISO 8601 date-time.

### `kinsta_get_analytics` (~245 tokens)

Get environment analytics

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

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).
- `from` (string): Range start, yyyy-mm-dd (use with to).
- `metric` (string, required): 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).
- `to` (string): Range end, yyyy-mm-dd.

### `kinsta_get_force_https_status` (~84 tokens)

Get force-HTTPS status

Whether the environment forces HTTPS (ENABLED_FOR_ALL, ENABLED_REDIRECT_TO_PRIMARY or DISABLED). GET /sites/environments/{env_id}/force-https-status.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_list_redirect_rules` (~129 tokens)

List redirect rules

The environment's redirect rules (from, to, type, domain, optional country/city targeting), paged. GET /sites/environments/{env_id}/redirect-rules.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).
- `limit` (integer): Rules to return, 1-100 (default 10).
- `offset` (integer): Rules to skip (default 0).
- `search` (string): Only rules matching this text.

### `kinsta_list_denied_ips` (~69 tokens)

List denied IPs

The IP addresses and ranges blocked from the environment. GET /sites/tools/denied-ips.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_get_operation_status` (~90 tokens)

Get operation status

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

Input parameters:

- `operation_id` (string, required): Operation id, e.g. sites:clear-cache-<uuid> (from the write tool's reply).

### `kinsta_clear_site_cache` (~96 tokens)

Clear site cache

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.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_clear_edge_cache` (~140 tokens)

Clear edge cache

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.

Input parameters:

- `clear_subdirectories` (boolean): With url: also clear the pages below it (default false).
- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).
- `url` (string): Only clear this URL (leave empty to clear the whole environment).

### `kinsta_clear_cdn_cache` (~132 tokens)

Clear CDN cache

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.

Input parameters:

- `cdn_cache_id` (string, required): The environment's cdn_cache_id (from kinsta_list_sites / kinsta_list_site_environments).
- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_restart_php` (~86 tokens)

Restart PHP engine

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.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).

### `kinsta_create_manual_backup` (~126 tokens)

Create manual backup

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.

Input parameters:

- `environment_id` (string, required): Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments).
- `tag` (string): A short note for the backup (shown in MyKinsta).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/io-usefulapi-kinsta/kinsta#diagnostics

## Score history

- 2026-10-17: 65
- 2026-10-16: 65
- 2026-10-15: 64
- 2026-10-14: 64
- 2026-10-13: 62
- 2026-10-12: 61

## Common questions

### What is the Kinsta MCP by usefulapi server?

Kinsta MCP by usefulapi is listed in the public MCP registry as io.usefulapi/kinsta. Read Kinsta sites, environments, backups, logs and analytics; clear caches, restart PHP, back up. This page covers its hosted endpoint (https://kinsta.usefulapi.io/mcp).

### Is the Kinsta MCP by usefulapi server safe to use?

Kinsta MCP by usefulapi scores 65 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Kinsta MCP by usefulapi server expose?

Kinsta MCP by usefulapi exposes 23 tools: kinsta_get_api_key_info, kinsta_list_available_regions, kinsta_list_activity_logs, kinsta_list_sites, kinsta_get_site, and 18 more. Their descriptions and schemas cost roughly 2,308 tokens of context every time the server is loaded.

### Does the Kinsta MCP by usefulapi server require authentication?

Yes. Kinsta MCP by usefulapi asked us for credentials when we connected, so you will need to authorise it in your MCP client before it can do anything.

### Is the Kinsta MCP by usefulapi server still maintained?

Kinsta MCP by usefulapi is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://kinsta.usefulapi.io/mcp
- Repository: https://github.com/m190/usefulapi-mcp
- Website: https://usefulapi.io/kinsta/
- Changelog RSS feed: https://verifymcp.io/servers/io-usefulapi-kinsta/kinsta.xml
- Changelog JSON feed: https://verifymcp.io/servers/io-usefulapi-kinsta/kinsta.json
- HTML version of this page: https://verifymcp.io/servers/io-usefulapi-kinsta/kinsta
