Skip to main content
Glama

Kinsta MCP Server

CI Coverage Status CodeQL OpenSSF Scorecard npm version npm downloads License Node

A Model Context Protocol (MCP) server for the Kinsta WordPress hosting platform.

This server allows AI assistants (like Claude) to interact with your Kinsta sites and infrastructure securely via the Kinsta API.

It supports MCP 2026-07-28 while remaining compatible with earlier stdio clients.

Quick Start

Prerequisites

  • Node.js v22 or higher

  • A Kinsta account with API access

  • A Kinsta API key (see Generate an API Key)

Step 1: Generate a Kinsta API Key

  1. Log in to MyKinsta

  2. Go to Your name > Company settings > API Keys

  3. Click Create API Key

  4. Choose an expiration and give the key a name

  5. Click Generate and copy the key (it's only shown once)

You'll also need your Company ID, which can be found in MyKinsta under Company settings.

Step 2: Configure Your MCP Client

Choose the setup that matches your MCP client:

Add to your claude_desktop_config.json:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "kinsta": {
      "command": "npx",
      "args": ["-y", "kinsta-mcp"],
      "env": {
        "KINSTA_API_KEY": "your-api-key",
        "KINSTA_COMPANY_ID": "your-company-id"
      }
    }
  }
}

Claude Code (CLI)

Add to your Claude Code MCP settings (~/.claude/mcp.json or project-level):

{
  "mcpServers": {
    "kinsta": {
      "command": "npx",
      "args": ["-y", "kinsta-mcp"],
      "env": {
        "KINSTA_API_KEY": "your-api-key",
        "KINSTA_COMPANY_ID": "your-company-id"
      }
    }
  }
}

Cursor

In Cursor settings, add an MCP server:

{
  "mcpServers": {
    "kinsta": {
      "command": "npx",
      "args": ["-y", "kinsta-mcp"],
      "env": {
        "KINSTA_API_KEY": "your-api-key",
        "KINSTA_COMPANY_ID": "your-company-id"
      }
    }
  }
}

Related MCP server: wp-mcp-control-server

Configuration Reference

Environment Variables

Variable

Required

Default

Description

KINSTA_API_KEY

Yes

-

Kinsta API key (Bearer token)

KINSTA_COMPANY_ID

Yes

-

Your Kinsta company ID

KINSTA_API_BASE_URL

No

https://api.kinsta.com/v2

API base URL (override for testing)

Features

Tools

The server provides 101 tools covering Kinsta API 1.110.0.

Breaking change in 1.1.0: tool names use underscores instead of dots so they work in clients with strict MCP name validation. For example, kinsta.sites.list is now kinsta_sites_list.

Connectivity

Tool

Description

kinsta_ping

Check server status and API credential configuration

Authentication

Tool

Description

kinsta_auth_validate

Validate the current Kinsta API key and return account information if valid

Operations

Tool

Description

kinsta_operations_status

Check the status of an asynchronous Kinsta operation by operation ID

Company

Tool

Description

kinsta_company_users

List all users in your Kinsta company

kinsta_company_regions

List all available deployment regions for your Kinsta company

kinsta_company_api-keys

List all API keys for your Kinsta company

kinsta_company_activity-logs

List company activity logs (supports filtering and pagination)

kinsta_company_plugins

List WordPress plugins across all sites (supports search/filter/pagination)

kinsta_company_themes

List WordPress themes across all sites (supports search/filter/pagination)

Sites

Tool

Description

kinsta_sites_list

List all WordPress sites (optionally include environment details)

kinsta_sites_get

Get details for a specific Kinsta site by ID

kinsta_sites_create

Create a new WordPress site (returns an operation_id)

kinsta_sites_create-plain

Create a new plain (empty) site without WordPress installed (returns an operation_id)

kinsta_sites_clone

Clone an existing site (returns an operation_id)

kinsta_sites_delete

Delete a Kinsta site permanently (cannot be undone)

kinsta_sites_reset

Reset a site to a fresh WordPress install (destructive)

Environments

Tool

Description

kinsta_environments_list

List all environments for a site

kinsta_environments_create

Create a new WordPress environment for a site (returns an operation_id)

kinsta_environments_create-plain

Create a new plain (empty) environment for a site (returns an operation_id)

kinsta_environments_clone

Clone an existing environment (returns an operation_id)

kinsta_environments_push

Push one environment to another (destructive; returns an operation_id)

kinsta_environments_delete

Delete an environment (cannot be undone)

kinsta_environments_php-allocation

Change PHP worker allocation for an environment (returns an operation_id)

kinsta_environments_php-allocation-site

Change PHP worker allocation for all environments in a site (returns an operation_id)

kinsta_environments_webroot

Change the webroot subfolder for an environment (returns an operation_id)

kinsta_environments_files

List files in an environment's file system

kinsta_environments_redirects

List redirect rules for an environment (supports filtering/pagination)

kinsta_environments_redirects_update

Create, update, or delete redirect rules for an environment

kinsta_environments_ssh_status

Get SSH/SFTP status for an environment

kinsta_environments_ssh_toggle

Enable or disable SSH/SFTP access for an environment

kinsta_environments_ssh_password-access

Enable or disable SSH password-based access

kinsta_environments_ssh_generate-password

Generate a new SSH/SFTP password

kinsta_environments_ssh_password

Get the current SSH/SFTP password

kinsta_environments_ssh_ip-allowlist

Get the SSH IP allowlist

kinsta_environments_ssh_ip-allowlist_update

Update the SSH IP allowlist

kinsta_environments_ssh_config

Get SSH connection configuration for an environment

kinsta_environments_ssh_password-expiration

Change SSH password expiration interval

kinsta_environments_wp-cli

Run a WP-CLI command on an environment (must start with wp )

kinsta_environments_phpmyadmin

Get a phpMyAdmin login token for an environment

kinsta_environments_wpa_login-url

Create a WordPress admin login URL for an existing user

kinsta_environments_wpa_create-user

Create a WordPress admin user

kinsta_environments_wpa_user-exists

Check whether a WordPress admin user exists

Site Tools

Tool

Description

kinsta_tools_clear-cache

Clear the server cache for an environment (returns an operation_id)

kinsta_tools_restart-php

Restart PHP for an environment (returns an operation_id)

kinsta_tools_php-version

Change the PHP version for an environment (returns an operation_id)

kinsta_tools_denied-ips

Get the list of denied (blocked) IP addresses for an environment

kinsta_tools_denied-ips_update

Update the list of denied (blocked) IP addresses for an environment

kinsta_tools_force-https_get

Get the Force HTTPS status for an environment

kinsta_tools_force-https_set

Set the Force HTTPS status for an environment

kinsta_tools_search-and-replace

Preview or perform a database search and replace

Plugins & Themes

Tool

Description

kinsta_plugins_list

List all plugins for an environment

kinsta_plugins_update

Update a single plugin (returns an operation_id)

kinsta_plugins_bulk-update

Update multiple plugins at once (returns an operation_id)

kinsta_plugins_list-wp

List plugins with details from the WordPress.org repository

kinsta_themes_list

List all themes for an environment

kinsta_themes_update

Update a single theme (returns an operation_id)

kinsta_themes_bulk-update

Update multiple themes at once (returns an operation_id)

kinsta_themes_list-wp

List themes with details from the WordPress.org repository

Domains

Tool

Description

kinsta_domains_list

List all custom domains for an environment

kinsta_domains_add

Add a custom domain to an environment

kinsta_domains_delete

Remove custom domains from an environment

kinsta_domains_verification

Get DNS verification records for a domain

kinsta_domains_set-primary

Set the primary domain for an environment

DNS (Kinsta DNS)

Tool

Description

kinsta_dns_domains

List all DNS domains for your company

kinsta_dns_records

List DNS records for a domain

kinsta_dns_records_create

Create a new DNS record

kinsta_dns_records_update

Update an existing DNS record

kinsta_dns_records_delete

Delete a DNS record

Edge Cache & CDN

Tool

Description

kinsta_edge-cache_clear

Clear the edge cache for an environment (returns an operation_id)

kinsta_edge-cache_toggle

Enable or disable edge caching for an environment

kinsta_cdn_clear-cache

Clear the CDN cache for an environment (returns an operation_id)

kinsta_cdn_image-optimization

Configure CDN image optimization settings

SFTP Users

Tool

Description

kinsta_sftp-users_list

List additional SFTP/SSH user accounts for an environment

kinsta_sftp-users_toggle

Enable or disable additional SFTP/SSH accounts

kinsta_sftp-users_add

Add a new additional SFTP/SSH user account

kinsta_sftp-users_remove

Remove an additional SFTP/SSH user account

Backups

Tool

Description

kinsta_backups_list

List all backups for an environment

kinsta_backups_downloadable

List downloadable backups for an environment

kinsta_backups_create

Create a manual backup (returns an operation_id)

kinsta_backups_restore

Restore an environment from a backup (destructive; returns an operation_id)

kinsta_backups_delete

Delete a backup (cannot be undone)

kinsta_backups_create-downloadable

Create a downloadable backup

kinsta_backups_next-downloadable

Get when the next downloadable backup can be created

Analytics

Tool

Description

kinsta_analytics_visits

Get visitor analytics for an environment over a date range

kinsta_analytics_visits-usage

Get visitor usage analytics (billable visits)

kinsta_analytics_bandwidth

Get bandwidth analytics for an environment over a date range

kinsta_analytics_bandwidth-usage

Get bandwidth usage analytics (billable bandwidth)

kinsta_analytics_cdn-bandwidth

Get CDN bandwidth analytics for an environment over a date range

kinsta_analytics_cdn-bandwidth-usage

Get CDN bandwidth usage analytics (billable CDN bandwidth)

kinsta_analytics_disk-space

Get disk space usage analytics for an environment

kinsta_analytics_top-countries

Get top visitor countries

kinsta_analytics_top-cities

Get top visitor cities

kinsta_analytics_top-client-ips

Get top client IP addresses

kinsta_analytics_top-asns

Get top autonomous system numbers

kinsta_analytics_top-browsers

Get top browsers

kinsta_analytics_top-hosts

Get top hosts

kinsta_analytics_top-referrers

Get top referrers

kinsta_analytics_top-uas

Get top user agents

kinsta_analytics_visits-dispersion

Get visit dispersion

kinsta_analytics_response-codes

Get response code breakdown

Logs

Tool

Description

kinsta_logs_get

Get log file contents for an environment

Resources

The server exposes data as MCP resources:

Static Resources

Resource URI

Description

kinsta://sites

List all WordPress sites in your Kinsta company

kinsta://regions

List available deployment regions

Resource Templates

Resource URI

Description

kinsta://sites/{site_id}

Details for a specific site

kinsta://sites/{site_id}/environments

Environments for a specific site

Prompts

The server provides guided prompts for common workflows:

Prompt

Description

deploy-site

Guide through creating a new WordPress site on Kinsta

manage-backups

Guide for backup list, create, restore, download, and delete workflows

push-environment

Guide for pushing changes between environments (e.g. staging to live)

setup-domain

Guide for adding a custom domain to a Kinsta environment

Development

Setup

# Clone the repo
git clone https://github.com/jacob-hartmann/kinsta-mcp.git
cd kinsta-mcp

# Use the Node.js version from .nvmrc
# (macOS/Linux nvm): nvm install && nvm use
# (Windows nvm-windows): nvm install 22 && nvm use 22
nvm install
nvm use

# Install dependencies
pnpm install

# Copy .env.example and configure
cp .env.example .env
# Edit .env with your API key and company ID

Running Locally

# Development mode (auto-reload)
pnpm dev

# Production build
pnpm build

# Production run
pnpm start

Debugging

You can use the MCP Inspector to debug the server:

# Run from source
pnpm inspect

# Run from built output
pnpm inspect:dist

pnpm inspect loads .env automatically via dotenv (see .env.example).

If you see Ignored build scripts: esbuild..., run pnpm approve-builds and allow esbuild. In CI we install dependencies with lifecycle scripts disabled (pnpm install --ignore-scripts) and then explicitly rebuild only esbuild for the production build job.

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines on how to contribute to this project.

Security

See SECURITY.md for security policy and reporting vulnerabilities.

Support

This is a community project provided "as is" with no guaranteed support. See SUPPORT.md for details.

License

MIT © Jacob Hartmann

Available Tools

101 tools
kinsta_analytics_bandwidthGet Bandwidth AnalyticsB
Read-onlyIdempotent

Get bandwidth analytics for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, covering the safety profile. The description 'Get bandwidth analytics' is consistent with those annotations and adds no behavioral context beyond them, which is acceptable given the annotation coverage. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with zero filler, front-loaded with the essential action. Nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

It is a simple read-only query tool with no output schema, so the description need not explain return values. However, it could usefully mention the time_span options or the from/to date-range behavior, and it fails to disambiguate from the sibling bandwidth-usage tool. Adequate but minimal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75% (env_id, to, from documented; time_span lacks a description). The description adds nothing about parameters beyond the schema, and does not explain the time_span enum options or the relationship between from/to and time_span. With coverage in the mid-range, baseline 3 is fair.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') plus resource ('bandwidth analytics') plus scope ('for an environment'). Clear and unambiguous on its own, but it does not differentiate from very similar siblings like kinsta_analytics_bandwidth-usage, kinsta_analytics_cdn-bandwidth, or kinsta_analytics_cdn-bandwidth-usage, so an agent cannot tell which bandwidth metric it is getting.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus the many analytics siblings. Given kinsta_analytics_bandwidth-usage exists (nearly identical name), there is zero disambiguation about which returns raw bandwidth vs. usage, or how CDN bandwidth differs. An agent must guess.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_bandwidth-usageGet Monthly Bandwidth UsageA
Read-onlyIdempotent

Get this month's billable bandwidth usage for a site.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds useful context about 'billable' and monthly scoping, but it does not disclose output shape, units, timezone handling, or pagination, which would add behavioral value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence conveys the verb, resource, time period, metric type, and scope. There is no filler or redundant restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only analytics tool, the description plus schema is mostly sufficient. The main gap is the absence of return-value details, but the operation is simple enough that 'usage' adequately implies what the caller receives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: site_id is documented as 'The site ID'. The description adds essentially no parameter-level meaning beyond confirming the tool operates 'for a site', so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and identifies the exact resource: this month's billable bandwidth usage for a site. It is clear about scope, though it does not explicitly distinguish itself from sibling tools like kinsta_analytics_bandwidth or kinsta_analytics_cdn-bandwidth-usage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'this month's billable bandwidth usage' implies a specific billing/usage context, giving some situational guidance. However, there is no explicit statement of when to prefer this tool over the closely related analytics siblings, nor any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_cdn-bandwidthGet CDN Bandwidth AnalyticsB
Read-onlyIdempotent

Get CDN bandwidth analytics for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description need not restate these. It adds the scope 'for an environment', but this is also evident from the required env_id parameter. No additional behavioral details (e.g., rate limits, auth, return format) are provided, but since annotations cover safety, the description adds minimal but non-contradictory value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no filler. It is front-loaded with the core purpose and does not waste words. This is an ideal level of conciseness for a tool description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for an analytics tool with multiple parameters and many close siblings. It does not explain how the date parameters (from/to) interact with time_span, what the response format is, or how it differs from kinsta_analytics_cdn-bandwidth-usage. Given no output schema and no guidance, an agent may not know how to correctly construct a request or interpret results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% (3 of 4 params have descriptions). The description itself does not mention any parameters, so it adds no extra meaning. The missing description for time_span is somewhat mitigated by its self-explanatory enum values. With moderate coverage and no compensatory description, a score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and the specific resource ('CDN bandwidth analytics'), which is distinct from general analytics tools like visits or disk-space. However, it does not differentiate itself from the sibling tool 'kinsta_analytics_cdn-bandwidth-usage', which appears to serve a nearly identical purpose. The purpose is clear in isolation but ambiguous within the set of similar analytics tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention the -usage variant or any other related analytics tools, nor does it explain conditions that would favor one over another. An agent is left to infer usage from the name alone, which is insufficient given the large number of sibling analytics tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_cdn-bandwidth-usageGet Monthly CDN Bandwidth UsageA
Read-onlyIdempotent

Get this month's billable CDN bandwidth usage for a site.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered and the description does not contradict it. The description adds only the time-scoping detail ('this month's') and 'billable' framing, but says nothing about aggregation or return format. With annotations carrying the safety burden, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with zero wasted words, front-loaded with the verb and resource. Every token earns its place and no information is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read tool, the description is mostly adequate, and there is no output schema to document. However, given the close sibling ambiguity (cdn-bandwidth vs cdn-bandwidth-usage), the lack of disambiguation leaves a completeness gap that could cause mis-selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% since the single parameter site_id is documented as 'The site ID' in the schema. The description adds no additional parameter detail, but per the baseline, a 3 is correct when the schema already fully documents the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get'), a resource ('CDN bandwidth usage'), and adds scoping qualifiers ('this month's billable') plus scope ('for a site'). This is clear and meaningfully distinct from the sibling kinsta_analytics_bandwidth. However, it does not explicitly distinguish itself from the very close sibling kinsta_analytics_cdn-bandwidth, which differs only by the '-usage' suffix.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'this month's billable' implies a billing-oriented use case, providing some context. But with four near-identical analytics siblings (bandwidth, bandwidth-usage, cdn-bandwidth, cdn-bandwidth-usage), there is no explicit when-to-use vs when-not-to-use guidance or named alternatives, leaving the agent to infer the distinction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_disk-spaceGet Disk Space AnalyticsC
Read-onlyIdempotent

Get disk space analytics for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo
time_zoneYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, which cover the safety profile. The description adds nothing beyond stating it retrieves analytics; it does not disclose behavior like time range handling, response format, or any limitations. Since annotations carry the load, the description's marginal value is low.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no filler. It is appropriately short, though it sacrifices substance for brevity, making it slightly under-specified but still efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and five parameters, the description is severely incomplete. It does not explain what the returned analytics look like, how time ranges are applied, or the relationship between time_span and from/to. Given the complexity and the need to route among many sibling analytics tools, the description falls short of what an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 60%: to, from, and env_id have descriptions, but time_span and time_zone lack descriptions (only an enum and a pattern). The description provides no additional parameter context, so it does not compensate for the undocumented parameters. An agent would need to infer that time_span has predefined ranges and time_zone requires a specific offset format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('disk space analytics for an environment'), clearly distinguishing it from sibling analytics tools like bandwidth or visits. It does not explicitly name a sibling, but the resource is specific enough to avoid ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus other analytics tools, nor any mention of typical use cases or prerequisites. The description is purely declarative and does not help an agent decide between this and kinsta_analytics_bandwidth or kinsta_analytics_visits.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_response-codesResponse CodesC
Read-onlyIdempotent

