mirror of
https://github.com/supabase/supabase.git
synced 2026-07-25 00:42:58 -04:00
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 <img width="755" height="703" alt="image" src="https://github.com/user-attachments/assets/b350aca0-ff0d-442b-b6f3-b3b4355d8fcd" /> ### AI coding agent plugins <img width="753" height="475" alt="image" src="https://github.com/user-attachments/assets/100d5893-4627-4f48-9ab6-16e0c6457467" /> Closes AI-933 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## 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. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -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 (
|
||||
<div className="space-y-3">
|
||||
<p className="text-sm text-foreground-light">Open Kimi Code by running</p>
|
||||
<CodeBlock value="kimi" language="bash" focusable={false} className="block" />
|
||||
<p className="text-sm text-foreground-light">
|
||||
Then install the Supabase plugin from within the session:
|
||||
</p>
|
||||
<CodeBlock
|
||||
value="/plugins install https://github.com/supabase-community/supabase-plugin"
|
||||
language="bash"
|
||||
focusable={false}
|
||||
className="block"
|
||||
/>
|
||||
<p className="text-xs text-foreground-lighter">
|
||||
Confirm the trust prompt to install. Kimi adds the plugin to its native plugin store. Run{' '}
|
||||
<code>/plugins</code> at any time to view or reload installed plugins.
|
||||
</p>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
if (client.key === 'github-copilot') {
|
||||
return (
|
||||
<div className="space-y-4">
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21.7202 0.939941C22.9502 0.939941 23.9502 1.93994 23.9502 3.16994C23.9502 4.39994 22.9502 5.39994 21.7202 5.39994H19.7502C19.6002 5.39994 19.4902 5.27994 19.4902 5.13994V3.16994C19.4902 1.93994 20.4902 0.939941 21.7202 0.939941Z" fill="#1783FF"/>
|
||||
<path d="M9.39 13.9501L17.82 5.59012C17.98 5.43012 17.89 5.12012 17.68 5.12012H13.14C13.14 5.12012 13.04 5.14012 13 5.18012L3.92 14.1901C3.78 14.3301 3.57 14.2101 3.57 13.9801V5.39012C3.57 5.24012 3.47 5.12012 3.35 5.12012H0.219999C0.0999993 5.12012 0 5.24012 0 5.39012V23.9201C0 24.0701 0.0999993 24.1901 0.219999 24.1901H3.35C3.47 24.1901 3.57 24.0701 3.57 23.9201V20.1401C3.57 20.0601 3.6 19.9801 3.65 19.9301L6.47 17.1401C6.54 17.0701 6.63 17.0601 6.71 17.1101L14.24 22.6501C15.47 23.4801 16.85 23.9901 18.25 24.1401C18.37 24.1501 18.48 24.0301 18.48 23.8701V20.3101C18.48 20.1701 18.4 20.0601 18.29 20.0501C17.47 19.9201 16.66 19.6001 15.94 19.1101L9.42 14.3901C9.28 14.3001 9.27 14.0701 9.39 13.9501Z" fill="white"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,4 @@
|
||||
<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21.7202 0.939941C22.9502 0.939941 23.9502 1.93994 23.9502 3.16994C23.9502 4.39994 22.9502 5.39994 21.7202 5.39994H19.7502C19.6002 5.39994 19.4902 5.27994 19.4902 5.13994V3.16994C19.4902 1.93994 20.4902 0.939941 21.7202 0.939941Z" fill="#1783FF"/>
|
||||
<path d="M9.39 13.9501L17.82 5.59012C17.98 5.43012 17.89 5.12012 17.68 5.12012H13.14C13.14 5.12012 13.04 5.14012 13 5.18012L3.92 14.1901C3.78 14.3301 3.57 14.2101 3.57 13.9801V5.39012C3.57 5.24012 3.47 5.12012 3.35 5.12012H0.219999C0.0999993 5.12012 0 5.24012 0 5.39012V23.9201C0 24.0701 0.0999993 24.1901 0.219999 24.1901H3.35C3.47 24.1901 3.57 24.0701 3.57 23.9201V20.1401C3.57 20.0601 3.6 19.9801 3.65 19.9301L6.47 17.1401C6.54 17.0701 6.63 17.0601 6.71 17.1101L14.24 22.6501C15.47 23.4801 16.85 23.9901 18.25 24.1401C18.37 24.1501 18.48 24.0301 18.48 23.8701V20.3101C18.48 20.1701 18.4 20.0601 18.29 20.0501C17.47 19.9201 16.66 19.6001 15.94 19.1101L9.42 14.3901C9.28 14.3001 9.27 14.0701 9.39 13.9501Z" fill="black"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -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
|
||||
|
||||
|
||||
@@ -88,6 +88,25 @@ export const MCP_CLIENT_INSTRUCTIONS: Record<string, McpClientInstructions> = {
|
||||
</>
|
||||
),
|
||||
},
|
||||
kimi: {
|
||||
alternate: () => (
|
||||
<>
|
||||
<paragraph>
|
||||
Kimi Code reads <inlineCode value=".kimi-code/mcp.json" /> from your current working
|
||||
directory. To make the server available in every project, place the file under{' '}
|
||||
<inlineCode value="$KIMI_CODE_HOME" /> instead, which defaults to{' '}
|
||||
<inlineCode value="~/.kimi-code" />.
|
||||
</paragraph>
|
||||
<paragraph>
|
||||
Restart Kimi Code or start a new session to load the server, then check its status by
|
||||
running:
|
||||
</paragraph>
|
||||
<code lang="bash" value="/mcp" />
|
||||
<paragraph>To configure MCP servers and complete the Supabase OAuth login, run:</paragraph>
|
||||
<code lang="bash" value="/mcp-config" />
|
||||
</>
|
||||
),
|
||||
},
|
||||
'gemini-cli': {
|
||||
primary: ({ isPlatform, url }) => (
|
||||
<>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 },
|
||||
|
||||
Reference in New Issue
Block a user