From 5a8d2506dd8ffb51498c3563702e2d2ab82fd3a8 Mon Sep 17 00:00:00 2001 From: ataniz <33555998+ataniz@users.noreply.github.com> Date: Sun, 8 Nov 2026 02:37:10 +0300 Subject: [PATCH] The Claude Code and Codex plugins add the OpenApps MCP server, so one install gives agents the skills and the data without a shell --- .claude-plugin/plugin.json | 3 ++- .codex-plugin/plugin.json | 1 + .mcp.json | 8 ++++++++ README.md | 4 ++++ scripts/test-installs.sh | 4 +++- 5 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 .mcp.json diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index a5a8b22..f0eeffc 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -8,5 +8,6 @@ "homepage": "https://theopenapps.com?ref=plugin-stack", "repository": "https://github.com/theopenapps/plugin-stack", "license": "MIT", - "skills": "./skills" + "skills": "./skills", + "mcpServers": "./.mcp.json" } diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index f9955c2..6f4ba44 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -10,6 +10,7 @@ "repository": "https://github.com/theopenapps/plugin-stack", "license": "MIT", "skills": "./skills/", + "mcpServers": "./.mcp.json", "interface": { "displayName": "Plugin Stack", "shortDescription": "Find openings, submit to stores, track launches, optimize listings, audit discoverability, design widgets and watch competitors", diff --git a/.mcp.json b/.mcp.json new file mode 100644 index 0000000..e16511b --- /dev/null +++ b/.mcp.json @@ -0,0 +1,8 @@ +{ + "mcpServers": { + "openapps": { + "type": "http", + "url": "https://theopenapps.com/mcp" + } + } +} diff --git a/README.md b/README.md index 4746bd6..13f3a61 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,8 @@ npx skills add theopenapps/plugin-stack -a claude-code From a shell, use `claude plugin marketplace add theopenapps/plugin-stack`, then `claude plugin install plugin-stack@theopenapps`. To update, run `claude plugin marketplace update theopenapps`, then `claude plugin update plugin-stack@theopenapps`. +The plugin also adds the [OpenApps MCP server](https://theopenapps.com/docs/mcp?ref=plugin-stack), so agents can read the data without a shell. It connects signed out. If you added `openapps` yourself before, remove that copy with `claude mcp remove openapps`. + ### Codex plugin ```bash @@ -79,6 +81,8 @@ codex plugin add plugin-stack@theopenapps To update, run `codex plugin marketplace upgrade theopenapps`. +The plugin also adds the OpenApps MCP server, signed out. If you added `openapps` yourself before, remove that copy with `codex mcp remove openapps`. + ### Copy a folder Each folder in `skills/` is complete, so you can copy one into your agent's skills folder: diff --git a/scripts/test-installs.sh b/scripts/test-installs.sh index 3e3f4cd..aa77e71 100755 --- a/scripts/test-installs.sh +++ b/scripts/test-installs.sh @@ -25,14 +25,16 @@ if has claude; then [ "$source" != "$PWD" ] || claude plugin validate "$PWD" >/dev/null 2>&1 || report FAIL "claude plugin validate" export CLAUDE_CONFIG_DIR="$tmp/claude" { claude plugin marketplace add "$source" && claude plugin install plugin-stack@theopenapps; } >"$tmp/claude.log" 2>&1 - unset CLAUDE_CONFIG_DIR expect "Claude Code plugin" "$claude_cache" "$want" + (cd "$tmp" && claude mcp list 2>&1) | grep -q '^plugin:plugin-stack:openapps: https://theopenapps.com/mcp' && report ok "Claude Code plugin: MCP server" || report FAIL "Claude Code plugin: no OpenApps MCP server" + unset CLAUDE_CONFIG_DIR else report skip "Claude Code plugin: no claude here"; fi if has codex; then mkdir -p "$tmp/codex" { CODEX_HOME="$tmp/codex" codex plugin marketplace add "$source" && CODEX_HOME="$tmp/codex" codex plugin add plugin-stack@theopenapps; } >"$tmp/codex.log" 2>&1 expect "Codex plugin" "$codex_cache" "$want" + CODEX_HOME="$tmp/codex" codex mcp list 2>&1 | grep -qE '^openapps +https://theopenapps.com/mcp +.* enabled' && report ok "Codex plugin: MCP server" || report FAIL "Codex plugin: no OpenApps MCP server" else report skip "Codex plugin: no codex here"; fi for agent in claude-code codex cursor opencode amp gemini-cli github-copilot windsurf cline goose pi; do