Get response code breakdown.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety profile. The description adds no behavioral context beyond the word 'breakdown' – no mention of aggregation, date-range handling, or what the response represents. It essentially restates the title without revealing any non-obvious behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with the verb and resource, and completely free of fluff. However, it is nearly tautological with the tool title 'Response Codes' and carries little informative weight, so it is not a model of rich conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter analytics tool with no output schema, the description is too thin. It does not explain what the breakdown contains, how from/to and time_span affect results, or what the response looks like. An agent would have to infer all of this from the tool name and the bare schema, which is a clear completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%: env_id, to, and from have descriptions, so the baseline is 3. The description adds no parameter-level semantics, and time_span remains undocumented both in the description and in the schema (only an enum list is provided). This matches the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action on a specific resource: 'Get response code breakdown.' This is clearly distinct from sibling analytics tools like top-countries or visits, and the resource (response codes) is identifiable. However, it does not explicitly differentiate from siblings by name or clarify that 'response codes' refers to HTTP status codes, so it falls just 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.

Usage Guidelines2/5

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 instead of the many sibling analytics tools, nor any mention of scenarios, prerequisites, or exclusions. The only implicit context is the tool name, which is insufficient for an agent to decide between this and related analytics endpoints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_top-asnsTop ASNsC
Read-onlyIdempotent

Get top autonomous system numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds no further behavioral context such as what the response looks like, whether results are sorted, how many items are returned, or how the time range is applied. It neither contradicts annotations nor enriches them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence with no wasted words and the core action is front-loaded. However, it is under-specified for a tool with four parameters and many siblings, so the brevity comes at the cost of useful guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 burden of explaining expected results, but it does not mention return format, sorting, limits, or how time parameters affect output. Given the tool's complexity—four parameters and many sibling analytics tools—the description is incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description provides no information about env_id, time_span, from, or to. The schema covers 75% of parameters with descriptions, but time_span only has an enum without an explicit description. Since schema coverage is below the 80% threshold, the description should have compensated, but it adds no parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Get top autonomous system numbers,' which clearly differentiates this from sibling analytics top-* tools like top-countries, top-cities, and top-browsers. It also expands the acronym ASNs. However, it omits any context about the environment or time span, relying on the schema for those details.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus alternatives such as top-countries or top-host. No prerequisites, exclusions, or conditions are stated. The only implied usage is 'if you need top ASNs,' but the description does not help an agent choose among the many sibling analytics tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_top-browsersTop BrowsersC
Read-onlyIdempotent

Get top browsers.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent behavior, and the description adds no behavioral context beyond 'Get'. It does not state whether results are ranked, paginated, or limited to a period, so it contributes no information 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no wasted words. It is concise but slightly under-specified; the brevity is not itself a flaw.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and many analytics siblings, more context is needed: what metric ranks browsers, what the returned list looks like, and how time_span/from/to shape results. The description is a minimum-viable label rather than a complete tool definition.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents env_id, to, and from, while time_span has an enum, covering about 75% of parameters. The description adds nothing about parameters, but because the schema is mostly self-explanatory, the gap is modest.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Get') and resource ('top browsers'), which is a distinct report among the top-* analytics siblings. It lacks detail on what defines 'top' (e.g., visits vs. sessions), but the core purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool over kinsta_analytics_top-uas, top-countries, or other analytics siblings. An agent must infer use entirely from the resource name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_top-citiesTop CitiesC
Read-onlyIdempotent

Get top visitor cities.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is essentially a restatement of the tool name, adding only 'get' and 'visitor'. It doesn't disclose how results are ordered, what 'top' means, or any response characteristics. Since annotations already cover readOnly and idempotent, the description adds minimal behavioral context, leaving the agent to infer the output format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence, which is concise, but it's arguably too terse for a tool with four parameters and many siblings. It lacks any structuring or prioritization of information, but at least it's not bloated. A slightly more detailed description could improve usefulness without sacrificing brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is incomplete for an analytics tool. It doesn't explain what 'top' means (e.g., sorted by visit count), what time range options are available, or what the response structure looks like. Given the absence of an output schema, the description should carry more burden, but it provides only a bare statement of purpose.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for env_id, from, and to, covering 75% of parameters. The description adds no parameter information, but with high schema coverage, the baseline of 3 is appropriate. The time_span parameter lacks a description but has an enum, which provides some semantic context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get top visitor cities' states a specific verb and resource, clearly indicating it retrieves city-level visitor analytics. However, it doesn't distinguish itself from sibling tools like top-countries or top-client-ips beyond the resource name, so it's clear but not fully differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the many other analytics top-* tools. It doesn't mention any prerequisites, such as requiring an environment ID, or any conditions under which one would choose cities over countries. This is a significant gap given the large sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_top-client-ipsTop Client IPsB
Read-onlyIdempotent

Get top client IP addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. However, the description adds no behavioral context beyond the simple read operation, such as whether results are sorted, limited, or affected by date parameters. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler or repetition. It states the operation and object directly, making it immediately scannable and appropriately sized for a simple analytics read tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with a small schema, the description is minimally adequate. However, there is no output schema, and the description does not clarify ranking semantics, default time windows, or response shape. These are not fatal gaps, but they leave the agent without enough context for a fully informed invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, with to, from, and env_id having descriptions and time_span having a self-explanatory enum. The description adds no parameter-level detail, but the schema mostly carries the burden. The uncovered time_span parameter is still understandable from its enum values, so the lack of description-level compensation is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb and resource: 'Get top client IP addresses.' It states exactly what the tool returns and is sufficiently distinct from sibling analytics tools such as top-countries or top-referrers by naming a specific resource. It does not explicitly contrast itself with any sibling, but the resource alone makes the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus the many other analytics top-* endpoints or the broader analytics family. The description does not mention conditions, alternatives, or exclusions, so agents must infer usage solely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_top-countriesTop CountriesB
Read-onlyIdempotent

Get top visitor countries.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, so the safety profile is covered. The description adds minimal behavioral context beyond the resource name; it doesn't mention date range handling, default time spans, or response format. With annotations covering the main behavioral traits, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the core purpose. It earns its place with no wasted words, though it could add a bit more context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only analytics tool with annotations covering safety and a schema covering most parameters, the description is adequate but not complete. It doesn't mention default time ranges, how the 'top' ranking is determined, or whether results are aggregated. Given the tool's simplicity and the presence of sibling analytics tools, a bit more context would help.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so most parameters (env_id, from, to) are documented in the schema. The description adds no additional parameter semantics beyond what the schema provides. The time_span parameter has an enum but no description in the schema, and the description doesn't clarify it either, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get top visitor countries' clearly states the verb (get), resource (top visitor countries), and scope (countries). It is distinguishable from sibling analytics tools like top-cities, top-client-ips, and top-asns by the resource name, though it doesn't explicitly differentiate itself from those siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving top visitor countries but provides no explicit guidance on when to use this tool versus alternatives like top-cities or top-asns. The context of analytics tools is clear, but no exclusions or alternative routing is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_top-hostsTop HostsC
Read-onlyIdempotent

Get top hosts.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety and mutation profile. The description adds no further behavioral context (e.g., return format, pagination, date handling, or what 'hosts' refers to). It essentially restates the tool name, providing no value beyond what annotations already convey.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely terse ('Get top hosts'), which is concise but under-specified. It is not front-loaded with useful information because there is almost none. For a tool with four parameters and no output schema, this is insufficiently informative, crossing from conciseness into incompleteness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema, the description should at least hint at the return structure or typical result (e.g., list of hosts with metrics). It does not. The description also fails to explain what 'top hosts' means or how it relates to other analytics tools. The agent is left with no idea of the output shape or any caveats, making the definition incomplete for a simple but non-trivial analytics query.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, with to, from, and env_id documented. The tool description itself adds nothing about parameter semantics. Since the schema covers most parameters, the baseline of 3 is appropriate; the description does not compensate for the undocumented time_span param but is not required to given high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource ('Get top hosts'), but it does not distinguish itself from the many sibling 'top-' analytics tools (e.g., top-countries, top-cities, top-referrers). The name carries the differentiation, not the description. It is not a tautology, but it is minimal.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus alternatives like kinsta_analytics_top-countries or kinsta_analytics_top-asns. No context about use cases, prerequisites, or exclusion criteria is provided. The description gives the agent no help in deciding between the many top-X analytics siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_top-referrersTop ReferrersC
Read-onlyIdempotent

Get top referrers.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, which cover the safety profile. The description adds no behavioral context beyond the bare action; it does not mention what the output looks like, any rate limits, or data scope. With annotations present, the description is expected to add some context, but it contributes nothing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at one sentence with no wasted words, which is good for conciseness. However, it is under-specified for a tool with four parameters and a family of similar analytics tools. It lacks structure such as examples or additional context, making it borderline between adequate and too terse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and four parameters, the description does not explain return values, pagination, or how to interpret results. It also does not help an agent distinguish this from the many other analytics siblings. Given the complexity of the domain, the description is incomplete for correct invocation and result interpretation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% (to, from, env_id have descriptions; time_span only has an enum). The description does not add any parameter meaning beyond the schema. Since coverage is high, the baseline is 3, and the description does not compensate for the missing time_span description, but it also does not need to given the enum values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get top referrers.' clearly states the verb (Get) and resource (top referrers), making the purpose unambiguous. It does not explicitly differentiate from sibling analytics tools like top-countries or top-uas, but the resource name itself is specific enough. It is not a tautology and is more informative than just the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus other analytics tools (e.g., top-countries, top-uas). The description does not mention alternatives, exclusions, or context such as needing an env_id. The only implied usage is for retrieving referrer data, but there is no explicit routing or comparison to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_top-uasTop User AgentsC
Read-onlyIdempotent

Get top user agents.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond the annotations, such as what data is aggregated or how time_span interacts with from/to. It does not contradict annotations, but it also does not enrich them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short ('Get top user agents.'), which is concise but under-specified. It front-loads the core action, but it does not earn its place as a complete tool description because it omits any context that would help an agent select or invoke the tool correctly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters, no output schema, and many closely related siblings, the description is incomplete. It does not explain the required env_id, the meaning of time_span, or how this tool differs from top-browsers or top-client-ips. An agent would need to open the schema and infer context from the tool name.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75%, so most parameters are already documented in the schema. The description adds no additional meaning about the parameters, such as how from/to relate to time_span or what 'top user agents' means in terms of the returned data. Baseline 3 is appropriate because the schema carries the parameter documentation burden.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get top user agents' states a clear verb and resource, but it is terse and does not differentiate from the many sibling analytics tools (top-countries, top-browsers, top-referrers, etc.). It identifies what it returns but not the scope or context that distinguishes it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus the other analytics top-* tools. The description does not mention the required env_id context, time_span options, or that it is a read-only analytics query. An agent must infer usage from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_visitsGet Visit AnalyticsC
Read-onlyIdempotent

Get visitor analytics for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate read-only, idempotent, and open-world behavior, but the description adds no behavioral context beyond that. It does not mention default time ranges, how from/to and time_span interact, response shape, or any aggregation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no wasted words. It is concise, though brevity comes at the cost of missing useful context.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with four parameters, no output schema, and many closely related analytics siblings, this description is too sparse. An agent lacks the information needed to correctly choose this tool and disambiguate date-window behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes env_id, from, and to, but the description adds no parameter-level meaning. The relationship between time_span and the custom date parameters is unexplained, leaving a notable semantic gap for a parameter that has no schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Get') and resource ('visitor analytics') for an environment, so the basic purpose is identifiable. However, it does not differentiate from the many sibling analytics tools, especially kinsta_analytics_visits-usage, so an agent may still struggle to select this exact tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus alternatives, or how it differs from the many other kinsta_analytics_* tools. No exclusions, prerequisites, or selection criteria are provided, leaving the context entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_visits-dispersionVisit DispersionC
Read-onlyIdempotent

Get visit dispersion.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoCustom end date (YYYY-MM-DD)
fromNoCustom start date (YYYY-MM-DD)
env_idYesThe environment ID
time_spanNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, so the description does not need to repeat safety traits. However, it adds no further behavioral context—no mention of return format, aggregation level, or any constraints. The description is a bare operation statement with no value 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with no filler, which is concise and front-loaded. However, it is so minimal that it approaches under-specification rather than effective brevity, though for what it contains it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and a description that is only 'Get visit dispersion.', an agent lacks essential context: what dispersion means, what data is returned, how to interpret parameters, or how this differs from the numerous analytics siblings. For a tool with 4 parameters and many peers, this is significantly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% (env_id, from, to have descriptions; time_span has an enum but no text). The description does not add any parameter semantics, so it relies entirely on the schema. Since coverage is high, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Get' and resource 'visit dispersion', which clearly indicates the subject. However, it does not explain what 'dispersion' represents or how it differs from other analytics metrics like visits or bandwidth, leaving some ambiguity for an agent choosing among many siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus the many other analytics tools (visits, bandwidth, top-countries, etc.). An agent cannot infer the appropriate context or alternatives from the description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_analytics_visits-usageGet Monthly Visit UsageA
Read-onlyIdempotent

Get this month's billable visit usage for a site.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, openWorldHint=true, and idempotentHint=true, covering the safety profile. The description adds the scoping context of 'this month' and 'billable,' which is helpful but not behavioral detail. No side effects, return format, or auth requirements are disclosed, though the annotations lessen the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, compact sentence with no wasted words. It front-loads the action and object, then immediately adds the specific time and billing qualifiers. This is an appropriately sized description for such a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input schema (one param), the presence of safety annotations, and the lack of an output schema, the description provides everything an agent needs to invoke the tool correctly. It specifies the metric (billable visit usage), the time window (this month), and the target (a site). No critical operational detail is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the sole parameter site_id is described as 'The site ID' in the schema. The description does not add any extra meaning beyond confirming the site scope經濟. The baseline of 3 applies because the schema already documents the parameter adequately.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states a specific verb ('Get') and resource ('visit usage'), then narrows it with 'this month's billable' and 'for a site.' This unambiguously distinguishes it from the many other analytics tools in the sibling list, such as kinsta_analytics_visits or kinsta_analytics_visits-dispersion, without needing to open the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no explicit guidance about when to choose this tool over the numerous analytics siblings. It does not mention alternatives, exclusions, or prerequisites. The 'billable' and 'this month' qualifiers implicitly hint at its niche, but the agent is left to infer the selection criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_auth_validateValidate API KeyA
Read-onlyIdempotent

Validate the current Kinsta API key. Returns account information if the key is valid.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark it read-only, idempotent, and open-world; the description adds the conditional return behavior (account info only if the key is valid). It does not state invalid-key error behavior, but for a read-only validation call this is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The core action and result are front-loaded, making the description easy to scan and act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only validation call, the description provides the key operational details: what is being validated and what a successful result returns. Even without an output schema, this is sufficient for an agent to invoke it correctly, though invalid-key behavior is not explicitly described.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty, so there are no parameters to document. With zero parameters, the description does not need to add parameter details beyond what is already present.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description names a specific verb (validate), a specific resource (current Kinsta API key), and the expected outcome (account information when valid). No sibling tool shares exactly this purpose, so it is clearly distinguishable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied—call this when you need to confirm the API key is valid and receive account info—but there is no explicit when-to-use versus kinsta_ping or other connectivity checks. Adequate for a unique auth tool, but not fully explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_backups_createCreate BackupA

Create a manual backup for an environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoOptional tag/label for the backup
env_idYesThe environment ID

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations only provide openWorldHint, so the description must carry the burden of behavioral disclosure. It reveals the side effect of creating a backup and that an operation_id is returned, but it does not state that the backup is likely asynchronous, how long it may take, whether it consumes storage quota, or what happens if a backup is already in progress. For a mutating tool with no readOnlyHint or destructiveHint annotations, this is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no filler. It front-loads the core action and resource, then notes the return value. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a small two-parameter tool with full schema coverage, the description is nearly sufficient and even names the return field. However, with no output schema and no mention of how to poll or handle the returned operation_id, an agent must infer the next step from the sibling kinsta_operations_status tool. That missing async-completion context is a real but modest gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already documents both env_id and the optional tag. The description adds no further parameter-level meaning, such as tag format constraints or how env_id relates to the environment. Since the schema does the heavy lifting, the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states an unambiguous action ('Create a manual backup'), the target resource ('an environment'), and a concrete return contract ('operation_id'). The qualifier 'manual' also helps distinguish it from siblings like kinsta_backups_restore, kinsta_backups_delete, kinsta_backups_list, and kinsta_backups_create-downloadable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'manual backup' gives some implied context that this is a user-initiated action rather than a scheduled or downloadable backup. However, the description never explicitly says when to choose this tool over kinsta_backups_create-downloadable, kinsta_backups_restore, or kinsta_backups_list, nor does it mention any prerequisites such as the environment needing to exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_backups_create-downloadableCreate Downloadable BackupB

Create a downloadable backup for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates a mutating action ('create'), consistent with the openWorldHint annotation, but it does not disclose any additional behavioral traits such as whether the operation is asynchronous, how long it takes, or what the response looks like. With only openWorldHint present, the description carries the burden of explaining side effects, which it fails to do.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no filler. The verb and object are front-loaded, making it immediately actionable and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one parameter and full schema coverage, the description is minimal but adequate for basic invocation. However, it lacks information about the operation's outcome (e.g., return value, whether a backup ID is generated) and does not clarify how it differs from the sibling 'create' tool, leaving some ambiguity for correct selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% since env_id is fully described in the schema. The description adds no extra meaning to the parameter beyond what the schema already provides, so it meets the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Create' and the resource 'a downloadable backup for an environment'. It is specific enough to distinguish from generic backup creation by adding 'downloadable', but it does not explicitly contrast with sibling tools like kinsta_backups_create or kinsta_backups_downloadable, so it earns a 4 rather than a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its siblings (e.g., kinsta_backups_create, kinsta_backups_downloadable). The description simply states what it does without any contextual cues or exclusions, leaving the agent to infer the appropriate scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_backups_deleteDelete BackupA
Destructive

