Kinsta MCP by usefulapi
Server Details
Read Kinsta sites, environments, backups, logs and analytics; clear caches, restart PHP, back up.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 98.6% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- m190/usefulapi-mcp
- GitHub Stars
- 0
TDQS
Scored across 23 tools
Most tools target distinct resources and actions, such as sites, environments, logs, backups, plugins, and operation status. There is some overlap among the three cache-clearing tools and the several domain-listing tools, but the descriptions clarify their differing scope.
All tools use a consistent kinsta_ prefix followed by snake_case verb_noun or verb_resource naming, such as kinsta_list_sites, kinsta_get_site, kinsta_clear_cdn_cache, and kinsta_restart_php. There are no camelCase mixes or vague standalone verbs.
With 23 tools, the server is in the borderline-heavy range for a single MCP server. Each tool maps to a real Kinsta API operation, but the surface feels large and could likely be consolidated or grouped for common workflows.
Read coverage is strong across sites, environments, analytics, logs, backups, plugins/themes, domains, and activity logs. However, notable lifecycle gaps remain: no site or environment create/update/delete, no backup restore/delete, and no plugin/theme update operations.
Available Tools
23 toolskinsta_clear_cdn_cacheClear CDN cacheAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cdn_cache_id | Yes | The environment's cdn_cache_id (from kinsta_list_sites / kinsta_list_site_environments). | |
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), so the description's real contributions are the reassurance semantics ('nothing is lost; files are fetched from the origin again') and the return contract ('Returns an operation_id'). That the result is an async operation handle resolvable via kinsta_get_operation_status is implied but not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact clauses: operation semantics first, prerequisite second, return value and HTTP endpoint last. No filler, no restatement of the title, and the write intent is front-loaded in caps.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description takes on the burden of the return contract and does so ('Returns an operation_id'), plus names the upstream lookup tools for both parameters and clarifies the blast radius. An agent has everything needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters carry their own sourcing descriptions, so the schema does the heavy lifting. The description's mention of cdn_cache_id origin duplicates what cdn_cache_id's schema description already says, adding no format or constraint detail beyond it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('clear the CDN cache') with explicit scope ('of one environment'), which is exactly the distinction needed against siblings kinsta_clear_edge_cache and kinsta_clear_site_cache. The verb+scope combination lets an agent disambiguate without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the prerequisite chain explicitly: the tool needs cdn_cache_id from kinsta_list_sites, so the agent knows a lookup must precede the call. It does not, however, state when to prefer this over the sibling clear_edge_cache/clear_site_cache tools, leaving the cache-layer choice to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_clear_edge_cacheClear edge cacheAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Only clear this URL (leave empty to clear the whole environment). | |
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). | |
| clear_subdirectories | No | With url: also clear the pages below it (default false). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnlyHint=false, destructiveHint=false, idempotentHint=true), and the description adds real value above that: it reassures that 'nothing is lost' and pages re-cache on next visits, marks it as a WRITE, and discloses that it returns an operation_id, implying an async flow. It stops short of saying the operation_id must be polled via kinsta_get_operation_status.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tightly packed sentences: mutation marker, action and scope, behavioral reassurance, return value, and endpoint. Front-loaded with the most decision-relevant information (WRITE, what is cleared) and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter, no-output-schema mutation tool it covers action, scope, safety, and return value. The only real omission is guidance on following up on the returned operation_id (e.g., via kinsta_get_operation_status), and no contrast with the sibling cache-clear tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema, including the url/subdirectory interaction and where environment_id comes from. The description restates the URL-and-subdirectories scoping but adds no format, limits, or edge-case detail beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (clear), resource (edge cache), and scope (one environment, optionally one URL plus subdirectories), plus the underlying endpoint POST /sites/edge-caching/clear. It does not differentiate itself from the sibling cache-clear tools kinsta_clear_cdn_cache and kinsta_clear_site_cache, which an agent must choose between.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use, when-not-to-use, or alternative routing. Two siblings (kinsta_clear_cdn_cache, kinsta_clear_site_cache) perform closely related cache-clearing actions and the description gives no criteria for picking this one over them, leaving the agent to guess.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_clear_site_cacheClear site cacheAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=true and openWorld=true, so the safety profile is covered. The description adds real value beyond that: it discloses the transient performance impact ('site is briefly slower while the cache warms up'), reassures that nothing is lost, and explains the async operation_id workflow.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact clauses, mutation type front-loaded, impact caveat next, follow-up mechanism last. No sentence is filler and the HTTP endpoint is appended as a reference aid.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter async mutation with no output schema, the description covers everything needed: what it does, the side effect to expect, and how to track the returned operation_id. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single environment_id parameter is fully documented in the schema, including how to obtain it. The description adds only 'one environment' scope framing, so the documented baseline applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (clear the page cache) plus scope (one environment), and the 'WRITE' prefix signals mutation immediately. The 'page cache' scope implicitly separates it from kinsta_clear_cdn_cache and kinsta_clear_edge_cache, though those siblings are never named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It points to kinsta_get_operation_status for follow-up, which is useful operational routing, but gives no guidance on when to clear the page cache versus the CDN or edge cache siblings, nor any prerequisites. Usage is implied by the scope, not stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_create_manual_backupCreate manual backupAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | A short note for the backup (shown in MyKinsta). | |
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false, and idempotentHint=false, so the safety profile is known. The description adds valuable context: the per-environment manual backup limit, the failure mode ('request fails and nothing is deleted'), and the returned operation_id. It stops short of explaining that the operation is asynchronous or how to poll for completion, but it goes well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is tightly written and front-loaded with the operation type and purpose. The quota constraint, return value, and HTTP endpoint follow logically, with no redundant sentences. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter write tool with no output schema, the description covers purpose, key behavioral constraints, return value, and endpoint. The only minor omission is guidance on using the returned operation_id, but the essential information for correct invocation is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are fully documented in the schema. The description mentions an optional note (the 'tag' parameter) but adds no syntax or format details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('start a manual backup') and resource ('one environment'), with an optional note. It distinguishes itself from the read-only sibling kinsta_list_backups by explicitly labeling the operation as WRITE. An agent can identify the action without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not say when to use this tool versus alternatives, such as whether a manual backup is preferred over automatic backups or how to check existing backups. It only describes the action and its quota constraint. There is no explicit when/when-not guidance or named alternative, so it is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_get_analyticsGet environment analyticsARead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Range end, yyyy-mm-dd. | |
| from | No | Range start, yyyy-mm-dd (use with to). | |
| metric | Yes | Which analytics report. | |
| time_span | No | Period to report on: 24_hours, 7_days, 30_days or 60_days (default 7_days; disk space has no 24_hours). | |
| time_zone | No | Only for metric diskspace: hour offset from UTC such as 02:00 or -05:00 (default 00:00). | |
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=true), so the bar is lowered. The description adds useful operational context — the auto-filled company id and the REST path — but says nothing about pagination, result limits, or rate limits for what is clearly a read-only reporting call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the resource and metric list, then the parameter-choice rule, then the endpoint. The 13-metric enumeration is long but earns its place by telling the agent exactly what reports exist; no filler sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description carries the return-value burden — and it largely does by naming every metric's data dimension (visits, bandwidth, disk space, top countries, etc.). Minor gap: it doesn't indicate result shape or whether time_series data is returned per metric.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3, but the description adds genuine meaning by framing time_span and from/to as alternatives ('Choose a time_span or a from/to date range') and confirming the yyyy-mm-dd format. That relational guidance is not present in the schema itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource ('Traffic and resource analytics for one environment') and enumerates the actual metric families returned, which lets an agent distinguish this reporting tool from siblings like kinsta_get_site_usage or kinsta_get_logs without opening the schema. It even pins the underlying endpoint GET /sites/environments/{env_id}/analytics/{metric}.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear invocation context: pick either a time_span or a from/to range, and notes that company id is filled automatically so the caller need not supply it. It does not, however, contrast this tool against any alternative (e.g. get_site_usage vs analytics) or state exclusions for when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_get_api_key_infoGet API key infoARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false. The description adds a genuine behavioral detail beyond that: the key value itself is never returned, and it names the underlying endpoint (GET /validate), which tells the agent this doubles as a credential-validation read.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the primary payload front-loaded and no filler. Even the endpoint reference earns its place by clarifying what the call actually does.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description compensates by naming the returned fields and stating what is withheld. For a no-parameter read tool this is nearly sufficient, with only minor gaps such as error/expiry-state behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. The description introduces no parameter syntax or constraints, which is appropriate since there is nothing to pass.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Details of the Kinsta API key in use') and enumerates the returned fields (name, status, expiry, company id). It is unambiguous and distinct from sibling list/get tools, though it does not explicitly name which sibling to use instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than stated: a reader infers this is for validating/identifying the credential currently in use. There is no explicit 'use when...' or 'not for...' guidance and no named alternative, but the narrow scope makes the intent reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_get_force_https_statusGet force-HTTPS statusBRead-onlyInspect
Whether the environment forces HTTPS (ENABLED_FOR_ALL, ENABLED_REDIRECT_TO_PRIMARY or DISABLED). GET /sites/environments/{env_id}/force-https-status.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds value by listing the possible status values the tool can return, which is useful given there is no output schema, but it does not disclose other behavioral details such as authentication requirements or response structure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the key information about what is returned. The API endpoint path is included at the end, which is slightly redundant for an agent but does not detract significantly from the conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only status check, the description is nearly complete: it identifies the resource, lists the possible return values (compensating for the absence of an output schema), and the parameter schema is fully documented. The only missing piece is explicit usage guidance, which is minor for this level of complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: the single parameter environment_id is fully documented in the schema, including where to obtain the UUID. The description adds no additional meaning about the parameter, so the baseline score of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource being queried (force-HTTPS status) and enumerates the possible outcomes (ENABLED_FOR_ALL, ENABLED_REDIRECT_TO_PRIMARY, DISABLED). It is clear what the tool does, although it lacks an explicit verb phrase and does not name related sibling tools to differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool, when not to use it, or what alternatives exist. The description simply states what the tool returns, leaving the agent to infer the appropriate context from the tool name and resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_get_logsGet environment logsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Only lines at or before this ISO 8601 date-time. | |
| from | No | Only lines at or after this ISO 8601 date-time, e.g. 2026-10-01T00:00:00Z. | |
| lines | No | Number of lines, 1-2000 (default 200). | |
| search | No | Only lines containing this text. | |
| file_name | No | Which log (default error). | |
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, non-destructive, openWorld), so the bar is lower, yet the description adds real context: the return is raw text, only the newest lines the API provides, and access logs expose visitor IP addresses. It stops short of describing truncation edge cases or pagination limits, but the added disclosure is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool returns and what can be filtered in one dense sentence, then names the endpoint. Nearly every clause earns its place, though the single long sentence loses some scannability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully explains the return shape (plain text, newest lines) and the sensitive-data caveat on access logs. The only gap is guidance on tool selection versus sibling log tools, plus any rate-limit behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter (to, from, lines, search, file_name) is already documented with defaults and bounds. The description restates the time-range and search filtering intent without adding syntax or format meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb (get log lines) plus the exact resource (an environment's error, access or Kinsta cache performance log) and its scope. It is clearly separable from kinsta_list_activity_logs, which covers a different log domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through 'optionally within a time range and filtered by a search text', which tells the agent how to narrow results. However it never states when to prefer this tool over kinsta_list_activity_logs or what prerequisites exist, leaving the alternative selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_get_operation_statusGet operation statusARead-onlyInspect
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}.
| Name | Required | Description | Default |
|---|---|---|---|
| operation_id | Yes | Operation id, e.g. sites:clear-cache-<uuid> (from the write tool's reply). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/openWorld/non-destructive, so the bar is lower, and the description adds real value with HTTP status semantics (200=finished, 202=running, other=failed) plus the underlying endpoint. It does not state whether polling should be repeated or throttled, but the added context is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences, front-loaded with the purpose, then the input source, then the return semantics. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so via the status-code mapping, which is what an agent needs to interpret results. It stops short of describing the failure detail or whether retries are expected, leaving a minor gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the operation_id format example is already documented in the schema. The description restates that the id comes from the write tool's reply without adding format or syntax beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('the status of an asynchronous operation') and enumerates the operation classes it tracks (cache clear, PHP restart, manual backup). An agent can immediately distinguish it from the write siblings like kinsta_clear_site_cache or kinsta_restart_php that produce the operation_id it consumes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Tells the agent when to use it: 'by the operation_id the write tool returned,' which is clear post-write polling context. It does not name the specific write siblings or state any exclusions, but the trigger condition is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_get_siteGet siteARead-onlyInspect
One site by id, with its status and environments. GET /sites/{site_id}.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | Kinsta site id (a UUID; from kinsta_list_sites). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds useful context by saying the response includes status and environments, but says nothing about auth requirements, error behavior for unknown ids, or response shape beyond that phrase.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse sentences with the payload description front-loaded and the underlying endpoint appended for API mapping. Every clause carries information; nothing is padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with no output schema and safety annotations already present, the description covers what it returns at a high level. It is slightly thin on return detail and error/edge behavior, but nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single parameter is already documented as a UUID sourced from kinsta_list_sites. The description only restates 'by id', adding no format, validation, or sourcing detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: fetch a single site by id, and even names the returned payload (status and environments). It implicitly contrasts with kinsta_list_sites by saying 'one site by id', but never names that sibling or any other, so differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'by id' implies the tool is for retrieving details when a site id is already known, but there is no explicit when-to-use guidance, no prerequisite statement, and no named alternative for the listing case. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_get_site_usageGet site usage this monthBRead-onlyInspect
A site's usage for the current billing month: visits, bandwidth or CDN bandwidth. GET /sites/{site_id}/usage/{metric}/this-month.
| Name | Required | Description | Default |
|---|---|---|---|
| metric | Yes | Which usage figure. | |
| site_id | Yes | Kinsta site id (a UUID; from kinsta_list_sites). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuine context by pinning the query to the current billing month, but it says nothing about permissions, result shape, or data freshness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, resource and scope front-loaded, with the endpoint appended as confirmation. Nothing is padded, though the endpoint restatement is close to redundant with the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read tool this is roughly adequate, but with no output schema the description could reasonably hint at what comes back (a value plus unit) and the units for bandwidth/cdn_bandwidth. That gap leaves the agent guessing about return semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the metric enum is fully specified in the schema, so the schema carries the load. The description re-lists the three metric values rather than adding new semantics such as units or how each metric is measured.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource (a site's usage), the temporal scope (current billing month), and enumerates the three supported metrics, then confirms with the concrete REST path. It is clearly a read of usage data, though it does not explicitly distinguish itself from the sibling kinsta_get_analytics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The closest sibling, kinsta_get_analytics, is never referenced, so the agent must infer which tool to pick on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_activity_logsList activity logsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Entries to return, 1-100 (default 10). | |
| offset | No | Entries to skip (default 0). Use offset + limit to page. | |
| site_id | No | Only entries for this site id. | |
| category | No | Only this category. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint and destructiveHint, so the safety profile is covered. The description still adds useful behavior: newest-first ordering, the fields returned (type, status, time, initiator, description), pagination, and that the reply carries a total count.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly packed sentences that front-load the resource and its contents before paging and the endpoint. Little waste, though the endpoint URL is somewhat redundant for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but the description compensates by naming the returned fields, the sort order, and the presence of a total count for paging. Auth requirements are unstated, but for a read-only list tool this is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so limit, offset, site_id and category are already fully documented. The description reinforces paging with limit/offset but adds no syntax or format meaning beyond the schema; a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (list) and resource (the company's activity log) and enumerates what it captures – site actions, DNS, migrations, billing, notifications, user management. It doesn't explicitly distinguish itself from the similarly named sibling kinsta_get_logs, so an agent has to infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The content list implies when this tool is relevant (auditing who did what across the company), but there is no explicit when-to-use/when-not guidance and no named alternative such as kinsta_get_logs or site-scoped log tools. Usage is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_available_regionsList data center regionsARead-onlyInspect
The data center regions (name and region code) the company can host sites in. GET /company/{id}/available-regions.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds useful behavioral context by disclosing the shape of the response (region name plus region code), which matters because there is no output schema. It does not mention rate limits, caching, or the relationship between regions and site creation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments, front-loaded with the resource and returned fields. The trailing raw endpoint reference is low-value and slightly risky, since it implies a {id} path parameter that the empty schema never exposes, but the overall length is well controlled.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no parameters, no output schema, and annotations already carrying the read-only/open-world profile, the description supplies the one missing piece an agent needs: what the call returns. Nothing essential is absent for a parameterless lookup endpoint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing further the description could meaningfully add about arguments.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the resource precisely (data center regions a company can host sites in) and even enumerates the returned fields (name and region code). It is unambiguous and no sibling tool covers regions, so differentiation is effectively automatic. It stops short of an explicit verb phrase like 'List the...', which is the only reason it isn't a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to call this versus alternatives, no prerequisites, and no note that it is a read of essentially static reference data. The usage is only weakly implied by the noun phrase describing the returned data.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_backupsList backupsARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description earns credit beyond that by naming the three backup categories, listing the returned fields with their unit (epoch ms), and explicitly disclaiming restore/delete capability. Pagination or result-size behavior is not disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the resource and scope, then the field list, then the capability disclaimer and raw endpoint. No filler and no repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so by listing the fields and their time unit, plus a clear capability boundary. It is close to complete for a single-parameter read tool; only pagination/volume behavior is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (environment_id) exists and its schema description already covers 100% of the semantics, including where to obtain the UUID. The description adds nothing about the parameter, so the baseline 3 for fully schema-covered parameters applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the exact resource ('The backups of one environment') and scopes it to manual, scheduled and system backups, then enumerates the returned fields (id, name, note, type, creation time). That is concrete enough to separate it from kinsta_create_manual_backup. It loses a point only because the operation verb is implied rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Backups cannot be restored or deleted from here' establishes a boundary and implies where such actions live, which is useful negative guidance. However, it never states when to choose this tool over siblings such as kinsta_create_manual_backup, so the guidance remains implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_company_domainsList company domainsARead-onlyInspect
All domains the company has in Kinsta DNS / hosting, across sites. GET /domains.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered structurally. The description adds the GET /domains endpoint and the cross-site scope, but says nothing about pagination, result volume, or response shape, so added behavioral value is modest.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One compact sentence front-loads the scope ('all domains ... across sites') and is followed by the endpoint reference. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter list tool with no output schema, the description adequately conveys what is returned at a high level but omits any hint of return structure or formatting. With annotations covering safety, this is the minimum viable, not a rich definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so per the baseline there is nothing for the description to disambiguate. The description correctly does not invent parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (all company domains in Kinsta DNS/hosting) and adds scope ('across sites') plus the underlying endpoint. An agent can distinguish it from kinsta_list_sites, but the relationship to the very similar sibling kinsta_list_environment_domains is only implicitly signaled rather than named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'all domains ... across sites' hints that this is the company-wide listing versus a per-environment one, but there is no explicit when-to-use, when-not, or named alternative. The agent must infer when to prefer this over kinsta_list_environment_domains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_denied_ipsList denied IPsBRead-onlyInspect
The IP addresses and ranges blocked from the environment. GET /sites/tools/denied-ips.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the underlying REST endpoint (GET /sites/tools/denied-ips), which is mildly useful for mapping to Kinsta API docs, but says nothing about auth needs, pagination, or result size limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded fragments with no filler; what the tool returns comes first, the endpoint second. It is telegraphic rather than padded, though the raw endpoint string is of marginal value to an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read-only list tool, the definition is mostly sufficient given full schema coverage and complete annotations. With no output schema present, the description could reasonably say something about the returned shape (entries as single IPs vs. CIDR ranges) but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the environment_id property is well documented in-schema (UUID format plus pointers to kinsta_list_sites and kinsta_list_site_environments). The description contributes no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the resource precisely ('IP addresses and ranges blocked from the environment'), which is distinct from every sibling tool (none of which deal with denied IPs). The verb is only implied, however — 'List' appears in the name/title but the description itself is a noun phrase, so the action is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of prerequisites, and no alternatives named. The agent is left to infer that this is the read path for reviewing blocked IPs; nothing tells it when this is the right call versus, say, inspecting logs or site settings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_environment_domainsList environment domainsARead-onlyInspect
The domains attached to one environment (id, name, whether Kinsta DNS/Cloudflare is used). GET /sites/environments/{env_id}/domains.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is fully covered structurally. The description adds only the underlying GET endpoint, which gives a small amount of behavioral context (it is a plain read) but no pagination, rate-limit, or auth detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero waste; the resource scope and returned fields are front-loaded, and the endpoint is appended as compact reference material.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only listing tool with one documented parameter and no output schema, the description plus annotations supply enough to call it correctly, and it pre-announces the return fields. Only minor elements like result ordering or volume are unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema already explains environment_id and where to source it. The description adds no parameter syntax or format detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource (domains attached to one environment) and even enumerates the returned fields (id, name, DNS/Cloudflare usage), so the agent knows exactly what comes back. It does not explicitly name the sibling it differs from, e.g. kinsta_list_company_domains, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the single required environment_id makes the context clear, and the schema points to kinsta_list_sites/kinsta_list_site_environments for obtaining the id. There is no explicit when-to-use or when-not-to-use guidance relative to kinsta_list_company_domains.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_pluginsList WordPress pluginsBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the concrete return fields (status, version, available update version, vulnerability flags, auto-update type), which is useful context beyond the annotations. It does not mention pagination, auth scope, or empty-environment behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences, with the resource and scope front-loaded. The trailing REST path is mildly redundant noise for an agent but is cheap and confirms the underlying endpoint.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by enumerating the plugin fields an agent would care about. Combined with the fully documented single input parameter, this is nearly complete; only pagination and volume expectations are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the single environment_id parameter is well documented in the schema, including where to obtain the UUID. The description adds nothing about the parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly names the resource (WordPress plugins) and the scope (one environment), and enumerates the fields returned, so an agent knows exactly what comes back. It does not explicitly contrast itself with the adjacent kinsta_list_themes tool, but the resource noun itself is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance: nothing tells the agent this is the right call before mutating a plugin or how it relates to kinsta_list_themes, kinsta_list_sites, or the updater tools. Usage is only inferable from the name and resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_redirect_rulesList redirect rulesARead-onlyInspect
The environment's redirect rules (from, to, type, domain, optional country/city targeting), paged. GET /sites/environments/{env_id}/redirect-rules.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Rules to return, 1-100 (default 10). | |
| offset | No | Rules to skip (default 0). | |
| search | No | Only rules matching this text. | |
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds that results are paged and what fields each rule carries, but says nothing about permissions, ordering, or pagination limits beyond what limit/offset already imply.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short fragments, front-loaded with the resource and scope, with the parenthetical field list providing quick value. The trailing HTTP endpoint is mildly redundant but useful; nothing else is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, fully-schemad list tool with annotations covering safety, this is nearly complete; the field enumeration partially compensates for the absent output schema by signaling what a rule contains. Only ordering and pagination semantics are left unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (limit, offset, search, environment_id) are fully documented in the schema itself. The description's field list (from, to, type, domain, targeting) describes return values rather than adding meaning to the input parameters, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('redirect rules') scoped to an environment and even enumerates the rule fields (from, to, type, domain, country/city). There is no sibling tool that lists redirect rules, so differentiation is effectively automatic, though no explicit sibling routing is provided.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the name and resource; there is no explicit 'use this when' context, no mention of prerequisites (e.g., needing a valid environment id), and no alternatives named. Adequate for a self-evident list operation, but no guidance is actually stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_site_environmentsList site environmentsBRead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| site_id | Yes | Kinsta site id (a UUID; from kinsta_list_sites). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the shape of the returned payload (field list), which is genuinely useful given there is no output schema, but it says nothing about ordering, pagination, or auth requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence front-loads the resource and its fields, followed by the endpoint. Nothing is verbose, though the endpoint mapping is largely redundant metadata for an agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with full annotation coverage and one fully documented parameter, the definition is close to sufficient; the enumerated return fields compensate for the absent output schema. Minor gaps are pagination/ordering and confirmatory detail about the live/staging environment types.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (site_id) exists and schema description coverage is 100%; the schema already states it is a UUID obtainable from kinsta_list_sites. The description adds no parameter-level detail, so the baseline 3 for high schema coverage applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a concrete resource (environments of one site) and enumerates the fields returned: id, name, PHP engine version, WordPress version, primary domain, edge cache and CDN ids. The scope ('one site') is explicit, though it does not name a sibling to contrast with (e.g. kinsta_list_sites vs kinsta_list_environment_domains).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use, when-not-to-use, or alternative routing is given; the only extra information is the REST endpoint 'GET /sites/{site_id}/environments'. An agent must infer that this is the call to make after obtaining a site_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_sitesList sitesARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| include_environments | No | Include each site's environments (default true). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), so the bar is lower. The description adds real context beyond that: it explains that include_environments changes the returned field set and that the env ids are reusable as inputs elsewhere. It omits pagination/rate-limit behavior, but that is a minor gap given annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the resource and returned fields, then qualifies behavior with the flag, and closes with the HTTP route. No sentence is wasted and the scoping caveat arrives before the reader needs it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by enumerating the return fields, and the single optional parameter is fully explained. An agent has everything needed to call it and reuse the environment ids afterward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description goes further than the schema's terse 'Include each site's environments' by spelling out exactly which extra fields appear (live/staging env ids, primary domain, PHP version, WordPress version, SSH host/port) when the flag is set. That is genuine added meaning over the structured field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List the company's WordPress sites') and even enumerates the returned fields (id, name, display name, status, labels). It does not explicitly contrast itself with the singleton kinsta_get_site or kinsta_list_site_environments, so sibling differentiation is only implied.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Adds a useful routing hint — 'use those environment ids for the other tools' — which points the agent at downstream operations. However, it never states when to pick this over kinsta_get_site or kinsta_list_site_environments, so the guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_list_themesList WordPress themesBRead-onlyInspect
The themes of one environment: name, title, status, version, available update version and vulnerability flags. GET /sites/environments/{env_id}/wp-themes.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds value by disclosing the returned payload — notably vulnerability flags and available update versions — but says nothing about pagination, empty results, or environment-state requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences: the payload is front-loaded and the endpoint path follows. The raw GET path is arguably redundant since the tool wrapper already encodes it, but nothing else is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only one-parameter list tool with no output schema, the field enumeration substitutes adequately for a return-value spec and the annotations cover safety. Only pagination/result-size behavior is left unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single environment_id parameter is fully documented in the schema, including where to obtain the UUID. The description adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
It states a concrete resource (themes) scoped to 'one environment' and enumerates the returned fields, so the agent knows exactly what it retrieves. It doesn't explicitly differentiate itself from kinsta_list_plugins, but the resource noun is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of an alternative (e.g. a get-single-theme tool or the plugins sibling). The only usage context is the implicit 'one environment' scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
kinsta_restart_phpRestart PHP engineADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| environment_id | Yes | Kinsta environment id (a UUID; from kinsta_list_sites with include_environments, or kinsta_list_site_environments). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description adds real value beyond them: in-flight requests fail, a few seconds of unavailability, and a returned operation_id. It omits that the operation_id should be polled via the kinsta_get_operation_status sibling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact clauses, front-loaded with the WRITE marker and the core action, followed by consequences, return value, and endpoint. No filler, nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter mutation with no output schema and full annotation coverage, the description supplies the essential extras: downtime impact, the operation_id return, and the HTTP route. The only meaningful omission is guidance to track the returned operation_id through the existing operation-status tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the single environment_id parameter is fully documented in the schema, including where to obtain it. The description adds no parameter-level detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('restart the PHP engine of one environment'), unambiguous and clearly distinct from the cache-clearing, backup, and list siblings. The 'WRITE:' prefix and the POST endpoint reinforce exactly what the call does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description warns that in-flight requests fail and the site may be briefly unavailable, which implies when it is worth invoking, but it never states when to choose this over alternatives (e.g. clear cache vs restart, or which environment scope applies). Usage is inferable rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Related MCP Connectors
Read RunCloud servers, web apps, databases and logs; deploy, restart services, renew SSL.
Read SpinupWP servers, sites and events; purge caches, restart services, run git deploys.
Manage Aderlo Cloud hosting: files, DNS, MySQL/PostgreSQL databases and WP-CLI over OAuth scopes.
Deploy services, add databases, run agents, read logs, check vulnerabilities and publish pages.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables management of Hostinger services, allowing users to deploy WordPress sites, themes, and plugins, as well as manage JavaScript and static website deployments. It also provides tools for retrieving billing catalog items and monitoring application deployment logs.160,015 npmMIT

SiteBay MCP Serverofficial
AlicenseBqualityCmaintenanceEnables management of WordPress sites hosted on SiteBay platform through natural language, including site creation, executing WP-CLI commands, file editing, and server operations.16MIT- AlicenseCqualityDmaintenanceProvides a comprehensive suite of 56 tools for the management and automation of WordPress sites via the Pressable API. It enables users to handle site lifecycles, backups, DNS, and server operations through 13 specialized modules.56MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage SpinupWP infrastructure, including servers, WordPress sites, and SSH keys through the SpinupWP v1 JSON API. Users can perform actions like provisioning sites, purging caches, and restarting services via natural language commands.17MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.