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.
+
+
+ >
+ ),
+ },
'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 },