Delete a backup. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
backup_idYesThe backup ID to delete

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate destructiveHint=true and openWorldHint=true. The description adds a meaningful behavioral detail by stating 'This action cannot be undone,' which clarifies the permanence beyond the generic destructive annotation. This is useful context for an agent deciding whether to proceed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very brief: two short sentences. The first sentence restates the title, but the second sentence carries important irreversibility information. There is no wasted content, though the redundancy with the title prevents a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter delete operation, the description covers the key behavioral fact (irreversibility) and the schema covers the parameter. No output schema exists, so return values are not a gap. It could be improved by referencing how to obtain a backup_id, but the overall context is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with backup_id described as 'The backup ID to delete.' The description adds no additional parameter semantics beyond what the schema already provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Delete a backup.' It clearly identifies the action and is distinct among backup siblings such as kinsta_backups_list, kinsta_backups_create, and kinsta_backups_restore. However, it does not explicitly differentiate itself from other delete tools or mention scope, so it stops 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.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that it should be used only when a backup should be permanently removed, nor does it reference related operations like restore or list. The use case is implied by the name but not explicitly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_backups_downloadableList Downloadable BackupsC
Read-onlyIdempotent

List downloadable backups for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds no behavioral context beyond the annotations, which already declare readOnlyHint, openWorldHint, and idempotentHint. It does not disclose anything about return format, pagination, or other side effects, so it provides no additional transparency beyond the structured metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no redundant words. It front-loads the action and resource, making it highly concise and appropriately structured for a simple listing tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the tool is simple, the description is minimal and does not clarify what constitutes a 'downloadable backup' or what the response will look like, especially given there is no output schema. An agent may need more context to understand the exact scope or expected results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter env_id, so the schema already fully documents it. The description adds no extra 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action (list) and a specific resource type (downloadable backups) scoped to an environment. It distinguishes itself from siblings like kinsta_backups_list by the word 'downloadable', making its purpose clear, though it does not explicitly contrast it with the general backup list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as kinsta_backups_list or kinsta_backups_create-downloadable. The usage context is only implied by the tool name and description, with no explicit when-to-use or when-not-to-use instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_backups_listList BackupsA
Read-onlyIdempotent

List all backups for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety profile. The description adds only the environment-scoping constraint and the fact that it lists 'all' backups, but it does not describe pagination, error behavior, or what constitutes a backup. With annotations present, the description meets the minimum but adds little beyond the obvious.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that states the action and scope. It is front-loaded with the core purpose and contains no filler. This is an example of appropriate minimalism for a straightforward read operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one parameter, no output schema, and full annotation coverage, the description conveys the essential behavior. It tells the agent what the tool does and the scope (environment). It does not detail the response format or any limits, but given the tool's simplicity and the annotations, this is sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides a 100% description of the single parameter env_id as 'The environment ID'. The tool description's phrase 'for an environment' echoes that same meaning without adding new details about format, validation, or how to obtain the ID. Since schema coverage is full, the baseline of 3 is appropriate; the description does not substantially enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('backups') scoped to an environment. It clearly distinguishes from sibling backup tools that create, restore, delete, or download backups. No ambiguity about what action this performs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus the related backup tools (e.g., kinsta_backups_downloadable). An agent must infer that this is the general list operation, but there is no explicit alternative or exclusion. For a simple read-only list this is a minor gap, but the lack of any usage context is noticeable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_backups_next-downloadableGet Next Downloadable Backup TimeA
Read-onlyIdempotent

Get when the next downloadable backup can be created for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description need not repeat those. It adds a bit of context by specifying the return type (a time), but does not explain potential edge cases (e.g., if no downloadable backup is possible, or if the response format differs). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is front-loaded and concise. Every word adds value; there is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only query with one parameter, the description is sufficient. It clearly states what the tool returns (the next downloadable backup time) and the scope (environment). Given the annotations cover safety and idempotency, and there is no output schema, the description covers the essentials. It could be slightly more explicit about the return format, but that is minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% coverage for the single parameter env_id, with a clear description. The tool description adds nothing beyond the schema, so the baseline of 3 applies. No additional semantic value is provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: getting the next downloadable backup time for an environment. It uses a specific verb and resource, and the scope is clear. However, it does not explicitly differentiate itself from sibling backup tools (e.g., kinsta_backups_create-downloadable or kinsta_backups_list), though the name and phrasing make the distinction implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is used to determine when a downloadable backup can be created, which gives some usage context. However, it does not provide explicit guidance on when to use this over alternatives, nor does it mention any exclusions or prerequisites. Given the many backup-related siblings, more explicit routing would be helpful.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_backups_restoreRestore BackupA
Destructive

Restore an environment from a backup. This will overwrite the current environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
backup_idYesThe backup ID to restore from
target_env_idYesThe environment ID to restore to
notified_user_idYesUser ID to notify

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as destructive, but the description adds concrete behavioral context by stating it will overwrite the current environment and returns an operation_id. This goes beyond the structured annotations and helps set expectations about the impact and async nature.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences with no filler. It front-loads the primary purpose, immediately states the critical consequence, and closes with the return value. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive restore action with no output schema, the description covers the essential context: what it does, that it overwrites, and what it returns. It could mention async behavior or confirmation steps, but the core information an agent needs is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter already has a clear description in the schema. The tool description does not add additional semantic detail beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Restore an environment from a backup'), the resource affected, and the side effect. It is distinguishable from sibling backup tools like kinsta_backups_list or kinsta_backups_create, and the verb+resource combination is specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for restoring an environment to a previous backup state, but does not explicitly state when to use it versus alternatives, nor does it provide exclusions or prerequisites. Usage is inferable but not directly guided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_cdn_clear-cacheClear CDN CacheB

Clear the CDN cache for an environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
cdn_cache_idYesThe CDN cache ID

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool returns an operation_id, which hints at asynchronous processing. The only annotation is openWorldHint: true, which signals external side effects, but the description does not elaborate on the destructive nature, reversibility, or any operational caveats. It adds a little value beyond the annotation but not much.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly written sentence that gets straight to the point. It states the action, the target, and the return value with zero filler, making it ideal for quick comprehension.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two well-documented parameters and no output schema, the description is adequate. It covers the core action and the return type. It could mention that the operation is asynchronous and might require polling the operation status, but that is not strictly necessary for a straightforward cache clear.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both env_id and cdn_cache_id have descriptive comments in the schema. The description does not add any additional parameter semantics beyond what the schema already provides, so a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: 'Clear the CDN cache for an environment.' It names the specific verb and resource and mentions the return value (operation_id). It does not explicitly differentiate from sibling tools like kinsta_tools_clear-cache or kinsta_edge-cache_clear, but the purpose is unambiguous on its own.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or which scenarios favor this over the similar cache-clearing tools. The description simply states what it does without any usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_cdn_image-optimizationConfigure Image OptimizationB

Configure CDN image optimization settings for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
image_optimization_typeYesDisable optimization or select lossy/lossless compression

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The only annotation is openWorldHint, so the description carries the burden of explaining behavior. 'Configure' implies a mutation, but the description does not disclose whether the operation is reversible, whether it requires CDN to be enabled, how existing settings are affected, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence that front-loads the action, resource, and scope. There is no redundant wording or filler, making it appropriately concise for a simple tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only two parameters fully covered by the schema and no nested objects, the description is minimally viable for invoking the tool. However, as a configuration and potentially state-changing operation, it lacks context about effects, prerequisites, or expected response, especially given there is no output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no value beyond the schema's parameter descriptions, and it does not elaborate on environment ID format or interpretation of the image_optimization_type values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('Configure'), a specific resource ('CDN image optimization settings'), and a scope ('for an environment'). It is distinguishable from siblings like kinsta_cdn_clear-cache because it targets image optimization, though it does not explicitly differentiate or describe the allowed values.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives, nor are prerequisites or exclusions mentioned. The phrase 'for an environment' provides some context, but it does not tell the agent when this operation is appropriate or what conditions must be met.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_company_activity-logsList Activity LogsA
Read-onlyIdempotent

List activity logs for your Kinsta company. Supports filtering and pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return
offsetNoOffset for pagination
site_idNoFilter by site ID
categoryNoFilter by activity category
languageNoLanguage for log messages
id_api_keyNoFilter by API key ID
id_initiated_byNoFilter by user ID who initiated the action

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety and side-effect expectations. The description adds that filtering and pagination are supported, which is useful but minimal. It does not describe response format, auth, or rate limits, but annotation coverage lowers the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant words. It front-loads the action and scope, then adds the key capabilities (filtering and pagination) efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal but adequate for a read-only listing tool with a fully documented schema. It does not specify the return structure or pagination mechanics, and there is no output schema, so the agent must infer the response format. However, annotations cover safety and the schema covers parameters, making it not critically incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with every parameter (limit, offset, site_id, category, language, id_api_key, id_initiated_by) individually described. The description itself only mentions generic filtering/pagination, adding no parameter-specific meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('activity logs for your Kinsta company'), clearly indicating the tool's purpose. It mentions filtering and pagination, which adds scope. It does not explicitly distinguish from sibling tools like kinsta_logs_get, but the name and 'for your Kinsta company' make the target clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for company-level activity logs via 'for your Kinsta company' and mentions filtering/pagination, but it does not explicitly name alternatives or provide when-not-to-use conditions. No exclusions are given, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_company_api-keysList API KeysB
Read-onlyIdempotent

List all API keys for your Kinsta company.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety and side-effect profile. The description adds no extra behavioral context beyond stating the operation is a list, which is consistent with the annotations. No contradiction exists, but the description doesn't disclose additional traits like pagination, rate limits, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that conveys the exact purpose with no wasted words. It is front-loaded with the key action and resource, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a trivial list tool with no parameters and no output schema, the description is sufficient to inform an agent what it does. It doesn't specify the return format, but given the tool's simplicity and the annotations covering safety, nothing critical is missing. It could be slightly richer by hinting at what fields are returned, but it's adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100% (vacuously). The description doesn't need to explain parameters, and it doesn't. The baseline of 3 applies because the schema already fully covers the (empty) parameter space.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'API keys' scoped to the company, which is specific enough to distinguish it from sibling list tools like kinsta_company_users or kinsta_company_regions. However, it doesn't explicitly name alternatives or contrast with other tools, so it doesn't earn the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention any conditions, exclusions, or context that would help an agent decide between this and other list operations. For a simple list tool, the intent is implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_company_pluginsList Company PluginsA
Read-onlyIdempotent

List all WordPress plugins across all sites in your Kinsta company. Supports search, filtering, and pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return
columnNoColumn filter
offsetNoOffset for pagination
searchNoSearch term to filter plugins
statusNoFilter by plugin status (e.g. active, inactive)
order_byNoSort configuration

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description does not need to repeat those. It adds that the tool 'Supports search, filtering, and pagination,' which is useful but does not go beyond that. Since the safety profile is covered by annotations, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-structured sentence that leads with the core purpose and then notes capabilities. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a simple listing tool with no output schema and robust annotations, the description covers the essential scope and capabilities. It does not mention response format or limitations, but for this tool those are not critical for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All six parameters have full schema descriptions (100% coverage), so the schema already documents their meaning. The description's mention of search/filter/pagination maps to parameters but does not add extra semantics like formats or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the verb 'List', the resource 'WordPress plugins', and the scope 'across all sites in your Kinsta company' clearly. This distinguishes it from site-specific tools like kinsta_plugins_list or kinsta_plugins_list-wp without needing to inspect them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly scopes the operation to all sites in the company, providing clear context that this is for company-wide listing rather than per-site. It does not explicitly name alternatives or exclusion criteria, but the scope is enough for an agent to decide when 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_company_regionsList Available RegionsA
Read-onlyIdempotent

List all available deployment regions for your Kinsta company.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the main safety profile. The description adds company scoping and 'all available' breadth, but does not disclose return structure, pagination, or any other behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the verb and resource, with no filler or repeated information from the schema or annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only list operation, the description is nearly complete. It could mention what form the regions take (e.g., IDs/codes) or that this feeds into site/environment creation, but that's a minor gap given the simplicity and available annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4. The description has nothing to clarify beyond the schema, which is already complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('list') and resource ('deployment regions') and scopes it to 'your Kinsta company.' It clearly distinguishes this from the many sibling tools by naming a unique resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: call this when you need the available deployment regions for the company. There are no plausible sibling alternatives for listing regions, so explicit when-not guidance is unnecessary.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_company_themesList Company ThemesA
Read-onlyIdempotent

List all WordPress themes across all sites in your Kinsta company. Supports search, filtering, and pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return
columnNoColumn filter
offsetNoOffset for pagination
searchNoSearch term to filter themes
statusNoFilter by theme status (e.g. active, inactive)
order_byNoSort configuration

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is well covered. The description adds useful scope information and general capabilities, but it does not disclose response shape, default limits, offset semantics, or how filters combine. These additions are modest relative to the 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loads the core scope, and avoids repeating the tool title. The second sentence earns its place by summarizing available capabilities without going into unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter, read-only listing tool with fully described schema properties and safe annotations, the description is mostly complete. It could be more complete by noting the response format or default pagination behavior, but those gaps do not seriously block correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so per the baseline the description does not need to document every parameter. The description only restates that search, filtering, and pagination are supported without clarifying ambiguous fields like column, status, or order_by beyond the schema. It adds little semantic value over the structured definitions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: 'List all WordPress themes across all sites in your Kinsta company.' This establishes scope and differentiates it from site-level theme tools like kinsta_themes_list and from plugin-focused sibling tools. The title reinforces the purpose without being the only source of meaning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The company-wide scope makes it clear this is the tool for aggregated theme listing across all sites, and the mention of search, filtering, and pagination indicates the standard query use case. It does not explicitly name alternatives or state when not to use it, so it stops short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_company_usersList Company UsersB
Read-onlyIdempotent

List all users in your Kinsta company.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. However, the description adds no additional behavioral context such as response format, pagination, or any limitations; it merely restates the title. It neither contradicts nor enriches the annotation information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the action and resource. Every word earns its place, with no filler or redundancy. It is appropriately minimal for a tool with no parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity, empty parameter list, and existing annotations, the description is minimally adequate. However, it does not hint at what the returned user list contains (e.g., IDs, emails, roles) and there is no output schema to fill that gap. For a list tool, a bit more context about the response would improve completeness, but it is not critical for a simple read-only operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema is an empty object with 100% coverage. There is nothing for the description to elaborate on, and the baseline for zero-parameter tools is 4. The description does not need to add parameter details, and it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'users in your Kinsta company,' making the tool's purpose unambiguous. It does not explicitly differentiate from sibling company-related tools like kinsta_company_regions or kinsta_company_api-keys, but the resource is specific enough that an agent can infer it is for user listing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no exclusions, and no context about scenarios where it applies. It is a bare statement that leaves all usage decisions to the agent without any comparative direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_dns_domainsList DNS DomainsA
Read-onlyIdempotent

List all DNS domains for your Kinsta company.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, so the safety profile is covered. The description adds no behavioral context beyond the annotations, such as pagination, response format, or company scope details. With annotations carrying the burden, a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It front-loads the action ('List') and the resource ('DNS domains'), making it immediately scannable for an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter read-only list tool, the description is mostly complete. However, it does not mention what the response contains (e.g., domain names, IDs, statuses) or whether company context is required, and there is no output schema to fill that gap. The sibling tools suggest related DNS operations, but the description alone is adequate but not rich.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so there is no parameter semantics burden on the description. The description correctly implies no inputs are needed, and the schema coverage is 100% (vacuously). Baseline 4 for zero-parameter tools is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List') and resource ('DNS domains for your Kinsta company'), which clearly identifies the operation. It does not explicitly differentiate from sibling tools like kinsta_dns_records or kinsta_domains_list, but the resource scope ('DNS domains') is distinct enough to avoid major confusion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a simple read operation with no parameters, and the context signals show zero required parameters, so an agent can infer when to use it. However, it does not explicitly state when to use this tool versus alternatives like kinsta_dns_records or kinsta_domains_list, nor does it mention any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_dns_recordsList DNS RecordsA
Read-onlyIdempotent

List all DNS records for a specific domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYesThe domain ID to list DNS records for

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the description is not required to restate safety traits. The description adds the scoping detail 'for a specific domain' and the completeness implication of 'all' records, but it does not describe response shape, pagination, potential errors, or authentication context beyond what annotations already cover.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that states the operation and the required scope. There is no redundant language, and the core purpose is front-loaded. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple, one-parameter read-only operation backed by strong annotations, the description is mostly complete. The main gap is the lack of any explicit statement about return value shape, but since no output schema is provided, a short note about returning DNS records could make it fully self-contained. Still, an agent can call this tool correctly with the current description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the single parameter domain_id is already described in the schema as 'The domain ID to list DNS records for'. The description adds no additional semantic detail about where the domain_id comes from or how to obtain it, so it neither improves nor harms parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the verb ('List'), the resource ('DNS records'), and the scope ('for a specific domain'). It is unambiguous, but it does not explicitly differentiate itself from the sibling DNS record mutation tools or from kinsta_dns_domains, relying instead on the verb and wording to imply the distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when the tool should be used: when a user wants DNS records belonging to a specific domain, and the schema requires a domain_id. However, it provides no explicit guidance about when not to use it or which sibling tools should be used instead, such as creating, updating, or deleting records.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_dns_records_createCreate DNS RecordB

Create a new DNS record for a domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlYesTime to live in seconds (minimum 300)
nameYesDNS record name (e.g. @ or subdomain)
typeYesDNS record type (e.g. A, AAAA, CNAME, MX, TXT, SRV)
domain_idYesThe domain ID to create a record for
resource_recordsYesArray of resource record values

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations only include openWorldHint, so the description carries the burden of behavioral disclosure. It merely says 'create' and does not explain mutation effects, duplicate handling, DNS propagation, asynchronicity, or permissions required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler or repetition. It is front-loaded with the core action, though it is too sparse to earn a higher score for structural richness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and only openWorldHint, the description does not tell the agent what the response will look like or whether the operation is asynchronous. Key context such as requiring an existing domain and checking operation status is absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and each parameter (domain_id, type, name, ttl, resource_records) already has a meaningful description. The tool description adds nothing 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('create'), a specific resource ('DNS record'), and a clear scope ('for a domain'). This clearly differentiates the tool from the sibling update, delete, and list operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance about when to use this tool versus kinsta_dns_records_update or kinsta_dns_records_delete. It does not mention prerequisites, such as the domain already existing or when a create operation would be appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_dns_records_deleteDelete DNS RecordB
Destructive

