From 16046a0139c9d574c1f89ec5941664a39d35c705 Mon Sep 17 00:00:00 2001 From: Pedro Rodrigues <44656907+Rodriguespn@users.noreply.github.com> Date: Mon, 7 Sep 2026 11:43:00 +0100 Subject: [PATCH] docs: add omp (oh-my-pi) to supported clients in MCP and plugin guides (#50045) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## What this does Adds **omp** (oh-my-pi) across the Supabase AI-tools docs. - **Plugin docs** (`AgentPluginsPanel`) — omp client + Anthropic marketplace install: `omp plugin marketplace add anthropics/claude-plugins-official`, then `omp plugin install supabase@claude-plugins-official`. - **MCP docs** (`McpUrlBuilder`) — omp under "AI Agent CLI": `.omp/mcp.json` / `~/.omp/agent/mcp.json` (JSON), `/mcp add` guided setup, project vs user scope. - **"Pick your agent" grid** — add the omp logo and tagline ("A coding agent with the IDE wired in."). No CLI command mapping entry — omp has no `omp mcp …` subcommand, so the page documents file-based setup (`/mcp add` wizard or direct JSON edit). Matches other file-configured clients like kiro. ## Testing Verified against omp 18.1.11: written `.omp/mcp.json` parsed by runtime, `/mcp list` shows server connected; `omp plugin marketplace add/install supabase@claude-plugins-official` works; `omp plugin list` confirms installed. ## Preview ### Agent Plugin page image ### MCP page image ### AI Tools main page image Closes AI-1184 ## Summary by CodeRabbit - **New Features** - Added OMP as a supported AI coding agent across documentation and integrations. - Added OMP installation guidance, including marketplace setup, scope options, session reloads, and authentication. - Added support for configuring the Supabase MCP server through OMP. - Added OMP branding, icon, tagline, repository, and documentation links. --- .../data/content-listings/ai-tools.data.ts | 2 ++ .../features/ui/AgentPluginsPanel.data.ts | 8 +++++ apps/docs/features/ui/AgentPluginsPanel.tsx | 32 +++++++++++++++++++ apps/docs/public/img/icons/agent-omp-icon.svg | 11 +++++++ .../src/McpUrlBuilder/assets/omp-icon.svg | 11 +++++++ .../src/McpUrlBuilder/clients.data.ts | 19 +++++++++++ .../McpUrlBuilder/clients.instructions.md.tsx | 26 +++++++++++++++ .../ui-patterns/src/McpUrlBuilder/types.ts | 14 ++++++++ .../src/McpUrlBuilder/utils/mcpIconAssets.ts | 2 ++ 9 files changed, 125 insertions(+) create mode 100644 apps/docs/public/img/icons/agent-omp-icon.svg create mode 100644 packages/ui-patterns/src/McpUrlBuilder/assets/omp-icon.svg diff --git a/apps/docs/data/content-listings/ai-tools.data.ts b/apps/docs/data/content-listings/ai-tools.data.ts index 4b555dc87bc..6517e8a909e 100644 --- a/apps/docs/data/content-listings/ai-tools.data.ts +++ b/apps/docs/data/content-listings/ai-tools.data.ts @@ -19,6 +19,7 @@ const ICON_ASSETS: Record = { 'gemini-cli': { icon: '/docs/img/icons/agent-gemini-cli-icon', hasLightIcon: false }, 'github-copilot': { icon: '/docs/img/icons/agent-copilot-icon', hasLightIcon: true }, kimi: { icon: '/docs/img/icons/agent-kimi-icon', hasLightIcon: true }, + omp: { icon: '/docs/img/icons/agent-omp-icon', hasLightIcon: false }, vscode: { icon: '/docs/img/icons/agent-vscode-icon', hasLightIcon: false }, antigravity: { icon: '/docs/img/icons/agent-antigravity-icon', hasLightIcon: false }, windsurf: { icon: '/docs/img/icons/agent-devin-icon', hasLightIcon: true }, @@ -46,6 +47,7 @@ const TAGLINES: Record = { goose: 'Your native open source AI agent — desktop app, CLI, and API.', kimi: 'Engineered to drop into any dev workflow and get programming tasks done fast.', kiro: 'Move beyond AI coding to agentic engineering.', + omp: 'A coding agent with the IDE wired in.', opencode: 'The open source AI coding agent.', vscode: 'The open source AI code editor — your home for multi-agent development.', // Pre-acquisition tagline (Cognition/Devin acquired Windsurf in 2025) — see "Open questions". diff --git a/apps/docs/features/ui/AgentPluginsPanel.data.ts b/apps/docs/features/ui/AgentPluginsPanel.data.ts index 91902ae6412..883baae6939 100644 --- a/apps/docs/features/ui/AgentPluginsPanel.data.ts +++ b/apps/docs/features/ui/AgentPluginsPanel.data.ts @@ -63,6 +63,14 @@ export const PLUGIN_CLIENTS: PluginClient[] = [ repoUrl: 'https://github.com/supabase-community/supabase-plugin', docsUrl: 'https://www.kimi.com/code/docs/en/kimi-code-cli/customization/plugins.html', }, + { + key: 'omp', + label: 'omp', + icon: 'omp', + repoUrl: 'https://github.com/supabase-community/supabase-plugin', + docsUrl: 'https://github.com/can1357/oh-my-pi/blob/main/docs/marketplace.md', + docsLinkText: 'View omp plugin docs', + }, { key: 'vscode', label: 'VS Code', diff --git a/apps/docs/features/ui/AgentPluginsPanel.tsx b/apps/docs/features/ui/AgentPluginsPanel.tsx index 7df6f067d13..bf509160047 100644 --- a/apps/docs/features/ui/AgentPluginsPanel.tsx +++ b/apps/docs/features/ui/AgentPluginsPanel.tsx @@ -169,6 +169,38 @@ function PluginInstructions({ client }: { client: PluginClient }) { ) } + if (client.key === 'omp') { + return ( +
+

+ omp reads the Claude Code plugin format, so install the Supabase plugin from the{' '} + + official Anthropic marketplace + + : +

+ +

+ Installs with --scope user by default, making it available across all your + projects. Use --scope project to install it for the current project only. +

+

+ Inside a session, run /marketplace to browse plugins, then{' '} + /reload-plugins after installing to load the skills and MCP server. +

+
+ ) + } if (client.key === 'vscode') { return ( diff --git a/apps/docs/public/img/icons/agent-omp-icon.svg b/apps/docs/public/img/icons/agent-omp-icon.svg new file mode 100644 index 00000000000..379eff88719 --- /dev/null +++ b/apps/docs/public/img/icons/agent-omp-icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/packages/ui-patterns/src/McpUrlBuilder/assets/omp-icon.svg b/packages/ui-patterns/src/McpUrlBuilder/assets/omp-icon.svg new file mode 100644 index 00000000000..379eff88719 --- /dev/null +++ b/packages/ui-patterns/src/McpUrlBuilder/assets/omp-icon.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts b/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts index c73510e5023..fe7c79f3dc4 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/clients.data.ts @@ -13,6 +13,7 @@ import type { McpClientConfig, McpClientDeepLinkOptions, McpFeatureGroup, + OmpMcpConfig, OpenCodeMcpConfig, VSCodeMcpConfig, WindsurfMcpConfig, @@ -360,6 +361,23 @@ export const MCP_CLIENT_DATA: McpClientData[] = [ } }, }, + { + key: 'omp', + label: 'omp', + icon: 'omp', + configFile: '.omp/mcp.json', + externalDocsUrl: 'https://github.com/can1357/oh-my-pi/blob/main/docs/mcp-config.md', + transformConfig: (config): OmpMcpConfig => { + return { + mcpServers: { + supabase: { + type: 'http', + url: config.mcpServers.supabase.url, + }, + }, + } + }, + }, { key: 'kiro', label: 'Kiro', @@ -449,6 +467,7 @@ export const MCP_CLIENT_GROUPS = [ 'opencode', 'factory', 'fx', + 'omp', ], }, { diff --git a/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx b/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx index 77ac73995d7..a73704c4797 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx +++ b/packages/ui-patterns/src/McpUrlBuilder/clients.instructions.md.tsx @@ -275,6 +275,32 @@ export const MCP_CLIENT_INSTRUCTIONS: Record = { ), }, + omp: { + primary: () => ( + <> + + Start and add the Supabase MCP server with the guided setup: + + + + ), + alternate: () => ( + <> + + That path is project-scoped. To use the server in every project, add the same entry to{' '} + instead. + + + If a session is already open, pick up the change with . + omp opens your browser to complete the Supabase OAuth flow the first time it connects. + + + Confirm the server is connected with , or authorize again + with a different account using . + + + ), + }, kiro: { deepLinkDescription: ( diff --git a/packages/ui-patterns/src/McpUrlBuilder/types.ts b/packages/ui-patterns/src/McpUrlBuilder/types.ts index 570d09de794..89daf506c3d 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/types.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/types.ts @@ -214,6 +214,19 @@ export interface KimiMcpConfig extends McpClientBaseConfig { } } } +/** + * Configuration format for the omp CLI MCP client. + * omp keys servers under `mcpServers` and requires an explicit `type: "http"`: + * an entry with a `url` but no `type` is validated as stdio and rejected. + */ +export interface OmpMcpConfig extends McpClientBaseConfig { + mcpServers: { + supabase: { + type: 'http' + url: string + } + } +} // Union of all possible config types export type McpClientConfig = @@ -230,6 +243,7 @@ export type McpClientConfig = | GrokMcpConfig | KimiMcpConfig | McpClientBaseConfig + | OmpMcpConfig | OpenCodeMcpConfig | OtherMcpConfig | VSCodeMcpConfig diff --git a/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts b/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts index a5fe3f63eb6..6b7938c2665 100644 --- a/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts +++ b/packages/ui-patterns/src/McpUrlBuilder/utils/mcpIconAssets.ts @@ -20,6 +20,7 @@ import grokIcon from '../assets/grok-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 ompIcon from '../assets/omp-icon.svg' import openaiDarkIcon from '../assets/openai-icon-dark.svg' import openaiIcon from '../assets/openai-icon.svg' import opencodeDarkIcon from '../assets/opencode-icon-dark.svg' @@ -52,6 +53,7 @@ const MCP_CLIENT_ICON_ASSETS = { grok: { light: grokIcon, dark: grokDarkIcon }, kimi: { light: kimiIcon, dark: kimiDarkIcon }, kiro: { light: kiroIcon, dark: kiroIcon }, + omp: { light: ompIcon, dark: ompIcon }, openai: { light: openaiIcon, dark: openaiDarkIcon }, opencode: { light: opencodeIcon, dark: opencodeDarkIcon }, perplexity: { light: perplexityIcon, dark: perplexityDarkIcon },