GoBuildWP

Moonshot terminal agent, Native OAuth

Kimi Code CLI WordPress MCP. New home, new commands.

Kimi Code CLI WordPress MCP setup changed with Moonshot's rewrite: the Python kimi-cli is archived, and the current Kimi Code CLI keeps servers in ~/.kimi-code/mcp.json, manages them inside a session with /mcp-config, and signs in to OAuth servers itself.

Checked against Kimi Code CLI's documentation on 29 September 2026, entries from GoBuildWP Free 1.18.6

~/.kimi-code/mcp.jsonOAuth 2.1
{
  "mcpServers": {
    "gobuildwp-your-site-com": {
      "url": "https://your-site.com/wp-json/mcp/wppilot-oauth"
    }
  }
}
User config
~/.kimi-code/mcp.json
Project config
.kimi-code/mcp.json (overrides user)
Manage
/mcp-config, /mcp

Connect screen

GoBuildWP's entries for Kimi Code

The Connect screen writes for Kimi Code CLI, not the archived Python kimi-cli: ~/.kimi-code/mcp.json, or .kimi-code/mcp.json in a project. Every entry is a bare url under mcpServers with no type field, which Kimi Code reads as Streamable HTTP. The OAuth tab adds the sign-in step, /mcp-config login with the server name; the token entry adds a static Authorization header and needs no sign-in.

OAuth 2.1url alone, then /mcp-config login with the server name in a new Kimi Code session. The browser opens your WordPress login.
Access tokenurl plus a headers object. To keep the token out of the file, Kimi Code's bearerTokenEnvVar names an environment variable instead.
Application PasswordThe npx bridge entry with the credentials in env.

Endpoints on your site: /wp-json/mcp/wppilot-oauth for OAuth, /wp-json/mcp/wppilot for tokens and passwords. Through the optional GoBuildWP Cloud instead, every client uses https://app.gobuildwp.com/mcp with the server name gobuildwp, and a personal Cloud token is read from GOBUILDWP_TOKEN where the client supports environment variables.

~/.kimi-code/mcp.jsonToken from the environment
{
  "mcpServers": {
    "gobuildwp-your-site-com": {
      "url": "https://your-site.com/wp-json/mcp/wppilot",
      "bearerTokenEnvVar": "GOBUILDWP_TOKEN"
    }
  }
}
~/.kimi-code/mcp.jsonAccess token
{
  "mcpServers": {
    "gobuildwp-your-site-com": {
      "url": "https://your-site.com/wp-json/mcp/wppilot",
      "headers": {
        "Authorization": "Bearer wpp_YOUR-ACCESS-TOKEN"
      }
    }
  }
}

Setup

Configure Kimi Code CLI for WordPress

If you used the legacy CLI, kimi migrate copies MCP servers across, but not their authorizations; sign in again afterwards.

  1. Write the entry

    Add the server to ~/.kimi-code/mcp.json, or $KIMI_CODE_HOME/mcp.json if you set that, or to .kimi-code/mcp.json in a project to override the user file.

  2. Or use /mcp-config

    Inside a Kimi session, /mcp-config adds, edits and deletes servers without opening the file.

  3. Sign in for OAuth

    Run /mcp-config login with the server name; the browser opens your WordPress login.

  4. Keep a token in the environment

    For a token, set bearerTokenEnvVar to the variable's name and export it, instead of a literal header.

  5. Check with /mcp

    /mcp shows each server's connection status in the session.

Verify the connection before allowing changes

Select Read Only explicitly; the default is Production Safe. Use a dedicated identity with manage_options on a single site, or superadmin on multisite. Match the named tool call, site URL and returned record ID against WordPress.

First connection checkRead Only
Use the gobuildwp-your-site-com MCP server in Kimi Code CLI. Do not change anything.

1. Report the active GoBuildWP safety profile.
2. List the abilities this connection can see.
3. Call wppilot/get-site-settings and report the site URL and locale.
4. Call wppilot/list-content for the five newest pages,
   then wppilot/get-content on one of them.
5. Name every ability you called and each WordPress ID you read.

These setup instructions are not a recorded live-client test. Keep credentials out of repositories, logs and shared files.

Troubleshooting

Kimi Code CLI errors and their causes

SymptomCause and fix
kimi mcp add: unknown commandThat is the legacy CLI's command. In Kimi Code use /mcp-config or edit ~/.kimi-code/mcp.json.
Edits to ~/.kimi/mcp.json do nothingThat is the legacy path. Move the entry to ~/.kimi-code/mcp.json.
Authorization lost after migratingkimi migrate copies servers but not their OAuth authorizations. Run /mcp-config login again.
Slow first connectionRaise startupTimeoutMs on the entry above the 30-second default.

Inside Kimi Code CLI

Status, timeouts and tool rules in Kimi Code

/mcp reports connection status per server. startupTimeoutMs on an entry defaults to 30 seconds; KIMI_MCP_STARTUP_TIMEOUT_MS and KIMI_MCP_TOOL_TIMEOUT_MS set defaults for all servers, and a per-server field wins over them.