Delete a DNS record from a domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDNS record name to delete
typeYesDNS record type to delete
domain_idYesThe domain ID containing the record

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, so the description doesn't need to repeat that. It adds minimal context beyond the action itself, but doesn't disclose any side effects or irreversibility. With annotations covering the safety profile, a baseline 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler, front-loads the action and object. Extremely concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with full parameter documentation and destructive annotation, the description is minimally sufficient. However, it doesn't mention return values or any prerequisites beyond parameters, so a 3 is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for each parameter, so the schema does the heavy lifting. The description adds no parameter-specific meaning beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Delete) and the resource (DNS record) with a scope (from a domain). It is specific enough to distinguish from create/update siblings, though it doesn't explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like kinsta_dns_records_create or update. The description provides no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_dns_records_updateUpdate DNS RecordB

Update an existing DNS record for a domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
ttlNoNew TTL in seconds (minimum 300)
nameYesDNS record name to update
typeYesDNS record type (e.g. A, AAAA, CNAME, MX, TXT, SRV)
domain_idYesThe domain ID containing the record
new_resource_recordsNoNew resource records to add
removed_resource_recordsNoResource records to remove

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The only annotation is openWorldHint, which does not cover safety or side effects, so the description carries the burden. It merely says 'update' without disclosing how existing resource records are modified, whether changes are additive/replacement, or any permission/precondition requirements. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single terse sentence with no filler and the action verb is front-loaded. It is concise, but so minimal that it sacrifices useful context, so it earns 4 rather than 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With six parameters, a mutation operation, no output schema, and only a sparse annotation, the description should explain how the update is applied, such as whether new_resource_records replaces values and removed_resource_records deletes them. It currently leaves the agent to infer the tool's behavior from parameter names and siblings. This is a meaningful completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema documents all six parameters. The description adds no parameter-specific meaning, especially the relationship between new_resource_records and removed_resource_records, so it earns the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action (update) and resource (existing DNS record within a domain), which clearly distinguishes it from the sibling create/delete tools at a basic level. It doesn't spell out the update semantics or alternatives, but the purpose is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'existing' communicates that this tool is for modifying already-created DNS records, not for adding or removing records. It does not explicitly name create/delete alternatives or state conditions like needing the domain ID and record identifiers, but the usage context is fairly clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_domains_addAdd DomainC

Add a custom domain to an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
setup_typeNo
domain_nameYesThe domain name to add (e.g. example.com)
custom_ssl_keyNo
custom_ssl_certNo
is_wildcardlessNo
add_with_www_subdomainNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations only provide openWorldHint, so the description carries the burden of disclosing side effects. It says 'Add' but does not explain whether this triggers verification, downtime-avoidance behavior, SSL provisioning, or how existing domains on the environment are affected.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one short sentence with no filler and is front-loaded with the action and target. However, given the tool's seven parameters and optional configuration flags, the description is somewhat under-sized for the operation's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With seven parameters, no output schema, and minimal annotations, the description leaves out critical context such as setup_type behavior, custom SSL key/cert usage, wildcard handling, and post-call results. An agent would not know what to expect after invoking this tool or how to configure a domain addition correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 29%, and the description adds no meaning beyond the already-documented env_id and domain_name. The optional setup_type, SSL fields, is_wildcardless, and add_with_www_subdomain remain unexplained in both the schema and the description, so the low coverage is not compensated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Add') and resource ('custom domain to an environment'), clearly identifying the operation. It differentiates from sibling domain tools like list, delete, verification, and set-primary, so an agent can recognize this is the creation/association action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives such as DNS record creation or domain verification. It does not mention prerequisites, ordering, or conditions like domain ownership or verification requirements before adding a domain.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_domains_deleteDelete DomainsB
Destructive

Remove custom domains from an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
domain_idsYesArray of domain IDs to remove

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare destructiveHint=true, which covers the destructive nature. The description adds no further behavioral context (e.g., reversibility, impact on SSL, or required permissions). It does not contradict annotations, but also does not go beyond them, so a 3 is appropriate given the 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, short sentence that directly states the tool's purpose with no filler. It is front-loaded and efficient, though it is arguably too terse for the level of detail that might help an agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete operation with two well-documented parameters and an annotation flagging destructiveness, the description is minimally adequate. However, it lacks context on how to obtain domain IDs or any post-deletion effects, which would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both env_id and domain_ids are fully documented in the schema. The description does not add any additional meaning or clarify parameter usage beyond the schema, so it stays at the baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Remove custom domains') and the scope ('from an environment'), which is specific and distinguishes it from sibling domain tools like list, add, verification, and set-primary. The verb-resource pairing is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., needing to list domains first to obtain domain IDs) or exclusions. The agent must infer usage from the name and schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_domains_listList DomainsA
Read-onlyIdempotent

List all custom domains for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering the safety profile. The description adds the 'all' scope and environment association but provides no extra behavioral details such as pagination, ordering, or response shape; this is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no filler. Every word contributes to identifying the operation, the resource, and the scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: one fully documented required parameter stages and read-only/idempotent annotations make selection and invocation straightforward. The lack of an output schema and return-format description is a minor gap for a basic list operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the only parameter, env_id. The description's phrase 'for an environment' echoes the schema rather than adding new semantic detail, so with full schema coverage the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb, 'List', and names the exact resource, 'custom domains', with a clear scope: 'for an environment.' This distinguishes it from domain mutation tools like kinsta_domains_add and kinsta_domains_delete, and from DNS-domain tools like kinsta_dns_domains.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The context is clear: this is a read-only listing operation for a single environment. However, it does not explicitly state when to use it over related alternatives such as kinsta_dns_domains or kinsta_domains_verification, so some inference is required.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_domains_set-primarySet Primary DomainB

Set the primary domain for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
domain_idYesThe domain ID to set as primary
run_search_and_replaceNoUpdate WordPress URLs after changing the primary domain

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With only an openWorldHint annotation (which is vague), the description carries the full burden of behavioral disclosure. It merely states the action without revealing side effects, reversibility, permissions required, or the implication that run_search_and_replace may modify content. The description gives no warning that changing the primary domain can affect WordPress URLs or site accessibility.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, concise sentence with the action verb and target front-loaded. No filler or redundant phrasing; every word contributes to understanding the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is minimal for a mutation tool with three parameters and no output schema. It omits important context such as whether the domain must be verified, whether the change is reversible, and the exact effect of run_search_and_replace. The openWorldHint annotation suggests additional unstated side effects, but the description does not attempt to address them.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter has a clear description in the schema. The tool description itself adds no extra meaning beyond what the schema already provides. Since the schema fully documents the parameters, a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Set'), a specific resource ('primary domain'), and the scope ('for an environment'). It clearly distinguishes from sibling tools like add, delete, list, and verification, leaving no ambiguity about what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., the domain must exist or be verified), nor does it explain when to pair it with run_search_and_replace. Agents are left to infer suitability from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_domains_verificationGet Domain VerificationA
Read-onlyIdempotent

Get DNS verification records for a domain.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_domain_idYesThe domain ID to get verification records for

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is fully covered. The description adds only that the records are DNS verification records for a domain, but it does not disclose response format, pagination, or any domain-specific behavioral details beyond that.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that communicates the action, resource, and scope with no filler. It is appropriately front-loaded and easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only tool with annotations covering safety, the description is mostly complete: it names the action, resource, and scope. The only minor gap is that with no output schema, it does not describe what the returned verification records look like, though 'Get DNS verification records' reasonably implies the return content.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the meaning of site_domain_id is already documented in the schema. The tool description adds no extra meaning about where the ID comes from, its format, or any constraints, so it does not go beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and clearly identifies the resource ('DNS verification records for a domain'). It is distinct from sibling domain tools like kinsta_domains_list, kinsta_domains_add, and kinsta_domains_delete, which handle domain listing and management rather than verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for retrieving DNS verification records, which is a reasonable usage cue. However, it does not explicitly state when to prefer this over kinsta_domains_list or other domain-related tools, nor does it mention any prerequisites such as needing an existing domain ID.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_edge-cache_clearClear Edge CacheC

Clear the edge cache for an environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNo
env_idYesThe environment ID
clear_subdirectoriesNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With only openWorldHint in annotations, the description carries the burden of disclosing behavior. It adds value by stating that an operation_id is returned, implying an asynchronous operation. However, it does not explain side effects, scope of invalidation, or how long the operation might take.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded: two short sentences, no filler, and the action is clear. It could be slightly longer to cover the optional parameters, but structurally it is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating tool with three parameters, no output schema, and sparse annotations, the description is incomplete. It omits the semantics of two optional parameters and gives no usage guidance relative to sibling clear-cache tools. The operation_id hint is useful but not sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%: env_id is documented, but url and clear_subdirectories are not. The description only echoes the environment scope and does not explain what url or clear_subdirectories mean or how they affect the cache-clear operation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Clear'), the resource ('edge cache'), and the scope ('for an environment'), and even names the returned result (operation_id). It is specific enough to distinguish from CDN or generic cache tools, though it does not explicitly position itself against sibling clear-cache tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given about when to use this tool versus kinsta_tools_clear-cache, kinsta_cdn_clear-cache, or kinsta_edge-cache_toggle. The agent is left to infer the correct choice from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_edge-cache_toggleToggle Edge CacheC

Enable or disable edge caching for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
enabledYesWhether to enable (true) or disable (false) edge caching

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only include openWorldHint: true, which signals potential side effects beyond the immediate toggle. The description does not disclose any behavioral consequences such as propagation delays, impact on existing cached content, or whether the change is immediate or reversible. With minimal annotation coverage, the description carries the full burden of behavioral disclosure and fails to provide it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core action. There is zero wasted wording, and it is immediately scannable. It achieves maximum efficiency for a simple toggle tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with openWorldHint and no output schema, the description should explain side effects, return values, or any asynchronous behavior. None are mentioned. The tool is simple in terms of parameters, but the missing behavioral context and lack of return description make it incomplete for an agent to know what to expect after invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both env_id and enabled are already documented with clear meanings. The description adds no extra semantic value beyond restating the action; it does not elaborate on the format of env_id or any implications of the boolean. Baseline 3 is appropriate because the schema fully covers the parameters, and the description offers no additional insight.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Enable or disable edge caching for an environment' uses a specific verb (toggle) and clearly identifies the resource (edge caching) and scope (environment). It is unambiguous and distinguishable from sibling tools like kinsta_edge-cache_clear or kinsta_tools_clear-cache, which perform different actions. However, it does not explicitly contrast with these siblings, so it does not achieve a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as kinsta_edge-cache_clear or kinsta_tools_clear-cache. There is no mention of prerequisites, typical use cases, or exclusions. The only context is that it applies to an environment, which is already implied by the required env_id parameter. This leaves the agent to infer usage from the name and siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_cloneClone EnvironmentB

Clone an existing environment to create a new one. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID to create the environment for
is_premiumYesWhether this is a premium staging environment
display_nameYesDisplay name for the cloned environment
source_env_idYesSource environment ID to clone from

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the useful behavioral detail that the tool returns an operation_id, implying an asynchronous clone operation. However, it does not disclose whether the clone is immediate, how to track progress, or any permission requirements. The openWorldHint annotation adds little concrete behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. The action and the key return detail (operation_id) are both stated directly and efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a four-parameter clone operation, the description is minimal but adequate: it states the purpose and the return value. It does not explain that the returned operation_id should likely be polled via kinsta_operations_status, nor does it clarify the relationship to the source environment beyond what the schema already provides.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all four parameters are already documented in the input schema. The description does not add any additional meaning about parameters such as source_env_id or is_premium, so baseline scoring applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly names the action ('Clone'), the resource ('an existing environment'), and the result ('create a new one'). It does not explicitly distinguish itself from sibling clone/create tools such as kinsta_environments_create or kinsta_sites_clone, but the environment-specific wording reduces ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus creating an environment from scratch or cloning an entire site. The use case is only implied by the tool name and the phrase 'Clone an existing environment.'

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_createCreate EnvironmentC

Create a new WordPress environment for a site. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID to create the environment for
admin_userYesWordPress admin username
is_premiumYesWhether this is a premium staging environment
site_titleYesWordPress site title
admin_emailYesWordPress admin email
woocommerceNoInstall WooCommerce
wp_languageYesWordPress language code (e.g. en_US)
display_nameYesDisplay name for the environment
is_multisiteNoCreate as multisite
wordpressseoNoInstall Yoast SEO
admin_passwordYesWordPress admin password
wordpress_plugin_eddNoInstall Easy Digital Downloads
is_subdomain_multisiteNoUse subdomain-based multisite

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only provide openWorldHint, so the description carries most of the behavioral disclosure burden. It does disclose that the call returns an operation_id, which hints at asynchronous behavior, but it does not explain that the operation may be long-running, how to track it, or any side effects beyond creating the environment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. The action is stated first, and the operation_id return contract is a useful, non-redundant addition that earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a 13-parameter, 8-required-parameter environment creation tool and no output schema, this description is too thin. It does not connect the returned operation_id to kinsta_operations_status, mention async behavior, or provide any fallback/failure context an agent needs when invoking a heavyweight creation operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 13 parameters and their meanings. The description adds almost no parameter-level value beyond reinforcing that the environment belongs to a site, which maps to site_id but is already stated in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action and resource: 'Create a new WordPress environment for a site' and adds the key return value, an operation_id. It is clear enough to distinguish from site-level tools like kinsta_sites_create, but it does not explicitly differentiate itself from the similarly named kinsta_environments_create-plain sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance about when to choose this tool over alternatives such as kinsta_environments_create-plain or kinsta_environments_clone. The use case is only implied by the phrase 'for a site,' with no when/when-not reasoning or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_create-plainCreate Plain EnvironmentB

Create a new plain (empty) environment for a site. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID to create the environment for
is_premiumYesWhether this is a premium staging environment
display_nameYesDisplay name for the environment

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the create side effect and the operation_id return value, which is useful because no output schema is provided. Annotations only include openWorldHint, so the description carries the safety/behavior burden; it could add that creation is asynchronous and may need polling via kinsta_operations_status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler; the key purpose is front-loaded and the operation_id return detail is valuable and placed at the end.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter creation tool, the description states what it does and what it returns, while the schema covers all parameters. It is slightly incomplete because it omits async polling guidance and any conditions or restrictions, but these are not critical for basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already explains site_id, display_name, and is_premium. The description adds no parameter-level meaning (e.g., what 'premium' implies for a plain environment), so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Create') and resource ('plain (empty) environment for a site'), and it names the return value. The 'plain (empty)' qualifier distinguishes it from clone-type environment tools, though it does not explicitly contrast it with the sibling kinsta_environments_create.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool over kinsta_environments_clone or kinsta_environments_create. It provides no context about prerequisites, limitations, or situations where this tool should be preferred.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_deleteDelete EnvironmentA
Destructive

Delete an environment. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID to delete

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and openWorldHint=true. The description adds explicit irreversibility ('cannot be undone'), which is a meaningful behavioral disclosure beyond the generic annotation. This helps the agent treat the action with extra caution, though it does not describe side effects on dependent resources.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with zero filler. The action and the critical warning are front-loaded, making it highly scannable for an agent. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of a one-parameter delete operation with no output schema, and annotations covering the destructive nature, the description is largely sufficient. It could mention what is permanently removed (e.g., files, database) or any prerequisites, but these are not critical for an agent to execute the call. The irreversibility warning is the key extra context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the parameter env_id is already described as 'The environment ID to delete'. The description adds no further parameter meaning, so it matches the baseline for high coverage. It neither enhances nor detracts from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete) and the resource (environment) with a specific scope. It distinguishes from sibling delete tools like kinsta_sites_delete and kinsta_backups_delete by naming the resource type directly, so an agent can identify it without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention when deletion of an environment is appropriate, nor does it contrast with similar delete operations (e.g., site, backup, domain). The agent must infer usage solely from the resource name, which is a gap for a destructive action.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_filesList FilesC
Read-onlyIdempotent

