Skip to content

Commit 6d9d610

Browse files
Rodriguespnclaude
andcommitted
feat: give Grok a dedicated manifest and MCP config; add Kimi MCP source file
Grok Build natively prefers .grok-plugin/plugin.json over .claude-plugin/ (verified against grok v0.2.101), so it now ships its own manifest pointing at agents/grok/mcp.json with X-Source-Name "grok-plugin" instead of being tracked as "claude-code-plugin". This holds via both `grok plugin install` and the `plugins` CLI, which stages the whole repo. Kimi Code cannot reference an external MCP file — its loader evaluates `mcpServers` as an inline object (Object.entries(manifest.mcpServers)), so a path string breaks. agents/kimi/mcp.json is added as the canonical, tracked source for layout consistency with the other vendors; .kimi-plugin/plugin.json inlines the same block (kept in sync via release-please). - Add .grok-plugin/plugin.json + agents/grok/mcp.json. - Add agents/kimi/mcp.json (mirrors the inline .kimi-plugin block). - release-please: bump versions for .grok-plugin, and X-Source-Version for agents/grok/mcp.json and agents/kimi/mcp.json. - release.yml: add .grok-plugin/ to the release tarball. - Document both vendor MCP quirks in AGENTS.md. Verified end-to-end with the real grok CLI, the kimi CLI package, and `npx plugins@1.3.4`: grok resolves agents/grok/mcp.json (grok-plugin), kimi loads exactly one inline server (kimi-plugin), cursor and claude still install cleanly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 31ab9ac commit 6d9d610

6 files changed

Lines changed: 78 additions & 7 deletions

File tree

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
if: ${{ steps.release.outputs.release_created }}
2626
run: |
2727
tar -czvf "supabase-plugin.tar.gz" --dereference \
28-
.claude-plugin/ .cursor-plugin/ .codex-plugin/ .kimi-plugin/ \
28+
.claude-plugin/ .cursor-plugin/ .codex-plugin/ .kimi-plugin/ .grok-plugin/ \
2929
.github/plugin/ agents/ \
3030
gemini-extension.json SUPABASE.md \
3131
skills/ assets/ || exit 1

.grok-plugin/plugin.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "supabase",
3+
"version": "0.1.12",
4+
"description": "Official Supabase plugin for Grok Build with bundled Supabase skills and MCP access for project management, database work, auth, storage, and Postgres best practices.",
5+
"author": {
6+
"name": "Supabase",
7+
"url": "https://supabase.com"
8+
},
9+
"repository": "https://github.com/supabase-community/supabase-plugin",
10+
"license": "MIT",
11+
"skills": "./skills/",
12+
"mcpServers": "./agents/grok/mcp.json",
13+
"keywords": [
14+
"supabase",
15+
"postgres",
16+
"database",
17+
"backend",
18+
"mcp",
19+
"auth",
20+
"storage",
21+
"realtime",
22+
"edge-functions",
23+
"migrations",
24+
"rls"
25+
]
26+
}

AGENTS.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@ Keep this repository focused on the shared multi-vendor plugin layout:
1515
- `.claude-plugin/plugin.json` defines the Claude Code plugin identity and metadata
1616
- `.cursor-plugin/plugin.json` defines the Cursor plugin surface
1717
- `.codex-plugin/plugin.json` defines the Codex plugin surface
18-
- `.kimi-plugin/plugin.json` defines the Kimi Code plugin surface (with its MCP server declared inline)
18+
- `.grok-plugin/plugin.json` defines the Grok Build plugin surface
19+
- `.kimi-plugin/plugin.json` defines the Kimi Code plugin surface (with its MCP server declared inline — see below)
1920
- `.github/plugin/plugin.json` defines the GitHub Copilot plugin surface
20-
- `agents/claude/.mcp.json`, `agents/cursor/mcp.json`, `agents/codex/.app.json`, and `agents/copilot/.mcp.json` hold agent-specific MCP config files
21+
- `agents/claude/.mcp.json`, `agents/cursor/mcp.json`, `agents/grok/mcp.json`, `agents/kimi/mcp.json`, `agents/codex/.app.json`, and `agents/copilot/.mcp.json` hold agent-specific MCP config files
2122
- `gemini-extension.json` defines the Gemini extension manifest
2223
- `skills/` contains the shipped, real skill files consumed by the supported plugin surfaces
2324