enabledTools and disabledTools narrow what the model sees. Tool names join mcp, the server name and the tool name with double underscores, and permission rules accept single-star and double-star wildcards; unmatched tools prompt, with an option to approve for the session.

--yolo asks only when needed and --auto never asks. On a live WordPress site, keep the default prompts and let GoBuildWP's safety profile refuse what should never happen.

Signs it worked

  • /mcp shows the server connected
  • The OAuth login completed on your own domain
  • No legacy ~/.kimi/mcp.json entry remains
  • Writes still prompt

First task

A first Kimi Code task

Kimi Code is used heavily for code; this relates the site's PHP environment to the repository.

Kimi Code CLI promptReads only
Use the WordPress MCP server. Read only.

1. wppilot/system-status: PHP and WordPress versions.
2. wppilot/list-extensions: active plugins.
3. Check this repository's composer.json or plugin
   header for a PHP requirement, and say whether the
   site meets it.

Working with Kimi Code on a site

When the PHP check passes: trying your build on staging

The first Kimi Code task answers one question: does the site's PHP meet what the repository's plugin asks for. If it does, the next step is to try the build on a staging copy. Getting the files there belongs to your normal deploy route; installing plugins through GoBuildWP needs Developer Full Access, which is not a profile to switch on for convenience. Once the plugin is on staging, Kimi Code can take over the checks.

wppilot/activate-plugin runs the plugin's own activation hooks, can take the site down with a fatal error, and therefore always requires explicit confirmation. It is recorded in the change ledger, and wppilot/rollback-change can put the plugin back to inactive, but that only reverses the activation status: whatever the plugin's activation hook created or changed, such as tables, options or scheduled events, stays until you remove it. After activation, ask Kimi Code to run wppilot/verify-rendered-page on the pages the plugin touches and wppilot/site-health-tests, and to quote any PHP error a visitor would see rather than summarising it.

  • "Activate the plugin whose folder matches this repository with wppilot/activate-plugin. Show me the confirmation request first."
  • "Run wppilot/verify-rendered-page on the home page and the contact page and quote any PHP notice or unrendered shortcode."
  • "If anything failed, tell me the change ID so I can deactivate the plugin again with a rollback, and list anything its activation created."

Writing permission rules for WordPress tools in Kimi Code

Kimi Code names an MCP tool by joining mcp, the server name and the tool name with double underscores, and its rules accept single and double star wildcards. A rule on the server name with a trailing wildcard covers every WordPress tool at once, which is convenient and too broad for anything except a site on Read Only. Narrower rules that match only the read abilities are better, but look at the exact tool names /mcp shows before writing them: the names the client sees can differ in spelling from the ability IDs on GoBuildWP's reference pages.

Unmatched tools prompt, with an option to approve for the rest of the session. That option is a reasonable middle ground for reads during a working session. For writes, approve each call; the arguments in the prompt are the last place to catch a wrong post ID.

Clean up after kimi migrate

Migrating from the archived Python kimi-cli copies the WordPress server across but not its authorization, so you sign in again from Kimi Code. The old CLI's grant does not disappear on the site when you do. Open Connected Apps in wp-admin, find the authorization the legacy client created, and revoke it once Kimi Code has completed a read; if the old setup used an Application Password or a token instead, revoke that. Then delete the entry from ~/.kimi/mcp.json so nothing on the machine can quietly reuse it.

Long site reads without raising every timeout

KIMI_MCP_TOOL_TIMEOUT_MS raises the call timeout for every server at once, which is a blunt fix for one slow WordPress job. A site-wide content audit does not need it: wppilot/audit-content in background mode starts a job for the whole site and returns a job ID straight away, and wppilot/audit-content-status reads the progress and the findings so far, a page at a time. Ask Kimi Code to start the job and poll its status, and each call stays short however large the site is.

Kimi Code with or without GoBuildWP Cloud

Kimi Code is not on the GoBuildWP Cloud list of tested apps. Cloud accepts any client with remote Streamable HTTP servers, so the Cloud link as a bare url with /mcp-config login is the route to try, and a Cloud personal access token through bearerTokenEnvVar is the fallback if the sign-in does not complete. Until you have seen it work, a direct entry per site is the supported setup.

FAQ

Kimi Code CLI questions

Does Kimi Code CLI support OAuth?

Yes. /mcp-config login with a server name runs the browser sign-in. GoBuildWP's OAuth tab for Kimi writes the url entry and names that command.

Is the old kimi-cli still supported?

Moonshot has archived the Python kimi-cli and says it will be phased out. Install Kimi Code and run kimi migrate to carry your servers across; GoBuildWP's entries are written for Kimi Code.

Why is there no type field in the entry?

Kimi Code does not document one: a url with no transport is treated as Streamable HTTP, which is what GoBuildWP serves.

Related

Related terminal agents

  • Qwen Code: a CLI that turns OAuth on with a flag in the entry
  • Claude Code: the same mcp, server, tool naming in permission rules
  • ZCode: a desktop workspace with an MCP manager screen

Kimi Code CLI documentation read on 29 September 2026

Move Kimi's WordPress server to its new home.

~/.kimi-code/mcp.json, a login from /mcp-config, and a token kept in the environment.