List files in an environment's file system.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering safety. The description adds no behavioral detail beyond the trivial act of listing – it doesn't state whether files are listed recursively, whether directories are included, or what response format is returned (especially problematic since there's no output schema).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no wasted words; it's appropriately terse for a simple operation. However, the extreme brevity means it lacks essential context, so it's not a perfect score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given there's no output schema, the description should explain what the returned file list looks like (paths, metadata, depth). It only says 'list files,' leaving the agent to guess about scope and format. For a tool with a single parameter, this is still a significant gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for env_id, which is documented as 'The environment ID.' The description adds nothing beyond this, so it earns the baseline score of 3 – schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States the verb 'list' and resource 'files in an environment's file system,' making the core action clear. However, it doesn't differentiate from related tools like kinsta_environments_webroot or kinsta_logs_get, which could also involve file listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description gives no context about typical scenarios, exclusions, or prerequisites (e.g., whether env_id must be active or what file paths are expected).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_listList EnvironmentsA
Read-onlyIdempotent

List all environments for a Kinsta site.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID to list environments for

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, openWorldHint, and idempotentHint, covering safety and repeatability. The description adds the scoping behavior that this returns all environments for one site, but it does not disclose higher-level behavior such as pagination, result shape, or whether environments are returned in any order.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. Every word earns its place, and the core action and scope are immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter list operation with safety annotations provided, the description is mostly complete. It lacks an explicit statement of the return format, but the low complexity and clear schema make this a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage for the only parameter, site_id, is 100%, so the schema already documents the parameter. The description adds little beyond restating the site relationship, making the baseline score appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource, 'List all environments for a Kinsta site,' and clearly differentiates this read operation from the many environment mutation tools among the siblings. The scope is immediately obvious to an agent.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used when an agent needs all environments belonging to a given site, but it does not explicitly mention alternatives or exclusion cases. Since the function is self-evident, the usage context is adequate but not detailed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_php-allocationChange PHP AllocationB

Change PHP worker allocation for a specific environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
thread_countYesNumber of PHP worker threads
thread_memoryYesMemory per PHP worker thread in MB

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds one useful behavioral detail beyond the minimal openWorldHint annotation: it returns an operation_id, implying an asynchronous operation. However, it does not disclose side effects, whether changes take effect immediately, or how to track the operation's status.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, clear sentences with the core operation front-loaded and the return value stated separately. There is no filler or redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple three-parameter mutation, the description covers the action and return value adequately. However, it does not point to the related operations_status tool for checking the returned operation_id, and it leaves potential confusion with the site-level allocation sibling unresolved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters are already documented in the input schema with 100% coverage. The description adds no additional constraints, defaults, or relationships between thread_count and thread_memory, so it provides no value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the operation as changing PHP worker allocation for a specific environment, with the required resource and scope. However, it does not explicitly differentiate this tool from the closely named sibling kinsta_environments_php-allocation-site, so an agent may still face scope ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus its site-level sibling, nor any mention of prerequisites or follow-up steps. The phrase 'for a specific environment' gives some context, but it does not help an agent decide between alternatives or understand the operational flow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_php-allocation-siteChange Site PHP AllocationA

Change PHP worker allocation for all environments in a site. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID
thread_countYesNumber of PHP worker threads
thread_memoryYesMemory per PHP worker thread in MB

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With only openWorldHint: true in annotations, the description carries most behavioral disclosure. It adds that the operation applies to all environments and returns an operation_id, implying asynchrony, but it does not mention possible side effects like PHP restarts, downtime, or how to track the operation beyond the returned ID.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. It front-loads the core action and scope, then adds the key return information about operation_id.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple 3-parameter schema, no output schema, and the openWorldHint annotation, the description covers purpose, scope, and return value adequately. It could be improved by explicitly pointing to kinsta_operations_status for tracking the returned operation_id, but this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the parameter descriptions already explain site_id, thread_count, and thread_memory. The tool description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Change') and resource ('PHP worker allocation for all environments in a site'), making the operation unambiguous. It also distinguishes itself from the sibling kinsta_environments_php-allocation by explicitly stating site-wide scope rather than environment scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for all environments in a site' gives clear context for when this tool is appropriate. However, it does not explicitly name the alternative for single-environment changes or state when not to use it, so it stops short of full usage guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_phpmyadminGet phpMyAdmin TokenA

Get a phpMyAdmin login token for an environment to access the database.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description conveys that the result is an authentication token for phpMyAdmin database access, which is useful behavioral context. However, with only openWorldHint as an annotation, it omits important details such as token expiration, sensitivity, or whether obtaining the token has side effects on the environment.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no filler. It states the action, resource, scope, and purpose efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description is largely complete: it identifies what is returned (a token) and the required scope (environment). The main gap is the lack of any detail about token lifetime or how the token should be used, though this is not critical for invoking the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the schema already documents env_id as 'The environment ID'. The description adds no additional parameter semantics beyond restating that the token is for an environment, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the specific verb ('Get'), resource ('a phpMyAdmin login token'), and scope ('for an environment'). It clearly distinguishes this from sibling access tools like wpa_login-url or ssh_config by specifying phpMyAdmin and database access.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a purpose clause ('to access the database') that implies when the tool would be used, but it does not explicitly state when to use it versus alternatives or when not to use it. Among many sibling tools, this routing 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_environments_pushPush EnvironmentA
Destructive

Push one environment to another (e.g. staging to live). Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
push_dbNoPush the database
site_idYesThe site ID
file_listNoList of specific files to push (when push_files_option is SPECIFIC_FILES)
push_filesNoPush files
source_env_idYesSource environment ID to push from
target_env_idYesTarget environment ID to push to
push_files_optionNoWhich files to push
run_search_and_replaceNoRun search and replace on the database

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true, so the added value must come from additional context. The description does add that the operation returns an operation_id, indicating an asynchronous task, but it does not explicitly warn about data loss on the target or state required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the action, provides an illustrative example, and notes the return value. There is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 parameters and no output schema, the description still provides the essential operational fact that it returns an operation_id, enabling status polling. Destructiveness is covered by annotations. The only minor gap is not explicitly stating that the target environment is overwritten, though this is implied by 'push' and the destructive hint.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with all eight parameters having descriptions. The description itself adds no further parameter semantics, so it meets the baseline for schema-covered tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Push' with a clear resource ('one environment to another') and an example ('staging to live') that differentiates it from sibling clone/backup/restore operations. It clearly defines the operation's direction and scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the primary use case with an example but does not explicitly say when to choose this over alternatives like clone, restore, or delete, nor does it state any exclusions. With relevant siblings present, this leaves ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_redirectsList RedirectsA
Read-onlyIdempotent

List redirect rules for an environment. Supports filtering and pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoSort key
limitNoNumber of results to return
orderNoSort order
env_idYesThe environment ID
offsetNoOffset for pagination
regex_searchNoWhether to use regex for search
search_queryNoSearch term to filter redirects

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the read-only nature is covered. The description adds only the filtering/pagination capability and no contradictions; it does not provide deeper behavioral context like response shape or rate limits, so a 3 is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The action and target are front-loaded, and the optional capabilities are stated compactly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only list operation with full schema coverage and clear annotations, the description is sufficient for selection and invocation. It could specify the expected response shape, but 'List redirect rules' adequately communicates the outcome, and the required env_id is implied by 'for an environment.'

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema handles parameter documentation. The phrase 'supports filtering and pagination' maps broadly to search_query, regex_search, limit, offset, key, and order, but adds no meaning beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action and resource: 'List redirect rules for an environment.' This clearly distinguishes it from the mutation sibling kinsta_environments_redirects_update and other list tools, so an agent can select it without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: this is for retrieving redirect rules for an environment, not for modifying them. It does not explicitly name alternatives or exclusion conditions, but the verb 'List' makes the intended use evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_redirects_updateUpdate RedirectsB
Destructive

Create, update, or delete redirect rules for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNoSort key
limitNoNumber of results to return
orderNoSort order
env_idYesThe environment ID
offsetNoOffset for pagination
new_valueNoNew redirect rule to create
action_typeYesAction to perform on redirect rules
regex_searchNoWhether to use regex for search
search_queryNoSearch term to filter redirects
rules_to_updateNoRules to update or delete

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include destructiveHint=true, and the description's 'delete' action aligns with that. However, the description adds no further behavioral context such as reversibility, permission requirements, or the impact of DELETE_ALL. It merely restates what the destructive annotation already conveys, so it meets the baseline but adds little.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys the core purpose without redundancy. It is appropriately concise for a tool whose parameters are already documented in the schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 parameters, 4 enums, nested objects, no output schema), the description is inadequate. It does not explain how action_type determines which parameters are relevant (e.g., new_value for NEW, rules_to_update for UPDATE/DELETE), nor does it mention required fields beyond env_id and action_type. An agent cannot confidently invoke this tool based on the description alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema provides 100% coverage with descriptions for all 10 parameters, including enums for action_type and search controls. The description only reiterates the broad purpose without mapping parameters to specific actions, so it adds minimal value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear action set (create, update, or delete) on a specific resource (redirect rules) for an environment, which is distinct from the sibling read-only tool kinsta_environments_redirects. However, it does not explicitly name that sibling or differentiate itself beyond the implied mutation, so it stops short of the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It does not mention that kinsta_environments_redirects is for reading, nor does it explain which action_type should be chosen for different scenarios, leaving the agent to infer usage from the schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_configGet SSH ConfigA
Read-onlyIdempotent

Get SSH connection configuration for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
site_idYesThe site ID

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, and the description is consistent with a safe read operation. It adds no further behavioral context such as what the returned config contains, auth requirements, or rate limits, but there is no contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single focused sentence with no redundant clauses, filler, or unnecessary detail. It is front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only getter with fully documented parameters, this is minimally sufficient. However, with no output schema and many SSH-related siblings, it would benefit from stating what the SSH config includes or when to prefer this tool over ssh_status.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for both required IDs, so the baseline is 3. The description does not add parameter-level meaning beyond restating that the lookup is for an environment.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('SSH connection configuration') scoped to an environment, matching the title. This is distinct from SSH siblings like ssh_status or ssh_toggle, which concern status or state changes rather than retrieving configuration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus the many SSH-related siblings such as ssh_status, ssh_toggle, ssh_password-access, or ip-allowlist. There are no exclusions or conditions, so an agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_generate-passwordGenerate SSH PasswordC

Generate a new SSH/SFTP password for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The only annotation is openWorldHint=true, signaling a mutation, but the description does not disclose the side effects: whether it overwrites the current password, how the new password is returned, or any prerequisites like existing SSH configuration. It adds no behavioral context beyond the name.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler, front-loading the action and resource. It is concise and well-structured, though brevity borders on under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the mutation side effect and the cluster of SSH-related sibling tools, this description is inadequate. It omits what happens to the existing password, how the new password is delivered, and any prerequisites or rate limits. An agent cannot safely invoke it without additional information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully documents the single parameter env_id with a clear description. The tool description adds nothing extra about the parameter, so the baseline score of 3 applies because schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Generate) and resource (new SSH/SFTP password) for an environment. The word 'new' implies a creation action that distinguishes it from read-only tools like kinsta_environments_ssh_password, but it does not explicitly name the alternative or clarify the distinction further.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus related SSH tools such as kinsta_environments_ssh_status, kinsta_environments_ssh_password, or kinsta_environments_ssh_password-expiration. The agent must infer usage context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_ip-allowlistGet SSH IP AllowlistB
Read-onlyIdempotent

Get the SSH IP allowlist for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the description's 'Get' adds no behavioral information beyond those hints. No response format, authentication nuance, or other runtime behavior is disclosed. No contradiction exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One clear sentence with no filler. The action and resource are front-loaded, and the length is appropriate for a single-parameter read-only tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter, read-only tool with strong annotations, the description plus schema provide enough to invoke it correctly. The lack of an output schema means the exact return shape is unstated, but the resource name is self-explanatory; a small note on what the allowlist contains would make it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the only parameter env_id is described as 'The environment ID' in the schema. The description adds no additional meaning about the ID format, source, or relationship to other Kinsta resources, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and a specific resource ('SSH IP allowlist') scoped to an environment. It clearly positions this tool as the read operation alongside the sibling 'kinsta_environments_ssh_ip-allowlist_update', so an agent can distinguish them without opening schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. The description does not mention that changes are handled by the update sibling or distinguish it from other SSH-related tools; the read intent is only implied by the word 'Get'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_ip-allowlist_updateUpdate SSH IP AllowlistC

Update the SSH IP allowlist for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
ip_allowlistYesList of IP addresses to allow SSH access

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide no readOnly/destructive hints, so the description must carry the behavioral burden. It only says 'Update' and does not disclose whether the ip_allowlist replaces the entire existing list, whether omitted entries are removed, or what side effects occur. This is a meaningful gap for a mutating tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. It is front-loaded with the action and resource, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with sparse annotations and no output schema, the description leaves out critical operational details: whether the list is replaced atomically, whether existing IPs are preserved, and what the result of the update looks like. The simple schema does not compensate for this missing context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both env_id and ip_allowlist already described. The description adds no new parameter semantics, such as IP format, CIDR support, or replacement behavior, 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.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Update'), a resource ('SSH IP allowlist'), and a scope ('for an environment'), so an agent can tell what the tool acts on. It does not explicitly differentiate from the sibling kinsta_environments_ssh_ip-allowlist, but the 'update' verb implies the write counterpart to that likely read operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided for when to use this tool versus alternatives such as kinsta_environments_ssh_ip-allowlist, nor does it mention whether the current allowlist should be retrieved first. There is no when-not-to-use information or mention of prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_passwordGet SSH PasswordC
Read-onlyIdempotent

Get the current SSH/SFTP password for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds no extra behavioral context beyond the basic operation, such as whether the password may be expired, whether SSH must be enabled first, or what happens if the password is unavailable. It does not contradict annotations, but it fails to provide any additional transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that gets straight to the point. It is appropriately sized for a simple getter tool and front-loads the core action. No unnecessary words or filler, so it earns a high score for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple (one param, no output schema), and annotations cover safety. However, since there is no output schema, the description could clarify what the tool returns (e.g., the password string) or any prerequisites (e.g., SSH must be enabled). It only says 'Get the current SSH/SFTP password', which implies the return value but leaves potential error cases unspecified. For a tool this straightforward, this is a minor gap, so a 3 is appropriate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema fully describes the single parameter env_id as 'The environment ID' with 100% coverage. The description adds no further meaning about the parameter, such as format or how to obtain it. Since schema coverage is high, the baseline of 3 is appropriate; the description does not need to repeat the schema but also does not enrich it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Get') and resource ('SSH/SFTP password for an environment'), making it clear what the tool does. It distinguishes itself from related tools like ssh_generate-password by specifying 'current', but it does not explicitly differentiate from other sibling tools such as ssh_password-access or ssh_status. Overall, the purpose is clear and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It does not mention that to generate a new password one should use kinsta_environments_ssh_generate-password, or that to check SSH status one should use kinsta_environments_ssh_status. No exclusions or conditional usage are stated, leaving the agent without routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_password-accessToggle SSH Password AccessB

Enable or disable SSH password-based access for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
is_enabledYesWhether to enable (true) or disable (false) password access

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description communicates that this is a mutating toggle but does not disclose side effects, such as whether existing SSH passwords remain valid, whether access is immediately revoked, or whether authentication state is affected. The annotations only include openWorldHint, which does not cover behavioral safety or mutation details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that directly states the tool's purpose. It is appropriately concise for a simple two-parameter toggle operation with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a low-complexity toggling tool with fully documented parameters, the description is minimally viable. However, it lacks usage guidance and behavioral context, which leaves some ambiguity about how this differs from the many SSH-related sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already fully describes both parameters (env_id and is_enabled) with 100% coverage. The description adds little beyond restating that is_enabled controls enabling/disabling, which aligns with the schema's boolean description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Enable or disable') on a clear resource ('SSH password-based access for an environment'). It is clear and distinct from the generic sibling kinsta_environments_ssh_toggle, though it does not explicitly name that alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus related SSH tools such as kinsta_environments_ssh_toggle, kinsta_environments_ssh_password, or kinsta_environments_ssh_status. The usage context must be inferred entirely from the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_password-expirationChange SSH Password ExpirationA

Change the SSH password expiration interval for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
exp_intervalYesPassword expiration interval (e.g. days_7, days_14, days_30)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only include openWorldHint: true, which indicates external side effects but provides no specific behavioral traits. The description states 'change' but does not disclose whether the action is reversible, requires specific permissions, affects all SSH users, or is synchronous/asynchronous. Since the annotation does not cover these aspects, the description carries the burden and falls short, offering minimal behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no unnecessary words. It is front-loaded with the action and clearly states the resource and scope. Every word earns its place, making it highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter change operation, the description is sparse. It does not mention what the response will look like (e.g., whether it returns an operation ID for polling via kinsta_operations_status) or any prerequisites like authentication or environment status. Given that many sibling tools involve asynchronous operations, an agent may need this context to handle the call correctly. The description is minimally adequate but lacks essential follow-up details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides descriptions for both env_id and exp_interval, including example values for the latter (e.g., days_7, days_14, days_30). The description adds no additional information about the parameters, such as format constraints or relationship between them. With schema coverage at 100%, the baseline is 3, and the description provides no extra value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Change' and the specific resource 'SSH password expiration interval' with scope 'for an environment'. The verb+resource is unambiguous and distinct from sibling SSH tools like status or toggle. The title and name reinforce this, making the purpose immediately clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. It implies usage when an agent needs to modify the expiration interval, but offers no exclusions or references to other SSH-related tools. No when-not-to-use context is given, so an agent must infer the appropriate use case from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_statusGet SSH StatusB
Read-onlyIdempotent

Get the SSH/SFTP status for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering the safety profile. The description adds the SFTP scope but doesn't clarify what 'status' includes or what kind of response to expect, which is acceptable for a simple read but adds little 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence with no filler. The action and target are front-loaded, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only status tool, the description is minimally sufficient. However, with no output schema, the meaning of 'status' is left vague, and given the large set of SSH-related siblings, more context about what specifically this status reports would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the only parameter, env_id, is already documented as 'The environment ID'. The description adds no parameter-level meaning or usage detail beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action (get) and resource (SSH/SFTP status for an environment). It distinguishes itself from most SSH-related siblings by focusing on 'status' rather than toggle, config, password, or IP allowlist operations, though it does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus the many related SSH sibling tools, such as kinsta_environments_ssh_toggle, kinsta_environments_ssh_config, or kinsta_environments_ssh_ip-allowlist. There are no prerequisites, exclusions, or alternative-selection hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_ssh_toggleToggle SSHB

Enable or disable SSH/SFTP access for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
is_enabledYesWhether to enable (true) or disable (false) SSH

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The openWorldHint annotation signals a state-changing operation, and the description's 'Enable or disable' aligns with that. The description adds minimal extra behavioral context—no mention of impact on existing sessions, required permissions, or reversibility—but it does clarify the scope as environment-level SSH/SFTP access.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no filler. The action verb is front-loaded and every word contributes to the meaning, making it highly concise and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter toggle with full schema coverage and no output schema, the description plus input schema is sufficient to invoke the tool correctly. It could optionally warn about side effects or point to related tools, but nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both env_id and is_enabled already documented clearly. The description adds no additional parameter-level meaning beyond what the schema provides, so it meets the baseline but does not exceed it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses specific verbs ('Enable or disable') and names the resource ('SSH/SFTP access') scoped to 'an environment', so an agent can identify it as an environment-level toggle. It doesn't explicitly distinguish itself from siblings like kinsta_sftp-users_toggle or kinsta_environments_ssh_status, so it misses the highest sibling-differentiation bar.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to use this tool versus related siblings such as kinsta_environments_ssh_status or kinsta_sftp-users_toggle. There is no mention of prerequisites, context, or 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_environments_webrootChange WebrootA

Change the webroot subfolder for an environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
clear_all_cacheNoClear all caches after change
web_root_subfolderYesNew webroot subfolder path
refresh_plugins_and_themesNoRefresh plugins and themes after change

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare openWorldHint, so the description adds one behavioral detail: the call 'Returns an operation_id,' implying an asynchronous mutation. It does not disclose cache/plugin refresh side effects or how to track the operation, but it does not contradict 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no filler; the action is in the first words and the return signal is in the second clause. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Description is enough for a simple call given full schema coverage, but it omits the next step after receiving an operation_id and does not explain the optional cache/plugin refresh behavior. For a mutation with no output schema, this leaves mild ambiguity about asynchronous expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all four parameters with descriptions (100% coverage), and the description restates the core 'webroot subfolder' concept without adding defaults, format, or side-effect semantics. The pattern for web_root_subfolder is already in the schema, so no additional burden falls on the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific action ('Change the webroot subfolder for an environment') with a clear verb and resource, matching the title. It is unambiguous among a large sibling set, though it does not explicitly name a sibling it should not be confused with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when/when-not guidance or alternative tools are mentioned. The intended use is only implied by the action itself and the title, so an agent can infer this is for changing an environment's webroot but gets no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_wpa_create-userCreate WordPress Admin UserB

