Sponsored by Deepsite.site

Kinsta

Created By
jacob-hartmanna month ago
Model Context Protocol (MCP) server for Kinsta WordPress hosting
Content

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:

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

VariableRequiredDefaultDescription
KINSTA_API_KEYYes-Kinsta API key (Bearer token)
KINSTA_COMPANY_IDYes-Your Kinsta company ID
KINSTA_API_BASE_URLNohttps://api.kinsta.com/v2API base URL (override for testing)

Features

Tools

The server provides 83 tools organized by category:

Connectivity

ToolDescription
kinsta.pingCheck server status and API credential configuration

Authentication

ToolDescription
kinsta.auth.validateValidate the current Kinsta API key and return account information if valid

Operations

ToolDescription
kinsta.operations.statusCheck the status of an asynchronous Kinsta operation by operation ID

Company

ToolDescription
kinsta.company.usersList all users in your Kinsta company
kinsta.company.regionsList all available deployment regions for your Kinsta company
kinsta.company.api-keysList all API keys for your Kinsta company
kinsta.company.activity-logsList company activity logs (supports filtering and pagination)
kinsta.company.pluginsList WordPress plugins across all sites (supports search/filter/pagination)
kinsta.company.themesList WordPress themes across all sites (supports search/filter/pagination)

Sites

ToolDescription
kinsta.sites.listList all WordPress sites (optionally include environment details)
kinsta.sites.getGet details for a specific Kinsta site by ID
kinsta.sites.createCreate a new WordPress site (returns an operation_id)
kinsta.sites.create-plainCreate a new plain (empty) site without WordPress installed (returns an operation_id)
kinsta.sites.cloneClone an existing site (returns an operation_id)
kinsta.sites.deleteDelete a Kinsta site permanently (cannot be undone)
kinsta.sites.resetReset a site to a fresh WordPress install (destructive)

Environments

ToolDescription
kinsta.environments.listList all environments for a site
kinsta.environments.createCreate a new WordPress environment for a site (returns an operation_id)
kinsta.environments.create-plainCreate a new plain (empty) environment for a site (returns an operation_id)
kinsta.environments.cloneClone an existing environment (returns an operation_id)
kinsta.environments.pushPush one environment to another (destructive; returns an operation_id)
kinsta.environments.deleteDelete an environment (cannot be undone)
kinsta.environments.php-allocationChange PHP worker allocation for an environment (returns an operation_id)
kinsta.environments.php-allocation-siteChange PHP worker allocation for all environments in a site (returns an operation_id)
kinsta.environments.webrootChange the webroot subfolder for an environment (returns an operation_id)
kinsta.environments.filesList files in an environment's file system
kinsta.environments.redirectsList redirect rules for an environment (supports filtering/pagination)
kinsta.environments.redirects.updateCreate, update, or delete redirect rules for an environment
kinsta.environments.ssh.statusGet SSH/SFTP status for an environment
kinsta.environments.ssh.toggleEnable or disable SSH/SFTP access for an environment
kinsta.environments.ssh.password-accessEnable or disable SSH password-based access
kinsta.environments.ssh.generate-passwordGenerate a new SSH/SFTP password
kinsta.environments.ssh.passwordGet the current SSH/SFTP password
kinsta.environments.ssh.ip-allowlistGet the SSH IP allowlist
kinsta.environments.ssh.ip-allowlist.updateUpdate the SSH IP allowlist
kinsta.environments.ssh.configGet SSH connection configuration for an environment
kinsta.environments.ssh.password-expirationChange SSH password expiration interval
kinsta.environments.wp-cliRun a WP-CLI command on an environment (must start with wp )
kinsta.environments.phpmyadminGet a phpMyAdmin login token for an environment

Site Tools

ToolDescription
kinsta.tools.clear-cacheClear the server cache for an environment (returns an operation_id)
kinsta.tools.restart-phpRestart PHP for an environment (returns an operation_id)
kinsta.tools.php-versionChange the PHP version for an environment (returns an operation_id)
kinsta.tools.denied-ipsGet the list of denied (blocked) IP addresses for an environment
kinsta.tools.denied-ips.updateUpdate the list of denied (blocked) IP addresses for an environment

Plugins & Themes

