From 45ba40eff937cdfd2fea7183c785db2124c4601f Mon Sep 17 00:00:00 2001 From: Pedro Rodrigues <44656907+Rodriguespn@users.noreply.github.com> Date: Mon, 20 Jul 2026 19:37:02 +0100 Subject: [PATCH] docs: add Kimi Code to MCP and AI coding agent plugin setup (#48099) Adds Kimi Code to the MCP server setup and AI coding agent plugins docs: ### MCP Server config image ### AI coding agent plugins image Closes AI-933 ## Summary by CodeRabbit * **New Features** * Added **Kimi Code** as a selectable plugin client in the plugins panel. * Added **Kimi-specific installation/setup instructions**, including guidance on placing `mcp.json`, confirming the trust prompt, and using `/plugins` plus `/mcp` and `/mcp-config`. * Extended the **MCP URL builder** to generate Kimi Code HTTP-based server configuration. * Included **Kimi** in the **IDE** client group with a dedicated **Kimi icon** for UI display. --------- Co-authored-by: Claude Opus 4.8 (1M context) --- apps/docs/features/ui/AgentPluginsPanel.tsx | 30 +++++++++++++++++++ .../McpUrlBuilder/assets/kimi-icon-dark.svg | 4 +++ .../src/McpUrlBuilder/assets/kimi-icon.svg | 4 +++ .../src/McpUrlBuilder/clients.data.ts | 21 ++++++++++++- .../McpUrlBuilder/clients.instructions.md.tsx | 19 ++++++++++++ .../ui-patterns/src/McpUrlBuilder/types.ts | 14 +++++++++ .../src/McpUrlBuilder/utils/mcpIconAssets.ts | 3 ++ 7 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 packages/ui-patterns/src/McpUrlBuilder/assets/kimi-icon-dark.svg create mode 100644 packages/ui-patterns/src/McpUrlBuilder/assets/kimi-icon.svg diff --git a/apps/docs/features/ui/AgentPluginsPanel.tsx b/apps/docs/features/ui/AgentPluginsPanel.tsx index 33518664e6d..40de6553a1c 100644 --- a/apps/docs/features/ui/AgentPluginsPanel.tsx +++ b/apps/docs/features/ui/AgentPluginsPanel.tsx @@ -50,6 +50,14 @@ const PLUGIN_CLIENTS: PluginClient[] = [ docsUrl: 'https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/plugins-finding-installing', }, + { + key: 'kimi', + label: 'Kimi Code', + icon: 'kimi', + hasDistinctDarkIcon: true, + repoUrl: 'https://github.com/supabase-community/supabase-plugin', + docsUrl: 'https://www.kimi.com/code/docs/en/kimi-code-cli/customization/plugins.html', + }, ] function PluginInstructions({ client }: { client: PluginClient }) { @@ -172,6 +180,28 @@ function PluginInstructions({ client }: { client: PluginClient }) { ) } + if (client.key === 'kimi') { + return ( +
+

Open Kimi Code by running

+ +

+ Then install the Supabase plugin from within the session: +

+ +

+ Confirm the trust prompt to install. Kimi adds the plugin to its native plugin store. Run{' '} + /plugins at any time to view or reload installed plugins. +

+
+ ) + } + if (client.key === 'github-copilot') { return (
diff --git a/packages/ui-patterns/src/McpUrlBuilder/assets/kimi-icon-dark.svg b/packages/ui-patterns/src/McpUrlBuilder/assets/kimi-icon-dark.svg new file mode 100644 index 00000000000..949cf16d792 --- /dev/null +++ b/packages/ui-patterns/src/McpUrlBuilder/assets/kimi-icon-dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/ui-patterns/src/McpUrlBuilder/assets/kimi-icon.svg b/packages/ui-patterns/src/McpUrlBuilder/assets/kimi-icon.svg new file mode 100644 index 00000000000..209edf3b9da --- /dev/null +++ b/packages/ui-patterns/src/McpUrlBuilder/assets/kimi-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts b/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts index 06e5dd64f0b..f1bfecd348a 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts @@ -6,6 +6,7 @@ import type { FactoryMcpConfig, GeminiMcpConfig, GooseMcpConfig, + KimiMcpConfig, McpClientBaseConfig, McpClientConfig, McpClientDeepLinkOptions, @@ -152,6 +153,24 @@ export const MCP_CLIENT_DATA: McpClientData[] = [ } }, }, + { + key: 'kimi', + label: 'Kimi Code', + icon: 'kimi', + hasDistinctDarkIcon: true, + configFile: '.kimi-code/mcp.json', + externalDocsUrl: 'https://www.kimi.com/code/docs/en/kimi-code-cli/customization/mcp.html', + transformConfig: (config): KimiMcpConfig => { + return { + mcpServers: { + supabase: { + transport: 'http', + url: config.mcpServers.supabase.url, + }, + }, + } + }, + }, { key: 'gemini-cli', label: 'Gemini CLI', @@ -375,7 +394,7 @@ export const MCP_CLIENT_GROUPS = [ }, { heading: 'IDE', - keys: ['cursor', 'vscode', 'antigravity', 'kiro', 'windsurf'], + keys: ['cursor', 'vscode', 'antigravity', 'kiro', 'windsurf', 'kimi'], }, ] as const diff --git a/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx b/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx index be200091d4e..670b09ceade 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx +++ b/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx @@ -88,6 +88,25 @@ export const MCP_CLIENT_INSTRUCTIONS: Record = { ), }, + kimi: { + alternate: () => ( + <> + + Kimi Code reads from your current working + directory. To make the server available in every project, place the file under{' '} + instead, which defaults to{' '} + . + + + Restart Kimi Code or start a new session to load the server, then check its status by + running: + + + To configure MCP servers and complete the Supabase OAuth login, run: + + + ), + }, 'gemini-cli': { primary: ({ isPlatform, url }) => ( <> diff --git a/packages/ui-patterns/src/McpUrlBuilder/types.ts b/packages/ui-patterns/src/McpUrlBuilder/types.ts index 3b195771270..97a03ae103b 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/types.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/types.ts @@ -175,6 +175,19 @@ export interface CopilotMcpConfig extends McpClientBaseConfig { } } +/** + * Configuration format for Kimi Code CLI MCP client. + * Kimi keys the server transport with `transport` (not `type`). + */ +export interface KimiMcpConfig extends McpClientBaseConfig { + mcpServers: { + supabase: { + transport: 'http' + url: string + } + } +} + // Union of all possible config types export type McpClientConfig = | AntigravityMcpConfig @@ -186,6 +199,7 @@ export type McpClientConfig = | FactoryMcpConfig | GeminiMcpConfig | GooseMcpConfig + | KimiMcpConfig | McpClientBaseConfig | OpenCodeMcpConfig | OtherMcpConfig diff --git a/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts b/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts index ebebe51289b..cb27dd3fd29 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts @@ -11,6 +11,8 @@ import factoryIcon from '../assets/factory-icon.svg' import geminiCliIcon from '../assets/gemini-cli-icon.svg' import gooseDarkIcon from '../assets/goose-icon-dark.svg' import gooseIcon from '../assets/goose-icon.svg' +import kimiDarkIcon from '../assets/kimi-icon-dark.svg' +import kimiIcon from '../assets/kimi-icon.svg' import kiroIcon from '../assets/kiro-icon.svg' import openaiDarkIcon from '../assets/openai-icon-dark.svg' import openaiIcon from '../assets/openai-icon.svg' @@ -37,6 +39,7 @@ const MCP_CLIENT_ICON_ASSETS = { factory: { light: factoryIcon, dark: factoryDarkIcon }, 'gemini-cli': { light: geminiCliIcon, dark: geminiCliIcon }, goose: { light: gooseIcon, dark: gooseDarkIcon }, + kimi: { light: kimiIcon, dark: kimiDarkIcon }, kiro: { light: kiroIcon, dark: kiroIcon }, openai: { light: openaiIcon, dark: openaiDarkIcon }, opencode: { light: opencodeIcon, dark: opencodeDarkIcon },