Create a WordPress admin user in an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe new WordPress admin email
env_idYesThe environment ID
last_nameYes
first_nameYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The only annotation is openWorldHint, which provides no behavioral insight. The description's word 'Create' implies mutation but does not disclose potential side effects, permission requirements, idempotency, or what happens on duplicate email or invalid environment ID. No output schema exists, so the response format is unknown. The description adds minimal behavioral context beyond the action itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that states the core purpose without any extraneous wording. It is front-loaded with the verb and resource, making it quick to parse. There is no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that creates a resource, the description is critically sparse. It does not mention prerequisites (e.g., the environment must exist), error conditions (e.g., duplicate email), or what the tool returns upon success. Given that there is no output schema, the description should provide more context, but it does not. An agent has insufficient information to fully anticipate the tool's behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 50%: email and env_id have descriptions, while first_name and last_name do not. The tool description adds no additional meaning for any parameter, failing to compensate for the missing schema details. For instance, it does not clarify whether first_name and last_name are required or how they are used in creating the user.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (create) and the resource (WordPress admin user) within a specific scope (an environment). It distinguishes itself from sibling tools like wpa_login-url and wpa_user-exists, which serve different purposes (retrieving login URL and checking user existence respectively).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus its alternatives. The description does not mention that it is for creating a new user, while wpa_user-exists should be used for checking if a user already exists, or that wpa_login-url is for retrieving login credentials. An agent is left to infer the usage context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_wpa_login-urlGet WordPress Admin Login URLB

Create a WordPress admin login URL for an existing user.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe WordPress admin email
env_idYesThe environment ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only include openWorldHint: true, with no readOnlyHint or destructiveHint, so the description carries the full burden of disclosing side effects. The description says 'Create a WordPress admin login URL' but does not clarify whether this is a read-only operation (generating a URL) or if it mutates state (e.g., creates a session). It also does not mention authentication requirements, idempotency, or whether the user must exist beforehand (though it hints at it). This is a significant gap for a tool that might be mistaken as a write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no filler. It communicates the core purpose efficiently. However, the word 'Create' could be improved to 'Get' to align with the title, and it does not front-load any critical constraints beyond 'existing user'. Still, it is appropriately short and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters and no output schema, the description provides the essential context: it generates a login URL for an existing user. It does not explain the return value format (though the title implies it returns a URL), error conditions, or any side effects. Given the absence of readOnlyHint and output schema, the description should do more to clarify the nature of the operation and expected output, but it is not severely incomplete for such a focused tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters having clear descriptions ('The WordPress admin email' and 'The environment ID'). The tool description does not add additional meaning beyond the schema, such as format constraints or usage context for each parameter. Since the schema already documents the parameters adequately, a baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Create') and resource ('WordPress admin login URL') and clarifies that it applies to an existing user. This distinguishes it from sibling tools like kinsta_environments_wpa_create-user (which creates users) and kinsta_environments_wpa_user-exists (which checks existence). However, the verb 'Create' is slightly misleading for a URL generation action, which the title more accurately calls 'Get'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'for an existing user' implies that this tool is not for new users, indirectly pointing to create-user as the alternative. But it does not explicitly state when to use this tool versus checking user existence or creating a user, nor does it provide any exclusions or prerequisites beyond the user being existing. Usage is implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_environments_wpa_user-existsCheck WordPress Admin UserA
Read-onlyIdempotent

Check whether a WordPress admin user exists by email.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesThe WordPress admin email
env_idYesThe environment ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is clear. The description adds no additional behavioral details beyond 'check whether exists', which is consistent with the annotations. It does not disclose output format, error behavior, or other execution traits, but the annotations reduce the burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence with no fluff. It is front-loaded with the core action and resource, and every word earns its place. There is no redundancy or unnecessary detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only existence check with two parameters and no output schema, the description is nearly complete. It implies a boolean or existence result, and the annotations cover safety. The only minor gap is an explicit statement of the return format (e.g., true/false), but given the tool's simplicity and the 'check whether' phrasing, the missing detail is easily inferred. Overall it is adequate for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both email and env_id have descriptive text in the schema. The description adds nothing beyond the schema, and its mention of 'by email' aligns with the email parameter but doesn't provide extra semantics for env_id. Baseline 3 applies since the schema covers parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Check') and resource ('WordPress admin user') with the qualification 'by email', making the tool's function unambiguous. It clearly distinguishes from sibling tools like kinsta_environments_wpa_create-user or kinsta_environments_wpa_login-url, which have different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the usage context (checking existence before creating or managing a user), but it does not explicitly state when to prefer this tool over alternatives or mention any exclusion criteria. There is no guidance on when not to use it, so the usage 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_environments_wp-cliRun WP-CLI CommandB
Destructive

Run a WP-CLI command on an environment. The command must start with 'wp '.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
wp_commandYesWP-CLI command to run (must start with 'wp ')

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare openWorldHint and destructiveHint, so the agent knows this can be open-ended and destructive. The description adds only the command prefix constraint, which is already in the schema. It does not disclose any additional behavior such as output format, error handling, or execution model, so it adds little value 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, concise sentence that front-loads the action and includes the critical constraint. No unnecessary words, perfectly sized for the information provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool that can execute arbitrary WP-CLI commands, the description is minimal. It does not mention what the response will look like (no output schema), whether execution is synchronous, or any caution related to its destructive nature. Given the complexity and risk, more context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both parameters documented. The description repeats the constraint about 'wp ' but does not add any new meaning beyond the schema. This meets the baseline of 3 for parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action: run a WP-CLI command on an environment, with the specific constraint that the command must start with 'wp '. It is unambiguous and distinct from all sibling tools, as no other tool executes arbitrary WP-CLI commands.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for running WP-CLI commands but provides no explicit guidance on when to use it versus alternatives, nor any exclusions. There are many specialized tools in the sibling list, but no mention of preferring this one for general-purpose command execution. The usage context is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_logs_getGet LogsA
Read-onlyIdempotent

Get error, access, or Kinsta cache performance logs for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoEnd timestamp/date filter
fromNoStart timestamp/date filter
linesNo
env_idYesThe environment ID
searchNoText to search for
file_nameNoerror

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, idempotentHint, and openWorldHint, covering the safety profile. The description adds no behavioral context beyond restating the log types that are already encoded in the file_name enum, so it provides little extra transparency about response shape, filtering behavior, or limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with no filler: it front-loads the action and resource, then adds the three log types compactly. Every word contributes meaning, and nothing is repeated from the tool name or title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with rich annotations and a self-describing schema, this is adequate but not complete. With no output schema present, the description could usefully state what the returned log data looks like, and it leaves the semantics of from/to filters and lines implicit rather than explicit.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%; env_id, to, from, and search have schema descriptions, while lines and file_name are less documented. The description helps by mapping 'error, access, or Kinsta cache performance' to the file_name enum values, but it does not clarify date/time formats or how the line limit behaves, leaving some semantic gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Get'), a concrete resource ('logs'), and the exact scope ('for an environment'). It also enumerates the three log types available ('error, access, or Kinsta cache performance logs'), which clearly distinguishes it from the many other environment and analytics tools in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than explicit: an agent can infer this tool is for retrieving environment logs, but the description never states when to prefer it or what it is not for. There is no direct alternative log tool among the siblings, so there is no misleading guidance, but the 'when vs. alternatives' information is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_operations_statusCheck Operation StatusA
Read-onlyIdempotent

Check the status of an asynchronous Kinsta operation by its operation ID. Many Kinsta actions (site creation, backups, cache clearing, etc.) return an operation_id that can be polled here to track progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
operation_idYesThe operation ID to check status for

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, covering the safety and idempotency profile. The description adds that it is an asynchronous operation tracker, which is consistent with annotations but does not disclose additional traits such as rate limits, polling cadence, or response format. Given annotations handle core transparency, the description's incremental contribution is moderate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the primary action ('Check the status') and then adding context about when operation IDs are generated. Every sentence earns its place—no redundancy or filler. It is compact and immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema and no nested objects, the description is sufficient. It explains the purpose, when to use it, and the parameter is well-documented in the schema. It does not mention polling behavior or response specifics, but these are not required given the tool's simplicity and the annotations covering side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema describes operation_id already ('The operation ID to check status for'), so schema coverage is 100%. The tool description goes a bit further by explaining that operation_id comes from asynchronous actions, adding context that the schema alone does not convey. However, beyond this, it does not add syntactic or format details, so it aligns with the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Check the status of an asynchronous Kinsta operation by its operation ID.' It uses a specific verb (check) and a resource (operation status), and it differentiates from sibling tools by focusing on polling progress rather than performing actions. It also provides context that many actions return an operation_id to be tracked here, making its role unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: it is for tracking asynchronous operations that return an operation_id. It implies when to use it (after triggering an action) and that it is the polling endpoint for progress. However, it does not explicitly name alternative tools or state when not to use it, but the guidance is sufficient for typical scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_pingPingA
Read-onlyIdempotent

Check that the Kinsta MCP server is running and that API credentials are configured. Does not make any API calls to Kinsta.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and idempotentHint. The description adds a valuable behavioral trait beyond annotations: 'Does not make any API calls to Kinsta,' clarifying that this is a local connectivity/config check with no external side effects. It does not mention return/error behavior, but that is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the core purpose front-loaded and the key behavioral caveat placed second. There is no filler, repetition, or restating of the tool name/title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter liveness check with read-only/idempotent annotations and no output schema, the description fully covers what the tool does and the key constraint (no API calls). Nothing an agent needs 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.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and an empty input schema, so a baseline of 4 applies because there is nothing to document. The description reinforces that no arguments are needed by framing the tool as a simple server/credential check.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb 'Check' with two clear targets: that the MCP server is running and that API credentials are configured. Explicitly noting it makes no API calls to Kinsta distinguishes it from every sibling tool that does interact with the Kinsta API.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description creates clear context: use this tool to verify server and credential readiness. It does not explicitly name alternatives or state when not to use it, but the no-API-call behavior makes the liveness/health-check use case obvious relative to all sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_plugins_bulk-updateBulk Update PluginsA

Update multiple plugins to their latest versions at once. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
pluginsYesPlugins to update, identified by name/slug

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation openWorldHint=true already signals that this tool mutates state. The description adds that it returns an operation_id, implying an asynchronous operation, but doesn't elaborate on side effects, reversibility, or how to track progress. Since annotations cover the mutation aspect, the description provides modest additional context but not rich behavioral detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and return value. No wasted words; every element is relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with only two required parameters and no output schema, the description is reasonably complete. It states what happens (update plugins), the return (operation_id), and implies asynchronous handling. It could mention polling via operations_status, but that is not essential for basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear parameter descriptions (env_id and plugins with name/slug). The description adds no additional parameter semantics beyond stating the action. Baseline of 3 is appropriate since the schema already documents parameters fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Update multiple plugins to their latest versions at once') with a specific verb and resource, and distinguishes it from single-plugin update via the 'multiple' and 'at once' phrasing. It also notes the return value (operation_id), which clarifies the expected outcome.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this tool versus the sibling kinsta_plugins_update (single plugin). It is implied that bulk is for multiple plugins, but the description doesn't state selection criteria or alternatives. The agent must infer usage from the tool name and sibling context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_plugins_listList PluginsB
Read-onlyIdempotent

List all plugins for a Kinsta environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds no behavioral detail beyond the listing action itself, such as return shape, pagination, or inclusion of inactive plugins. It does not contradict 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence with the action front-loaded and no filler. Every word contributes to the meaning, making it highly concise and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only list operation, the description combined with the schema and annotations is nearly sufficient: the agent knows the required env_id and can expect a list result. It falls slightly short because it does not clarify the distinction from kinsta_plugins_list-wp and, with no output schema, says nothing about the response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter env_id is already fully described in the schema as 'The environment ID', giving 100% schema description coverage. The description merely restates that the operation is scoped to a Kinsta environment and provides no additional parameter format or usage guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'List all plugins for a Kinsta environment.' It adds environment scoping beyond the title, so the basic operation is unambiguous. It does not explicitly differentiate from kinsta_plugins_list-wp, but the core purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no guidance on when to prefer this tool over kinsta_plugins_list-wp, kinsta_company_plugins, or kinsta_plugins_update. No alternatives, exclusions, or selection conditions are mentioned; usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_plugins_list-wpList WordPress PluginsB
Read-onlyIdempotent

List WordPress plugins with details from the WordPress.org repository for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnNo
env_idYesThe environment ID
statusNo

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey readOnly, openWorld, and idempotent behavior. The description adds useful context that the data comes from the WordPress.org repository rather than only local environment state, but it does not disclose output shape, pagination, or external dependency behavior. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It communicates the core action, resource, source, and scope efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With three parameters, no output schema, and no guidance about optional filter semantics, the description is underspecified. An agent may call it correctly for a simple list, but it will struggle to know when to use column/status or how results are structured. It also does not differentiate this tool from kinsta_plugins_list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%: env_id is described, but column and status are enum-only with no descriptions. The description does not explain what 'column' controls or how status filtering works, so the description fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('List'), resource ('WordPress plugins'), and scope ('for an environment'). It also names the data source ('WordPress.org repository'), which helps distinguish it from the sibling kinsta_plugins_list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus kinsta_plugins_list, kinsta_plugins_update, or other plugin-related siblings. The environment scope is implied, but there are no exclusions, alternatives, or scenario-based instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_plugins_updateUpdate PluginA

Update a single plugin to the latest version. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe plugin name/slug to update
env_idYesThe environment ID
update_versionYesThe plugin version to install

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses the operation_id return value, which is useful, and the openWorldHint annotation already signals external side effects. However, it does not explain that the update is likely asynchronous, how to track the operation_id, or other consequences beyond updating a plugin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded with the action and scope, with no filler. The return value is included efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a side-effectful update with three required params and no output schema, this is adequate but thin: an agent gets all required params from the schema and knows the return type, but is not told to check the operation status or that the update is asynchronous. The 'latest' vs. update_version ambiguity also leaves an incomplete mental model.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so a baseline of 3 would normally apply. The description's phrase 'latest version' contradicts the schema's update_version definition ('The plugin version to install'), so it provides misleading rather than additive parameter meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the verb ('Update') and resource ('a single plugin'), and 'single' distinguishes it from the bulk-update sibling. The 'latest version' wording is slightly at odds with the schema's required update_version, which prevents a perfect 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Single plugin' gives a clear scope and implicitly tells an agent not to use this for multiple plugins, with kinsta_plugins_bulk-update as the obvious alternative. It does not explicitly name the bulk tool or state a when-not-to-use condition, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sftp-users_addAdd SFTP UserC

Add a new additional SFTP/SSH user account to an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
passwordYesPassword for the new SFTP account (minimum 16 characters)
usernameYesUsername for the new SFTP account
permissionNo
root_directoryNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The openWorldHint annotation gives little information, and the description does not disclose what happens after creation, side effects, permission requirements, or whether the account is immediately active. For a mutation tool with no output schema, the description should provide more behavioral context, but it only says 'Add'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, front-loaded with the action and resource, and contains no filler. It is concise, though perhaps too short to carry needed guidance; structurally it is clean but slightly under-specified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, 3 required, one enum, and no output schema, the description is insufficient. It does not clarify how to obtain env_id, the meaning of 'additional', expected response, or how to handle optional parameters. The agent is left without enough context to call the tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers 3 of 5 parameters with descriptions, but the description itself adds no parameter semantics. It does not mention the 'permission' enum (read/write) or 'root_directory' parameter, leaving those 40% of parameters undocumented in both places. The description fails to compensate for the schema coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'Add' with a clear resource 'new additional SFTP/SSH user account' and scopes it to 'an environment'. It is easily distinguishable from sibling tools like kinsta_sftp-users_list, toggle, and remove, which serve different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives such as kinsta_sftp-users_toggle or remove, nor any prerequisites like having an existing environment or checking current users. The description is a bare statement of intent with no context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sftp-users_listList SFTP UsersA
Read-onlyIdempotent

List additional SFTP/SSH user accounts for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds the nuance that it lists 'additional' accounts, which clarifies scope. It does not disclose return format or any side effects, but for a read-only list with strong annotations, this is acceptable baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero filler. It conveys the action, resource, and scope efficiently, earning its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter read-only list with no output schema, the description is adequate but does not specify the return format or any caveats about the response. Since there is no output schema, a brief note on what is returned would improve completeness, but it's not critical for such a straightforward operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter (env_id), so the schema fully documents it. The description does not add any parameter-level details beyond what the schema provides, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb ('List') and resource ('additional SFTP/SSH user accounts') scoped to an environment. Among siblings like kinsta_sftp-users_add, remove, and toggle, this is unambiguously the read operation. The word 'additional' also distinguishes it from the primary/default SFTP user, adding precision.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The verb 'List' implicitly signals this is for viewing, not modifying, so usage context is implied. However, the description does not explicitly mention alternatives (e.g., use add/remove for changes) or state when-not-to-use it, leaving the routing to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sftp-users_removeRemove SFTP UserA
Destructive

Remove an additional SFTP/SSH user account from an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
sftp_account_idYesThe SFTP account ID to remove

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The destructiveHint and openWorldHint annotations already signal the destructive nature, and the description adds context about the target scope ('additional SFTP/SSH user', 'from an environment'). However, it does not disclose whether removal is reversible, affects active sessions, or has other side effects expected of an open-world destructive action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one sentence with no filler; the verb is front-loaded and the resource/scope qualifiers are meaningful. It is appropriately minimal for a single-parameter destructive action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter remove operation with destructive annotations and no output schema, this is nearly complete: the agent knows what is removed and required inputs. The only real gap is operational context, such as retrieving the account ID via sftp-users_list before removal.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents the single sftp_account_id parameter with 100% coverage, so the description need not add parameter syntax. It adds no extra guidance on ID format or how to obtain the ID, but the schema covers the core semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific operation ('Remove') and a precise resource ('additional SFTP/SSH user account'), and scopes it to an environment. This makes it clearly distinguishable from the related sftp-users_list, sftp-users_toggle, and sftp-users_add siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The verb and resource make the intended use inferable, but the description gives no explicit when-to-use or when-not-to-use guidance. It does not mention alternatives such as sftp-users_toggle for disabling an account or sftp-users_list for locating the account ID.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sftp-users_toggleToggle SFTP UsersC