24-
Grok Build does not have its own manifest: the `plugins` CLI installs it through Grok's Claude Code compatibility layer, which reads `.claude-plugin/plugin.json` (and therefore `agents/claude/.mcp.json`). There is no `.grok-plugin/` directory to maintain.
25+
Two vendor-specific MCP notes:
26+
27+
- **Grok Build** natively prefers `.grok-plugin/plugin.json` over `.claude-plugin/plugin.json` (verified against `grok` `v0.2.101`), so it gets its own manifest pointing at `agents/grok/mcp.json` (`X-Source-Name: grok-plugin`). This holds whether it is installed through the `plugins` CLI (which stages the whole repo) or via `grok plugin install`. Grok resolves the `mcpServers` file-path reference.
28+
- **Kimi Code** cannot reference an external MCP file: its plugin loader evaluates `mcpServers` as an inline object (`Object.entries(manifest.mcpServers)`), so a path string is treated as characters and breaks. `.kimi-plugin/plugin.json` therefore inlines the MCP server. `agents/kimi/mcp.json` is kept as the canonical, tracked source of that block for layout consistency with the other vendors; the two must stay in sync (release-please bumps the `X-Source-Version` in both).
2529

2630
This repo should stay self-contained. Claude marketplace installs copy the plugin into Claude's local cache, so paths outside the plugin root are fragile and should be avoided.
2731

@@ -35,7 +39,7 @@ npx claude plugin validate .claude-plugin/plugin.json
3539

3640
## Editing Rules
3741

38-
- Do not move `skills/`, `agents/`, `.claude-plugin/plugin.json`, `.cursor-plugin/plugin.json`, `.codex-plugin/plugin.json`, or `.kimi-plugin/plugin.json` out of the repo root layout.
42+
- Do not move `skills/`, `agents/`, `.claude-plugin/plugin.json`, `.cursor-plugin/plugin.json`, `.codex-plugin/plugin.json`, `.grok-plugin/plugin.json`, or `.kimi-plugin/plugin.json` out of the repo root layout.
3943
- Do not replace `skills/` with a symlink or submodule reference.
4044
- Keep the plugin name stable as `supabase` unless there is a deliberate migration plan.
4145
- When changing descriptions or keywords, update all relevant `plugin.json` files together.
@@ -63,10 +67,12 @@ Known vendor documentation pages:
6367
- https://geminicli.com/docs/extensions/writing-extensions/
6468
- Grok Build:
6569
- https://x.ai/cli
66-
- Installed via the `plugins` CLI using Grok's Claude Code compatibility layer (reuses `.claude-plugin/`); no dedicated manifest.
70+
- https://docs.x.ai/build/features/skills-plugins-marketplaces
71+
- Uses a dedicated `.grok-plugin/plugin.json` (Grok prefers it over `.claude-plugin/`) pointing at `agents/grok/mcp.json`. Installable via the `plugins` CLI or `grok plugin install`.
6772
- Kimi Code:
6873
- https://www.kimi.com/code
69-
- Installed via the `plugins` CLI into Kimi's native plugin store; uses `.kimi-plugin/plugin.json` with skills, commands, hooks, and MCP servers (no agents or LSP support).
74+
- https://www.kimi.com/code/docs/en/kimi-code-cli/customization/plugins.html
75+
- Installed via the `plugins` CLI into Kimi's native plugin store; uses `.kimi-plugin/plugin.json` with skills, commands, hooks, and MCP servers (no agents or LSP support). MCP servers must be declared inline — Kimi does not resolve external file references.
7076
- `plugins` CLI (vendor-neutral installer):
7177
- https://github.com/vercel-labs/plugins
7278

agents/grok/mcp.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"mcpServers": {
3+
"supabase": {
4+
"type": "http",
5+
"url": "https://mcp.supabase.com/mcp",
6+
"headers": {
7+
"X-Source-Name": "grok-plugin",
8+
"X-Source-Version": "0.1.12"
9+
}
10+
}
11+
}
12+
}

agents/kimi/mcp.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"mcpServers": {
3+
"supabase": {
4+
"type": "http",
5+
"url": "https://mcp.supabase.com/mcp",
6+
"headers": {
7+
"X-Source-Name": "kimi-plugin",
8+
"X-Source-Version": "0.1.12"
9+
}
10+
}
11+
}
12+
}

release-please-config.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@
2525
"path": ".kimi-plugin/plugin.json",
2626
"jsonpath": "$.version"
2727
},
28+
{
29+
"type": "json",
30+
"path": ".grok-plugin/plugin.json",
31+
"jsonpath": "$.version"
32+
},
2833
{
2934
"type": "json",
3035
"path": ".github/plugin/plugin.json",
@@ -50,6 +55,16 @@
5055
"path": ".kimi-plugin/plugin.json",
5156
"jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]"
5257
},
58+
{
59+
"type": "json",
60+
"path": "agents/kimi/mcp.json",
61+
"jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]"
62+
},
63+
{
64+
"type": "json",
65+
"path": "agents/grok/mcp.json",
66+
"jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]"
67+
},
5368
{
5469
"type": "json",
5570
"path": "agents/copilot/.mcp.json",

0 commit comments

Comments
 (0)