ToolDescription
kinsta.plugins.listList all plugins for an environment
kinsta.plugins.updateUpdate a single plugin (returns an operation_id)
kinsta.plugins.bulk-updateUpdate multiple plugins at once (returns an operation_id)
kinsta.plugins.list-wpList plugins with details from the WordPress.org repository
kinsta.themes.listList all themes for an environment
kinsta.themes.updateUpdate a single theme (returns an operation_id)
kinsta.themes.bulk-updateUpdate multiple themes at once (returns an operation_id)
kinsta.themes.list-wpList themes with details from the WordPress.org repository

Domains

ToolDescription
kinsta.domains.listList all custom domains for an environment
kinsta.domains.addAdd a custom domain to an environment
kinsta.domains.deleteRemove custom domains from an environment
kinsta.domains.verificationGet DNS verification records for a domain
kinsta.domains.set-primarySet the primary domain for an environment

DNS (Kinsta DNS)

ToolDescription
kinsta.dns.domainsList all DNS domains for your company
kinsta.dns.recordsList DNS records for a domain
kinsta.dns.records.createCreate a new DNS record
kinsta.dns.records.updateUpdate an existing DNS record
kinsta.dns.records.deleteDelete a DNS record

Edge Cache & CDN

ToolDescription
kinsta.edge-cache.clearClear the edge cache for an environment (returns an operation_id)
kinsta.edge-cache.toggleEnable or disable edge caching for an environment
kinsta.cdn.clear-cacheClear the CDN cache for an environment (returns an operation_id)
kinsta.cdn.image-optimizationConfigure CDN image optimization settings

SFTP Users

ToolDescription
kinsta.sftp-users.listList additional SFTP/SSH user accounts for an environment
kinsta.sftp-users.toggleEnable or disable additional SFTP/SSH accounts
kinsta.sftp-users.addAdd a new additional SFTP/SSH user account
kinsta.sftp-users.removeRemove an additional SFTP/SSH user account

Backups

ToolDescription
kinsta.backups.listList all backups for an environment
kinsta.backups.downloadableList downloadable backups for an environment
kinsta.backups.createCreate a manual backup (returns an operation_id)
kinsta.backups.restoreRestore an environment from a backup (destructive; returns an operation_id)
kinsta.backups.deleteDelete a backup (cannot be undone)

Analytics

ToolDescription
kinsta.analytics.visitsGet visitor analytics for an environment over a date range
kinsta.analytics.visits-usageGet visitor usage analytics (billable visits)
kinsta.analytics.bandwidthGet bandwidth analytics for an environment over a date range
kinsta.analytics.bandwidth-usageGet bandwidth usage analytics (billable bandwidth)
kinsta.analytics.cdn-bandwidthGet CDN bandwidth analytics for an environment over a date range
kinsta.analytics.cdn-bandwidth-usageGet CDN bandwidth usage analytics (billable CDN bandwidth)
kinsta.analytics.disk-spaceGet disk space usage analytics for an environment

Logs

ToolDescription
kinsta.logs.getGet log file contents for an environment

Resources

The server exposes data as MCP resources:

Static Resources

Resource URIDescription
kinsta://sitesList all WordPress sites in your Kinsta company
kinsta://regionsList available deployment regions

Resource Templates

Resource URIDescription
kinsta://sites/{site_id}Details for a specific site
kinsta://sites/{site_id}/environmentsEnvironments for a specific site

Prompts

The server provides guided prompts for common workflows:

PromptDescription
deploy-siteGuide through creating a new WordPress site on Kinsta
manage-backupsGuide for backup list, create, restore, download, and delete workflows
push-environmentGuide for pushing changes between environments (e.g. staging to live)
setup-domainGuide 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

Server Config

{
  "mcpServers": {
    "kinsta": {
      "command": "npx",
      "args": [
        "-y",
        "kinsta-mcp"
      ],
      "env": {
        "KINSTA_API_KEY": "your-api-key",
        "KINSTA_COMPANY_ID": "your-company-id"
      }
    }
  }
}
Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
Serper MCP ServerA Serper MCP Server
Tavily Mcp
CursorThe AI Code Editor
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
RedisA Model Context Protocol server that provides access to Redis databases. This server enables LLMs to interact with Redis key-value stores through a set of standardized tools.
Y GuiA web-based graphical interface for AI chat interactions with support for multiple AI models and MCP (Model Context Protocol) servers.
DeepChatYour AI Partner on Desktop
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Amap Maps高德地图官方 MCP Server
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
WindsurfThe new purpose-built IDE to harness magic
ChatWiseThe second fastest AI chatbot™
Playwright McpPlaywright MCP server
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.