Enable or disable additional SFTP/SSH accounts for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
enabledYesWhether to enable (true) or disable (false) additional accounts

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation openWorldHint=true signals that the tool has side effects beyond the parameters, but the description does not disclose any specifics about these effects. It doesn't say whether disabling removes existing accounts, whether the change is reversible, or what impact it has on the environment. The description adds no behavioral context beyond the annotation, which is a gap for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that leads with the action and resource. It is front-loaded and contains no filler or redundancy, making it easy for an agent to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the openWorldHint and the mutation nature, the description is incomplete. It doesn't clarify whether 'additional accounts' refers to the feature as a whole or individual accounts, nor does it explain the expected outcome or side effects. There is no output schema, so the agent has no indication of the return value. A simple toggle tool still needs more context for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides clear descriptions for both parameters (env_id and enabled) with 100% coverage. The tool description restates the purpose of 'enabled' but adds no new information about parameter formatting, constraints, or usage. Baseline 3 is appropriate when the schema carries the meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (enable or disable) on a specific resource (additional SFTP/SSH accounts) for an environment. It implies a distinction from sibling tools like list/add/remove by focusing on the toggle action, though it doesn't explicitly name alternatives. The verb and object are specific and understandable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., environment must exist) or contrast with kinsta_sftp-users_add/remove or kinsta_environments_ssh_toggle. The agent is left to infer the appropriate context from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sites_cloneClone SiteA

Clone an existing site to create a new site. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
display_nameYesDisplay name for the cloned site
source_env_idYesSource environment ID to clone from

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the useful behavioral detail that the tool returns an operation_id, implying an asynchronous operation that should be polled. However, it does not disclose side effects such as potential billing impact, required permissions, or what a completed clone includes, and the openWorldHint annotation does not cover these aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler or repetition. It front-loads the core action and immediately states the return behavior, making it easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with fully documented parameters, the description is largely complete: it names the action, the inputs are schema-covered, and it reveals the operation_id return value. It could briefly mention polling kinsta_operations_status, but the operation_id return already strongly implies that workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Parameter descriptions in the schema fully cover display_name and source_env_id with no coverage gap. The tool description adds no parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Clone an existing site to create a new site.' It clearly communicates the tool's action and outcome, and the name plus wording distinguish it from site creation and environment-level clone siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance about when to use this tool versus kinsta_sites_create or kinsta_environments_clone. The clone wording implies use when duplicating an existing site, but no alternatives, prerequisites, or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sites_createCreate SiteA

Create a new WordPress site on Kinsta. Returns an operation_id to track progress.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYesDeployment region (use kinsta_company_regions to list available regions)
admin_userYesWordPress admin username
site_titleYesWordPress site title
admin_emailYesWordPress admin email
woocommerceNoInstall WooCommerce
wp_languageYesWordPress language code (e.g. en_US)
display_nameYesDisplay name for the new site
install_modeNonew
is_multisiteNoCreate as WordPress multisite
wordpressseoNoInstall Yoast SEO
admin_passwordYesWordPress admin password
is_subdomain_multisiteNoUse subdomain-based multisite

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavior by stating that the tool returns an operation_id to track progress, implying an asynchronous workflow. However, it does not disclose whether the operation requires polling, how long creation might take, side effects, or permission requirements. With minimal annotations beyond openWorldHint, the description carries most of the burden but only partially fulfills it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. It front-loads the core action and adds the key return-value detail without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 12 parameters and no output schema, the description is somewhat thin. It does not explicitly tell the agent to poll kinsta_operations_status with the returned operation_id, nor does it mention that the creation may take time. The schema covers parameters, but the orchestration context around the async operation is only implied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 92%, so the input schema already documents nearly all parameters. The description itself adds no parameter-level meaning, which is acceptable given the high coverage; it does not repeat or clarify anything beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and the resource ('a new WordPress site on Kinsta'), which is specific and unambiguous. However, it does not differentiate this tool from the sibling kinsta_sites_create-plain, which likely serves a similar or simpler creation flow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when a new WordPress site needs to be created, but it gives no explicit guidance on when to choose this over alternatives like kinsta_sites_create-plain or kinsta_sites_clone. No exclusions, prerequisites, or selection criteria are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sites_create-plainCreate Plain SiteA

Create a new plain (empty) site on Kinsta without WordPress installed. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
regionYesDeployment region
display_nameYesDisplay name for the new site

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only include openWorldHint, so the description carries the behavioral burden. It discloses that this is a side-effecting creation call and that the response is an operation_id, implying asynchronous tracking. It could add that the operation_id should be polled via kinsta_operations_status, but the core behavior is communicated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence states the operation, its distinguishing constraint, and the return value. There is no filler and no duplication of schema content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter creation tool, the description plus schema cover what is created, what inputs are needed, and what is returned. The only minor gap is not explicitly directing the agent to poll the returned operation_id via the operations status tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with both required parameters described ('Deployment region' and 'Display name for the new site'). The description adds no additional parameter-level detail such as accepted region formats or naming constraints, so it stays at the schema-only baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb-resource pair ('Create a new plain site') and adds the key differentiator 'without WordPress installed'. This clearly distinguishes it from kinsta_sites_create and clone variants even before inspecting the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without WordPress installed' provides a clear decision criterion for when to choose this tool over a standard site creation flow. It does not explicitly name an alternative tool such as kinsta_sites_create, so it falls just short of full routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sites_deleteDelete SiteA
Destructive

Delete a Kinsta site permanently. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID to delete

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark destructiveHint=true, and the description adds the crucial permanence/cannot-be-undone warning, which is meaningful behavioral context beyond the annotation. It makes the irreversible nature of the action unmistakable to an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no filler, with the action stated first and the warning second. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter irreversible deletion tool with a destructive annotation, the description is complete: it names the entity, the permanence, and the required effect. No output schema exists, but an agent has enough to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents site_id as 'The site ID to delete.' The description adds no additional parameter detail, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Delete a Kinsta site permanently.' It clearly identifies the operation and adds a scope qualifier (Kinsta site), distinguishing it from sibling environment-delete or reset operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the intended use (deleting a site permanently) and stresses irreversibility, but it does not explicitly state when to prefer this tool over alternatives or when not to use it. There are no exclusions or alternative-tool pointers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sites_getGet SiteA
Read-onlyIdempotent

Get details for a specific Kinsta site by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID to retrieve

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation set already declares readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds no behavioral detail beyond the schema—no mention of output shape, error behavior, or scoping—but it is consistent with the annotations and not misleading.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One clean, front-loaded sentence with no filler. Every word earns its place, and the core operation and identifier requirement are communicated immediately.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter, read-only, idempotent lookup, the description is complete enough to select and invoke the tool correctly. No pagination, output schema, or complex options exist, so no additional context is necessary.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the single site_id parameter is already described as 'The site ID to retrieve.' The description only restates 'by its ID,' adding no new semantic value, which is acceptable given the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and resource ('details for a specific Kinsta site'), making the operation unmistakable. It also distinguishes itself from kinsta_sites_list by requiring a site ID, so an agent can tell them apart immediately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'by its ID' clearly signals this is the single-site lookup to use when a known site_id is available, as opposed to listing sites. It does not explicitly name alternatives or exclusions, but the intended context is clear enough for a competent agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sites_listList SitesA
Read-onlyIdempotent

List all WordPress sites in your Kinsta company. Optionally include environment details.

ParametersJSON Schema
NameRequiredDescriptionDefault
include_environmentsNoInclude environment details for each site

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=true, covering the safety profile. The description adds the scope (all sites) and optional environment inclusion, but does not disclose return format, pagination, or any other behavioral traits. With annotations carrying the safety burden, the description adds modest value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, tightly written sentence with no filler. It front-loads the core action and scope, and the optional parameter is mentioned without redundancy. Perfectly concise for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

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 bears the burden of explaining the response. It does not specify what fields are returned per site, whether results are paginated, or how environment details are structured. For a list-all tool, this leaves some ambiguity, though the tool's simplicity and annotations mitigate the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already documents the only parameter (include_environments) with a clear description. The tool description repeats this same information without adding extra meaning (e.g., default behavior, effect on response size). Since schema coverage is 100%, the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List', the resource 'all WordPress sites', and the scope 'in your Kinsta company'. It is specific and unambiguous, but it does not explicitly differentiate from sibling tools like kinsta_sites_get (for a single site) or kinsta_environments_list (for environments). The name and context make the distinction inferable, but not explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use it (listing all sites) and the optional parameter behavior, but it does not mention when to prefer this tool over alternatives such as kinsta_sites_get or kinsta_environments_list. There is no explicit when-not-to-use guidance, leaving some inference to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_sites_resetReset SiteA
Destructive

Reset a Kinsta site to a fresh WordPress install. This removes all existing data.

ParametersJSON Schema
NameRequiredDescriptionDefault
site_idYesThe site ID to reset
admin_passwordYesNew WordPress admin password after reset

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructiveHint=true, and the description reinforces this by stating it removes all existing data. It adds the specific detail of resetting to a fresh WordPress install, which goes beyond the annotation. However, it doesn't mention auth requirements or irreversible nature beyond the data removal, but the annotation covers the destructive aspect, so this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no fluff. The core action is stated first, and the critical consequence is second. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given that this is a destructive tool with only two parameters and high schema coverage, the description is sufficient. It clearly states what happens and what parameters are needed (via schema). The absence of an output schema is fine, and the tool's complexity is low. A 4 reflects that it's complete for an agent to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters with descriptions. The description itself doesn't add extra meaning beyond what's in the schema (e.g., no format hints for admin_password), but the schema covers the basics. Thus, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (reset) and the resource (a Kinsta site), and specifies the outcome (fresh WordPress install, removes all data). This clearly distinguishes it from similar tools like kinsta_sites_delete and kinsta_backups_restore, though it doesn't name them explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use this tool (when a fresh install is needed) and clearly states the consequence (removes all data), which implicitly warns against using it when data retention is needed. However, it does not explicitly name alternatives or provide explicit 'when not to use' guidance, so a 4 is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_themes_bulk-updateBulk Update ThemesA

Update multiple themes to their latest versions at once. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID
themesYesThemes to update, identified by name/slug

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation only provides openWorldHint=true, so the description carries most of the transparency burden. It discloses that the tool mutates themes and is asynchronous by noting that it returns an operation_id. It could further explain how to track that operation, but the core behavioral characteristics are covered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The action and scope come first, and the key return value is stated immediately after. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter bulk update with no output schema, the description provides enough to invoke it correctly: what it does, its scope, and what it returns. It does not elaborate on how to use the operation_id for status tracking, but that is not strictly required to invoke the tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with both env_id and themes already described in the input schema. The tool description adds no additional parameter-level meaning, 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.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific action ('Update multiple themes'), a specific resource ('themes'), and the scope ('to their latest versions at once'). It clearly distinguishes itself from the single-theme sibling kinsta_themes_update by emphasizing 'multiple' and 'bulk' behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies this tool is for updating more than one theme at once, which differentiates it from kinsta_themes_update. However, it does not explicitly state when to prefer the single-theme alternative, so it stops short of full exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_themes_listList ThemesB
Read-onlyIdempotent

List all themes for a Kinsta environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is known. The description adds no additional behavioral context such as pagination, rate limits, or return format; it simply restates the tool's action without adding value beyond the structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, direct sentence that front-loads the action and scope. It contains no filler or redundant wording, making it optimally concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list operation with one parameter and no output schema, the description conveys the essential purpose. However, it does not clarify how this tool differs from similar list tools like kinsta_themes_list-wp, which could be a minor gap for agent selection. Given the low complexity, it is otherwise adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides a description for the single parameter env_id ('The environment ID'), giving 100% schema description coverage. The tool description adds no further meaning or context for the parameter, so it meets the baseline for well-documented schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'themes for a Kinsta environment', making the purpose unambiguous. However, it does not differentiate from sibling tools like kinsta_themes_list-wp or kinsta_company_themes, so it falls short of the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 versus alternatives. It does not mention exclusions, prerequisites, or conditions that would steer an agent toward a different sibling, leaving the decision entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_themes_list-wpList WordPress ThemesB
Read-onlyIdempotent

List WordPress themes with details from the WordPress.org repository for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
columnNo
env_idYesThe environment ID
statusNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint, so the safety profile is covered. The description adds the useful behavioral detail that data comes from the external WordPress.org repository, but it does not disclose pagination, result shape, or whether the optional filters modify the external query.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, compact sentence with no wasted words and the core verb-resource pair front-loaded. The phrase 'with details' is slightly vague, and the word order is a bit awkward, but overall it is appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

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 should clarify what 'details' are returned, whether the repository list is filtered by status or column, and how the environment ID determines the results. It leaves these important operational questions unanswered, making the tool under-specified for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only env_id is described in the schema, giving 33% coverage. The description does not explain the optional column or status parameters—their enum values, their filtering semantics, or how they relate to the listed themes. Since schema coverage is low and the description does not compensate, the agent is left guessing about parameter behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List'), names the resource ('WordPress themes'), and adds scope ('for an environment') plus a clear source ('from the WordPress.org repository'). This distinguishes it from the sibling kinsta_themes_list, which appears to target environment-installed themes without the repository-source qualifier.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case by specifying the WordPress.org repository as the data source, and the 'for an environment' phrase gives context. However, it never explicitly says when to prefer this tool over kinsta_themes_list, kinsta_plugins_list-wp, or other listing tools, nor does it state 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_themes_updateUpdate ThemeB

Update a single theme to the latest version. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe theme name/slug to update
env_idYesThe environment ID
update_versionYesThe theme version to install

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses a behavioral detail beyond the openWorldHint annotation by stating 'Returns an operation_id', which hints at an asynchronous workflow. However, it does not explain what the operation_id means, whether the update is destructive/reversible, or any permissions, so the full behavioral burden is not met.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence conveys the action, scope, and return value. There is no filler or redundancy, and the key information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple mutation with three fully described parameters, the description covers the action and return value, but it omits the asynchronous operation-tracking context implied by operation_id and does not resolve the latest-version versus update_version ambiguity. This makes it only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description's 'latest version' conflicts with the schema's required update_version described as 'The theme version to install'. Rather than adding parameter meaning, it introduces ambiguity about what the version argument should contain.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a clear verb and resource: 'Update a single theme' and states it returns an operation_id. It distinguishes from bulk siblings such as kinsta_themes_bulk-update by saying 'single', though it does not name the sibling explicitly. The phrase 'to the latest version' slightly conflicts with the required update_version parameter, preventing a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The word 'single' implies this is for one theme rather than the bulk-operation sibling, but the description does not explicitly say when to prefer this over kinsta_themes_bulk-update or provide exclusions. Usage is implied rather than clearly stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_tools_clear-cacheClear CacheA

Clear the server cache for an environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
environment_idYesThe environment ID to clear cache for

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only include openWorldHint=true, so the description carries most of the behavioral burden. It adds that the operation returns an operation_id, hinting at asynchronous behavior, but it does not explain that the result is tracked via an operations endpoint or discuss side effects. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is one focused, front-loaded sentence that states the action, target, scope, and return value with no wasted words. Every part earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description is largely complete: it identifies the required environment_id and the returned operation_id. It could additionally mention that the returned operation_id should be polled via kinsta_operations_status, but that gap is minor given the low complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 100% description coverage for the single parameter, environment_id, so the schema already explains the parameter fully. The description adds no additional parameter-level meaning beyond what the schema provides, matching the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Clear') with a clear resource ('server cache') and scope ('for an environment'). The qualifier 'server' distinguishes it from sibling tools like kinsta_edge-cache_clear and kinsta_cdn_clear-cache. It also tells the caller what to expect ('Returns an operation_id').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: this is the tool for clearing the server-level cache of a specific environment. It does not explicitly name alternatives or when-not-to-use conditions, but the 'server cache' wording sharply narrows the use case relative to sibling cache tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_tools_denied-ipsGet Denied IPsA
Read-onlyIdempotent

Get the list of denied (blocked) IP addresses for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
environment_idYesThe environment ID

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark this readOnly, openWorld, and idempotent, so the description need not reassert safety. It adds only the clarification that 'denied' means 'blocked'; no pagination, permissions, or response-shape details are disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence with no filler, front-loading the operation and scope. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is a simple one-parameter read; description plus schema and annotations are fully sufficient to invoke it. No output schema exists, but the description already states what is returned: a list of denied IPs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%; environment_id is described as 'The environment ID' in the schema. The description adds no further parameter detail, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb and resource: 'Get' the 'list of denied (blocked) IP addresses' for an environment. The read intent clearly separates it from sibling kinsta_tools_denied-ips_update, which implies modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the read use case—retrieve the denied-IP list—but does not explicitly name alternatives or state when not to use it. The sibling update tool is discoverable, but no routing guidance is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_tools_denied-ips_updateUpdate Denied IPsB

Update the list of denied (blocked) IP addresses for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
ip_listYesList of IP addresses to block
environment_idYesThe environment ID

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only include openWorldHint: true, which is not a safety annotation. The description says 'Update' which implies a mutating operation, but it doesn't disclose whether this replaces the entire list or appends to it, whether it's destructive to existing entries, or any rate limits. The description adds minimal behavioral context beyond the action itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the action and resource. It's appropriately sized for a simple tool with only two parameters. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with two parameters and no output schema, the description is mostly complete. However, it doesn't clarify whether the ip_list replaces the entire existing list or merges with it, which is a meaningful ambiguity for an agent deciding how to invoke it. The sibling kinsta_tools_denied-ips likely provides the current list, but the relationship isn't stated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters. The description doesn't add meaning beyond the schema, but the baseline is 3 when coverage is high. The description's mention of 'list of denied IP addresses' aligns with the ip_list parameter, but no additional semantics are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Update') and resource ('list of denied (blocked) IP addresses for an environment'), which clearly identifies the tool's function. It doesn't explicitly differentiate from sibling tools like kinsta_tools_denied-ips (which likely retrieves the list), but the action verb and resource are clear enough.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: it's for updating the denied IP list for an environment. However, it doesn't explicitly state when to use this tool versus alternatives (e.g., kinsta_tools_denied-ips for viewing, or kinsta_environments_ssh_ip-allowlist_update for SSH allowlist). No exclusions or alternative routing is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_tools_force-https_getGet Force HTTPS StatusA
Read-onlyIdempotent

