Test marketplace for experimenting with plugin installation flows
npx claudepluginhub seanlynch-fivetran/test-pluginTest plugin with a simple MCP server that reports environment state
A minimal Claude Code marketplace plugin for testing installation flows.
/plugin marketplace add seanlynch-fivetran/test-plugin
/plugin install test-plugin@test-marketplace
Everything lives under .marketplace/test-plugin/ — no build step, no source directories.
Dual metadata: .claude-plugin/ for Claude Code, .codex-plugin/ for Codex.
Marketplace defined at repo root in .claude-plugin/marketplace.json. Plugin contents under
.marketplace/test-plugin/ with:
.claude-plugin/plugin.json — name, version, author, userConfig.mcp.json — MCP server definitions (separate file; can also be inline in plugin.json)skills/test-skill/SKILL.md — skill definition with YAML frontmattermcps/test/server.py — the actual MCP serverKey vars: ${CLAUDE_PLUGIN_ROOT}, ${CLAUDE_PLUGIN_DATA}, ${user_config.*}
No repo-root marketplace file needed here — the consuming repo defines
.agents/plugins/marketplace.json pointing at the plugin directory.
Plugin uses .codex-plugin/plugin.json instead, which adds:
interface object — displayName, shortDescription, developerName, category, capabilities, defaultPrompt, brandColor, etc.mcpServers — path reference to .mcp.json (not inline)skills — path reference to skills directoryMarketplace entries include policy.installation (AVAILABLE, INSTALLED_BY_DEFAULT, NOT_AVAILABLE)
and policy.authentication (ON_INSTALL, ON_FIRST_USE).
MCP servers execute in project root (at least with project scope). No ${PLUGIN_ROOT} equivalent
observed — paths in .mcp.json are relative to project root, not plugin root.
.mcp.json — same format, used by bothskills/ and mcps/ — same files, both platforms read themtest-plugin — one MCP server, one skilltest-mcp — single-file FastMCP/Python server, run with uvtest-skill — calls get_server_infoget_server_info — dumps all env vars and CWDFrom CLI, not sure if this applies/is shared with claude desktop.
Claude plugin MCP code seems to execute relative to plugin root.
userConfig variables get a new install menu option in claude code, but don't prompt during installation.
Intallation and caching paths:
~/.claude/plugins/marketplaces
Logging: ~/Library/Caches/claude-cli-nodejs/-Users-seanlynch-empty/mcp-logs-plugin-test-plugin-test-mcp
Claude Desktop seemed to accept the plugins but wouldn't install the MCP server as defined. Not sure if it was the local MCP server or the userconfig.
organizationUuid appeared on my personal account despite note being tied to an organization in a
~/Library/Application Support/Claude/local-agent-mode-sessions/[guid]/local_[guid]/.claude/.claude.json
Logs for CLI stored in
{ "mcpServers": { "pwd-mcp": { "command": "python3", "args": ["-c", "import os; import sys; sys.stderr.write(os.getcwd())"] } } }
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Production-ready workflow orchestration with 84 marketplace plugins, 192 local specialized agents, and 156 local skills - optimized for granular installation and minimal token usage
Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations