Kinsta MCP Server

Kinsta MCP Server

MCP server for the Kinsta WordPress hosting platform, enabling AI assistants to interact with Kinsta sites and infrastructure via the Kinsta API.

Category
访问服务器

README

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.

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:

Claude Desktop (Recommended)

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

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 83 tools organized by category:

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

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

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)

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

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选