Get the Force HTTPS status for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
env_idYesThe environment ID

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description does not add behavioral context beyond those annotations, but it does not contradict them either. Since annotations carry the transparency burden, a neutral score is appropriate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that states the verb, resource, and scope with no filler. It is front-loaded and immediately actionable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

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 strong annotations, the description and schema together are sufficient to invoke the tool correctly. The lack of output schema is mitigated by the simple 'status' semantics, though a hint about the return shape could improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes env_id as 'The environment ID' and coverage is 100%, so the description adds little beyond the schema. The phrase 'for an environment' only repeats what the schema already conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the specific action ('Get'), the resource ('Force HTTPS status'), and the scope ('for an environment'). It also distinguishes this tool from its sibling kinsta_tools_force-https_set, which is a write operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies this tool is for retrieving, not modifying, the Force HTTPS status. It does not explicitly name alternatives or provide exclusion criteria, but the read/write distinction from the set sibling is self-evident.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_tools_force-https_setSet Force HTTPS StatusC

Set the Force HTTPS status for an environment.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYes
env_idYesThe environment ID

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The openWorldHint=true annotation signals potential side effects, but the description adds no context about consequences—e.g., whether changing status affects existing redirects, takes time to propagate, or impacts primary-domain routing. The distinct meanings of ENABLED_FOR_ALL vs ENABLED_REDIRECT_TO_PRIMARY are 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.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence that is front-loaded and free of filler. It is efficient, though it could be expanded to carry more value without becoming bloated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no output schema and only 50% schema coverage, the description is too thin. The critical enum semantics and side effects are unexplained, leaving an agent under-equipped to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%—only env_id has a description. The type parameter has an enum but no explanation of what each value does, and the description does not compensate by clarifying the enum semantics, which is the core decision an agent must make.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (Set) plus resource (Force HTTPS status) and scope (an environment), making the action clear. It distinguishes itself from the sibling kinsta_tools_force-https_get via the verb, though it doesn't name that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus the get counterpart or how the three enum states should be chosen. An agent must infer the appropriate usage entirely from the enum names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_tools_php-versionChange PHP VersionA

Change the PHP version for an environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
php_versionYesPHP version to switch to (e.g. 8.1, 8.2, 8.3)
environment_idYesThe environment ID
is_opt_out_from_automatic_php_updateNoOpt out of automatic PHP updates

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotation only provides openWorldHint, which is minimal. The description discloses that the tool mutates state ('Change') and returns an operation_id, implying an asynchronous operation. However, it does not mention permissions, side effects on the environment, or the meaning of the operation_id. Given the lack of rich annotations, the description carries the burden but only partially fulfills it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that states the action and the return value. It is front-loaded and efficient, with no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity and the schema's parameter descriptions, the description is mostly complete. It mentions the return of an operation_id, which is useful. However, it lacks any context about prerequisites, error conditions, or what the operation_id represents in terms of tracking the change. For a straightforward mutation, this is acceptable but not exhaustive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all parameters with descriptions (100% coverage), so the description adds little beyond the schema. It mentions 'PHP version' but doesn't elaborate on formatting or constraints beyond the schema's example. Thus, it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Change') and the resource ('PHP version for an environment'), which is distinct from sibling tools like restart-php or clear-cache. It also notes the return value (operation_id), making the tool's purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any conditions or exclusions. The agent is left to infer usage from the tool name and schema alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_tools_restart-phpRestart PHPA

Restart PHP for an environment. Returns an operation_id.

ParametersJSON Schema
NameRequiredDescriptionDefault
environment_idYesThe environment ID to restart PHP for

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include only openWorldHint, so the description carries most behavioral disclosure. It usefully mentions that the tool returns an operation_id, implying asynchronous execution, but it does not disclose that restarting PHP may be disruptive, whether it requires special permissions, or how to track completion via an operations-status endpoint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no filler. The action is front-loaded, and the return contract is included. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter operation with no output schema, the description covers the essential call information: what action to perform, on what resource, and what the response contains. Minor missing context around asynchronous polling prevents a 5, but this is adequate for a straightforward tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema fully describes the single required parameter, environment_id, with a clear description. The tool description adds no additional parameter semantics beyond restating the environment context, so the baseline of 3 is appropriate given 100% schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Restart'), a specific resource ('PHP'), and a clear target ('for an environment'). It also names the return value, making the tool's purpose unambiguous and distinguishable from siblings like php-version or clear-cache.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool instead of related operations such as changing the PHP version or clearing cache. The agent must infer usage context from the name alone, which is risky among many similar kinsta_tools_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

kinsta_tools_search-and-replaceSearch and ReplaceA
Destructive

Preview or perform a database search and replace. perform_replacement defaults to false for a safe preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchYes
replaceYes
environment_idYesThe environment ID
is_clear_cacheNo
perform_replacementNo

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already flag destructiveHint=true, and the description adds the key safeguard that replacement is opt-in via perform_replacement. It clearly communicates the preview/perform duality, which is exactly the behavioral nuance an agent needs. There is no contradiction with 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no filler. It front-loads the core purpose and then delivers the most important safety-relevant default.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the destructiveHint annotation and the absence of an output schema, the description could explain what a preview returns or whether search supports regex/plain text. Still, it provides enough for an agent to make a safe first preview call, though cache-clearing behavior and output details remain unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20%, so the description must compensate for undocumented parameters. It adds meaning only to perform_replacement by framing it as a safe-preview toggle; search, replace, and is_clear_cache remain semantically thin beyond their names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific operation ('Preview or perform a database search and replace') with a clear verb and resource. This distinguishes it from the sibling tools, none of which offer search-and-replace functionality.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives practical guidance by noting that perform_replacement defaults to false for a safe preview, implying the agent should first run in preview mode. It does not explicitly discuss exclusions or alternatives, but no sibling tool provides this capability, so the context is adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 184 tool updatesv1.1.0
    • Addedkinsta_analytics_bandwidth
    • Addedkinsta_analytics_bandwidth-usage
    • Addedkinsta_analytics_cdn-bandwidth
    • Addedkinsta_analytics_cdn-bandwidth-usage
    • Addedkinsta_analytics_disk-space
    • Addedkinsta_analytics_response-codes
    • Addedkinsta_analytics_top-asns
    • Addedkinsta_analytics_top-browsers
    • Addedkinsta_analytics_top-cities
    • Addedkinsta_analytics_top-client-ips
    • Addedkinsta_analytics_top-countries
    • Addedkinsta_analytics_top-hosts
    • Addedkinsta_analytics_top-referrers
    • Addedkinsta_analytics_top-uas
    • Addedkinsta_analytics_visits
    • Addedkinsta_analytics_visits-dispersion
    • Addedkinsta_analytics_visits-usage
    • Addedkinsta_auth_validate
    • Addedkinsta_backups_create
    • Addedkinsta_backups_create-downloadable
    • Addedkinsta_backups_delete
    • Addedkinsta_backups_downloadable
    • Addedkinsta_backups_list
    • Addedkinsta_backups_next-downloadable
    • Addedkinsta_backups_restore
    • Addedkinsta_cdn_clear-cache
    • Addedkinsta_cdn_image-optimization
    • Addedkinsta_company_activity-logs
    • Addedkinsta_company_api-keys
    • Addedkinsta_company_plugins
    • Addedkinsta_company_regions
    • Addedkinsta_company_themes
    • Addedkinsta_company_users
    • Addedkinsta_dns_domains
    • Addedkinsta_dns_records
    • Addedkinsta_dns_records_create
    • Addedkinsta_dns_records_delete
    • Addedkinsta_dns_records_update
    • Addedkinsta_domains_add
    • Addedkinsta_domains_delete
    • Addedkinsta_domains_list
    • Addedkinsta_domains_set-primary
    • Addedkinsta_domains_verification
    • Addedkinsta_edge-cache_clear
    • Addedkinsta_edge-cache_toggle
    • Addedkinsta_environments_clone
    • Addedkinsta_environments_create
    • Addedkinsta_environments_create-plain
    • Addedkinsta_environments_delete
    • Addedkinsta_environments_files
    • Addedkinsta_environments_list
    • Addedkinsta_environments_php-allocation
    • Addedkinsta_environments_php-allocation-site
    • Addedkinsta_environments_phpmyadmin
    • Addedkinsta_environments_push
    • Addedkinsta_environments_redirects
    • Addedkinsta_environments_redirects_update
    • Addedkinsta_environments_ssh_config
    • Addedkinsta_environments_ssh_generate-password
    • Addedkinsta_environments_ssh_ip-allowlist
    • Addedkinsta_environments_ssh_ip-allowlist_update
    • Addedkinsta_environments_ssh_password
    • Addedkinsta_environments_ssh_password-access
    • Addedkinsta_environments_ssh_password-expiration
    • Addedkinsta_environments_ssh_status
    • Addedkinsta_environments_ssh_toggle
    • Addedkinsta_environments_webroot
    • Addedkinsta_environments_wp-cli
    • Addedkinsta_environments_wpa_create-user
    • Addedkinsta_environments_wpa_login-url
    • Addedkinsta_environments_wpa_user-exists
    • Addedkinsta_logs_get
    • Addedkinsta_operations_status
    • Addedkinsta_ping
    • Addedkinsta_plugins_bulk-update
    • Addedkinsta_plugins_list
    • Addedkinsta_plugins_list-wp
    • Addedkinsta_plugins_update
    • Addedkinsta_sftp-users_add
    • Addedkinsta_sftp-users_list
    • Addedkinsta_sftp-users_remove
    • Addedkinsta_sftp-users_toggle
    • Addedkinsta_sites_clone
    • Addedkinsta_sites_create
    • Addedkinsta_sites_create-plain
    • Addedkinsta_sites_delete
    • Addedkinsta_sites_get
    • Addedkinsta_sites_list
    • Addedkinsta_sites_reset
    • Addedkinsta_themes_bulk-update
    • Addedkinsta_themes_list
    • Addedkinsta_themes_list-wp
    • Addedkinsta_themes_update
    • Addedkinsta_tools_clear-cache
    • Addedkinsta_tools_denied-ips
    • Addedkinsta_tools_denied-ips_update
    • Addedkinsta_tools_force-https_get
    • Addedkinsta_tools_force-https_set
    • Addedkinsta_tools_php-version
    • Addedkinsta_tools_restart-php
    • Addedkinsta_tools_search-and-replace
    • Removedkinsta.analytics.bandwidth
    • Removedkinsta.analytics.bandwidth-usage
    • Removedkinsta.analytics.cdn-bandwidth
    • Removedkinsta.analytics.cdn-bandwidth-usage
    • Removedkinsta.analytics.disk-space
    • Removedkinsta.analytics.visits
    • Removedkinsta.analytics.visits-usage
    • Removedkinsta.auth.validate
    • Removedkinsta.backups.create
    • Removedkinsta.backups.delete
    • Removedkinsta.backups.downloadable
    • Removedkinsta.backups.list
    • Removedkinsta.backups.restore
    • Removedkinsta.cdn.clear-cache
    • Removedkinsta.cdn.image-optimization
    • Removedkinsta.company.activity-logs
    • Removedkinsta.company.api-keys
    • Removedkinsta.company.plugins
    • Removedkinsta.company.regions
    • Removedkinsta.company.themes
    • Removedkinsta.company.users
    • Removedkinsta.dns.domains
    • Removedkinsta.dns.records
    • Removedkinsta.dns.records.create
    • Removedkinsta.dns.records.delete
    • Removedkinsta.dns.records.update
    • Removedkinsta.domains.add
    • Removedkinsta.domains.delete
    • Removedkinsta.domains.list
    • Removedkinsta.domains.set-primary
    • Removedkinsta.domains.verification
    • Removedkinsta.edge-cache.clear
    • Removedkinsta.edge-cache.toggle
    • Removedkinsta.environments.clone
    • Removedkinsta.environments.create
    • Removedkinsta.environments.create-plain
    • Removedkinsta.environments.delete
    • Removedkinsta.environments.files
    • Removedkinsta.environments.list
    • Removedkinsta.environments.php-allocation
    • Removedkinsta.environments.php-allocation-site
    • Removedkinsta.environments.phpmyadmin
    • Removedkinsta.environments.push
    • Removedkinsta.environments.redirects
    • Removedkinsta.environments.redirects.update
    • Removedkinsta.environments.ssh.config
    • Removedkinsta.environments.ssh.generate-password
    • Removedkinsta.environments.ssh.ip-allowlist
    • Removedkinsta.environments.ssh.ip-allowlist.update
    • Removedkinsta.environments.ssh.password
    • Removedkinsta.environments.ssh.password-access
    • Removedkinsta.environments.ssh.password-expiration
    • Removedkinsta.environments.ssh.status
    • Removedkinsta.environments.ssh.toggle
    • Removedkinsta.environments.webroot
    • Removedkinsta.environments.wp-cli
    • Removedkinsta.logs.get
    • Removedkinsta.operations.status
    • Removedkinsta.ping
    • Removedkinsta.plugins.bulk-update
    • Removedkinsta.plugins.list
    • Removedkinsta.plugins.list-wp
    • Removedkinsta.plugins.update
    • Removedkinsta.sftp-users.add
    • Removedkinsta.sftp-users.list
    • Removedkinsta.sftp-users.remove
    • Removedkinsta.sftp-users.toggle
    • Removedkinsta.sites.clone
    • Removedkinsta.sites.create
    • Removedkinsta.sites.create-plain
    • Removedkinsta.sites.delete
    • Removedkinsta.sites.get
    • Removedkinsta.sites.list
    • Removedkinsta.sites.reset
    • Removedkinsta.themes.bulk-update
    • Removedkinsta.themes.list
    • Removedkinsta.themes.list-wp
    • Removedkinsta.themes.update
    • Removedkinsta.tools.clear-cache
    • Removedkinsta.tools.denied-ips
    • Removedkinsta.tools.denied-ips.update
    • Removedkinsta.tools.php-version
    • Removedkinsta.tools.restart-php
  2. 83 tool updatesv1.0.3
    • First observedkinsta.analytics.bandwidth
    • First observedkinsta.analytics.bandwidth-usage
    • First observedkinsta.analytics.cdn-bandwidth
    • First observedkinsta.analytics.cdn-bandwidth-usage
    • First observedkinsta.analytics.disk-space
    • First observedkinsta.analytics.visits
    • First observedkinsta.analytics.visits-usage
    • First observedkinsta.auth.validate
    • First observedkinsta.backups.create
    • First observedkinsta.backups.delete
    • First observedkinsta.backups.downloadable
    • First observedkinsta.backups.list
    • First observedkinsta.backups.restore
    • First observedkinsta.cdn.clear-cache
    • First observedkinsta.cdn.image-optimization
    • First observedkinsta.company.activity-logs
    • First observedkinsta.company.api-keys
    • First observedkinsta.company.plugins
    • First observedkinsta.company.regions
    • First observedkinsta.company.themes
    • First observedkinsta.company.users
    • First observedkinsta.dns.domains
    • First observedkinsta.dns.records
    • First observedkinsta.dns.records.create
    • First observedkinsta.dns.records.delete
    • First observedkinsta.dns.records.update
    • First observedkinsta.domains.add
    • First observedkinsta.domains.delete
    • First observedkinsta.domains.list
    • First observedkinsta.domains.set-primary
    • First observedkinsta.domains.verification
    • First observedkinsta.edge-cache.clear
    • First observedkinsta.edge-cache.toggle
    • First observedkinsta.environments.clone
    • First observedkinsta.environments.create
    • First observedkinsta.environments.create-plain
    • First observedkinsta.environments.delete
    • First observedkinsta.environments.files
    • First observedkinsta.environments.list
    • First observedkinsta.environments.php-allocation
    • First observedkinsta.environments.php-allocation-site
    • First observedkinsta.environments.phpmyadmin
    • First observedkinsta.environments.push
    • First observedkinsta.environments.redirects
    • First observedkinsta.environments.redirects.update
    • First observedkinsta.environments.ssh.config
    • First observedkinsta.environments.ssh.generate-password
    • First observedkinsta.environments.ssh.ip-allowlist
    • First observedkinsta.environments.ssh.ip-allowlist.update
    • First observedkinsta.environments.ssh.password
    • First observedkinsta.environments.ssh.password-access
    • First observedkinsta.environments.ssh.password-expiration
    • First observedkinsta.environments.ssh.status
    • First observedkinsta.environments.ssh.toggle
    • First observedkinsta.environments.webroot
    • First observedkinsta.environments.wp-cli
    • First observedkinsta.logs.get
    • First observedkinsta.operations.status
    • First observedkinsta.ping
    • First observedkinsta.plugins.bulk-update
    • First observedkinsta.plugins.list
    • First observedkinsta.plugins.list-wp
    • First observedkinsta.plugins.update
    • First observedkinsta.sftp-users.add
    • First observedkinsta.sftp-users.list
    • First observedkinsta.sftp-users.remove
    • First observedkinsta.sftp-users.toggle
    • First observedkinsta.sites.clone
    • First observedkinsta.sites.create
    • First observedkinsta.sites.create-plain
    • First observedkinsta.sites.delete
    • First observedkinsta.sites.get
    • First observedkinsta.sites.list
    • First observedkinsta.sites.reset
    • First observedkinsta.themes.bulk-update
    • First observedkinsta.themes.list
    • First observedkinsta.themes.list-wp
    • First observedkinsta.themes.update
    • First observedkinsta.tools.clear-cache
    • First observedkinsta.tools.denied-ips
    • First observedkinsta.tools.denied-ips.update
    • First observedkinsta.tools.php-version
    • First observedkinsta.tools.restart-php

TDQS

B3.1/5.0

Scored across 101 tools

Disambiguation4/5

Most tools target distinct resources and actions, and the descriptions clarify the layer or scope (e.g., site vs. environment, cache vs. edge cache vs. CDN). A few pairs like the SSH access toggles and multiple cache-clearing tools could cause occasional confusion, but they are generally separable.

Naming Consistency3/5

The kinsta_ prefix and resource-group pattern provide a recognizable structure, but verb placement and phrasing vary: some are action-first (sites_create-plain), some are noun-phrases (environments_webroot), and some put the action last (denied-ips_update). It is readable but not uniformly consistent.

Tool Count2/5

101 tools is a very large surface for an MCP server, far exceeding typical scope expectations. Even though Kinsta's API is broad, the sheer count makes the toolset unwieldy and harder for an agent to navigate efficiently.

Completeness4/5

The toolset covers most major Kinsta workflows: sites, environments, DNS, domains, backups, analytics, logs, caching, SFTP, and WordPress plugin/theme updates. Minor gaps exist, such as no plugin/theme install or activation tools and limited site and DNS-domain update operations, but core lifecycle coverage is strong.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers