Marketpal should be distributed as an MCP server first, then wrapped for each agent client. MCP is the shared capability layer for Claude Code, Claude Desktop, Codex, Cursor, and other clients.
mpalandmpal-mcpbuild from Go..mcp.jsonstarts the stdio MCP server withMPAL_API_KEY..codex-plugin/plugin.jsonpackages the Codex plugin metadata, bundled skills, and MCP config..agents/plugins/marketplace.jsonexposes the Codex plugin through a repo marketplace..claude-plugin/plugin.jsonand.claude-plugin/marketplace.jsonexpose the same skill and MCP config through Claude Code's plugin marketplace format.registry/server.jsonis ready for the MCP Registry once a matching OCI image is public.
Use this when a user only wants the tools, without a plugin wrapper.
go install github.com/revrost/mpal-cli/cmd/mpal@latest
go install github.com/revrost/mpal-cli/cmd/mpal-mcp@latest
export MPAL_API_KEY=mpal_...Claude Code:
claude mcp add --scope user --transport stdio \
--env MPAL_API_KEY="$MPAL_API_KEY" \
--env MPAL_BASE_URL="${MPAL_BASE_URL:-https://api.marketpal.ai}" \
mpal -- mpal-mcpCodex:
codex mcp add mpal -- mpal-mcpThen set MPAL_API_KEY in the shell that launches Codex, or in the user's
Codex MCP configuration.
The repo marketplace lets Codex users install the plugin from this repository:
codex plugin marketplace add revrost/mpal-cli --ref mainThen open Codex, run /plugins, switch to Marketpal Plugins, and install
marketpal.
The plugin includes:
skills/equity-dd-analyst/SKILL.mdskills/jeremy-lefebvre-equity-analyst/SKILL.mdskills/marketpal-onboarding/SKILL.mdskills/marketpal-trader/SKILL.mdskills/portfolio-review/SKILL.md.mcp.json.codex-plugin/plugin.json
Users still need mpal-mcp on PATH and MPAL_API_KEY available.
Claude Code users can add the marketplace and install the plugin:
claude plugin marketplace add revrost/mpal-cli
claude plugin install marketpal@marketpal-pluginsThe plugin reuses the same root-level skills/ and .mcp.json. Users still
need mpal-mcp on PATH and MPAL_API_KEY available.
For local plugin development:
claude --plugin-dir .Claude Desktop's friendliest local install path is an .mcpb bundle. Add this
after the CLI/MCP server is stable:
- Build release binaries for macOS, Linux, and Windows.
- Create an MCPB
manifest.jsonwith anMPAL_API_KEYuser setting. - Bundle the platform binary and manifest into
.mcpb. - Attach the
.mcpbto GitHub Releases. - Optionally add an MCP Registry
mcpbpackage entry withfileSha256.
This is separate from the Claude Code plugin marketplace.
- Add a real Git remote and tags such as
v0.1.0. - Push a public GHCR image matching
registry/server.json, or change the registry package to a published release artifact. - Decide whether plugin manifests should pin
versionor rely on Git commits. If version is pinned, bump it on every public plugin release. - Add release automation with GoReleaser or GitHub Actions for
mpal,mpal-mcp, checksums, and container images. - Add install smoke tests for:
mpal capabilities --jsonmpal-mcpMCP initialize/list-toolsclaude plugin validate .
- Keep the plugin skill, README, and embedded strategy list aligned whenever public strategy configs are added or removed.
- Reduce setup friction by supporting Homebrew, npm, or signed release binaries.
go installis fine for developers, but not for normal users. - First Homebrew target: create a separate
revrost/homebrew-taprepo with anmpalformula, so the user command isbrew install revrost/tap/mpal. The formula should install bothmpalandmpal-mcp. - Prefer hosted HTTP MCP plus OAuth/API-key auth for the least local setup.
- Keep every tool explicitly non-order-placement. The current no-live-trading boundary is a strength and should stay visible in tool descriptions, manifests, docs, and examples.
- Add screenshots or short terminal recordings for plugin install flows before submitting to official directories.