
Portage Store
io.github.tomtom87由 GitHub 账号 tomtom87 发布v0.17.0更新于 Oct 27, 2026
Shopify catalog search and product lookup via MCP; the Portage CLI adds full agentic buying.
概览
Portage Store 通过 MCP 把 Shopify 商店的商品目录提供给 AI 助手,支持搜索、商品查询和需你批准的代理购买。
- 可以做什么
- 搜索 Shopify 商店目录并查询商品
- 报价并计算总额,付款前可用 dry-run 试算
- 通过商店的 UCP 端点或平台 API 批准并完成购买
- 作为商家端 MCP 服务器,向购物代理提供目录、购物车和结账
- 适用场景
- 适合希望让助手在 Shopify 商店中搜索和比价商品的人,也适合想让购物代理浏览并购买自家商品的商家。想要带审批环节的购买流程的买家和通过 MCP 与 UCP 开放目录的商家都适用。
- 运行要求
- 以 stdio 本地进程运行,通常是 portage CLI 或已发布的容器镜像。需要 SHOPIFY_SHOP_DOMAIN 和 SHOPIFY_STOREFRONT_ACCESS_TOKEN,SHOPIFY_ADMIN_ACCESS_TOKEN 为可选。非 Homebrew 安装需 Ruby 3.2 或更高版本,并先在终端交互式运行 portage setup。
安装
在 SourceWeft 中
- 打开 控制台中的 Portage Store,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
[Portage]
[gem version] [gem downloads] [homebrew] [ruby] [license] [docs] [Claude Code plugin] [MCP] [UCP] [OpenClaw skill] [Portage MCP server – quality and maintenance score on Glama]
Portage lets an AI agent find and buy things from real online stores for you, and you approve every payment. It ships as a command-line tool (portage), a Claude Code plugin (buy) that drives it, and Ruby gems that let any store serve the same open protocols (MCP and UCP) to shopping agents. It is for people who want an agent to shop for them, developers building shopping agents, and merchants who want agents to buy from their store.
Status: pre-1.0. APIs may still change between minor versions. Latest release set: 0.22.0 (changelog).
Quickstart
Two ways in: let Claude shop for you with the buy plugin, or run the portage CLI yourself. Both use the same CLI and take about five minutes.
Install the buy plugin
The plugin teaches Claude Code to shop through the portage CLI, so install the CLI first.
-
Install the CLI (
portage-cli0.9.0 or newer):Or, on Ruby 3.2 or newer,
gem install portage-cli. Homebrew bundles every adapter. With RubyGems, also installportage-ucp-webmcp0.2.0 or newer if you want the Portage browser profile and checkout autofill. -
Add the plugin. Inside Claude Code:
Or from a shell:
-
Run
portage setuponce, in a terminal. It asks for your shipping address, optional search keys and spending caps, one skippable step at a time. It is interactive, so run it yourself rather than through Claude. -
Ask Claude. Type
/buy a burton snowboard under $600, or just ask in plain words. The skill is listed asbuy:buy. Claude checks your setup, shows real offers and a dry-run total, and waits for your yes before any purchase.
To update or remove it:
A listing in the Claude plugin directory is coming. Until then, this marketplace is the install route.
Other agents: Codex, Cursor, OpenCode and more
The buy skill is a plain SKILL.md file, so any agent that loads skills and can run commands on your machine can use it. Install the CLI and run portage setup first, as above. The plugin carries a second skill, shop-research: read-only, for price, stock, store and order questions with no purchase in mind, and it hands over to buy to buy. Install it next to buy the same way.
-
With dotagents (Codex, Cursor, OpenCode): one command installs the plugin into
~/.agents/and generates each agent's plugin or skill files.Refresh it with
npx @sentry/dotagents install. Remove it withnpx @sentry/dotagents remove buy. If youragents.tomlonly allows trusted sources, runnpx @sentry/dotagents trust add tomtom87/Portagefirst. -
As a plain skill (VS Code, or any agent without plugin support): copy the
plugins/buy/skills/buy/folder into the agent's skills directory, andplugins/buy/skills/shop-research/next to it. With dotagents, declare them in~/.agents/agents.tomland runnpx @sentry/dotagents installto get them in~/.agents/skills/buyand~/.agents/skills/shop-research: -
OpenClaw. Install the CLI first (above), then the skill from ClawHub:
openclaw skills install @tomtom87/portage-buyputs it in your active OpenClaw workspace, andclawhub install @tomtom87/portage-buyputs it in./skillsunder the current directory (ClawHub docs). Then runportage setup. The skill's frontmatter carries OpenClaw'smetadata.openclawblock (needs theportagebinary, names every env var it reads as optional, brew install spec), so OpenClaw gates the skill untilportageis installed. To skip ClawHub, use the plain-skill route above: OpenClaw reads personal skills from~/.agents/skillsand managed ones from~/.openclaw/skills(OpenClaw skills docs), so copy or symlinkplugins/buy/skills/buy/into either.shop-researchis on ClawHub too, as@tomtom87/portage-shop-research(install it the same way), or copy or symlinkplugins/buy/skills/shop-research/. Its frontmatter has the samemetadata.openclawshape, with only the search and retailer keys it names. ClawHub republishes skills under MIT-0; this repo stays MIT. -
OpenClaw plugin. For typed tools instead of shell commands, install the native plugin:
openclaw plugins install clawhub:tomtom87/portage, after the CLI (portage-cli0.12.0 or newer) andportage setup. It gives the agentportage_*tools over the CLI and bundlesbuy,shop-researchand a short OpenClaw skill that maps each buy step to its tool. The read-only tools are on by default; the ones that price, approve, buy or hand off are opt-in in OpenClaw's tool settings. Spending policy and approval stay in Portage, and no tool can pass--yesfor a URL or loosen your limits. See the plugin README. -
Omarchy (Arch Linux). Install the CLI with Omarchy's own helper,
omarchy-mise-install gem:portage-cli portage, which writes a~/.local/bin/portagewrapper the way Omarchy installsclaude,codexandgh. Plain mise (mise use -g gem:portage-cli) or Homebrew on Linux (brew install tomtom87/portage/portage) also work. Then runportage setup. A stock Omarchy needssudo pacman -S --needed makefirst: Ruby 3.4 buildsbigdecimalnatively,gccis already there throughclang, and onlymakeis missing. For the skills, linkplugins/buy/skills/buy/andplugins/buy/skills/shop-research/into the skills directory of the agent you run. Omarchy's own provisioning links into~/.agents/skills(OpenClaw, and the dotagents route),~/.claude/skills(Claude Code; the plugin route above is preferred) and~/.codex/skills. -
Chat apps in a browser (ChatGPT, Grok and similar) can't run
portageon your machine, so they can't use the skill. Use the vendor's coding agent or CLI instead, if it loads skills.
Use Portage from any MCP client
portage mcp serves the same search, quote, approve and buy tools over MCP on stdio, for any client that runs local servers. Install the CLI (brew install tomtom87/portage/portage or gem install portage-cli, 0.14.0 or newer) and run portage setup in a terminal first. Spending policy and approval stay in Portage: the agent can search and price, but a purchase waits for your approval.
-
Claude Desktop. Add this to
claude_desktop_config.json(Settings, Developer, Edit Config) and restart. Claude Desktop doesn't inherit your shellPATH, so give the absolute path fromwhich portage(typically/opt/homebrew/bin/portageor/usr/local/bin/portage): -
Claude Code.
claude mcp add --scope user portage -- portage mcp(drop--scope userto keep it to the current project). -
Docker.
docker run -i --rm -v "$HOME/.portage:/root/.portage" ghcr.io/tomtom87/portage-mcp:0.14.0runs the same server from the registry image. A container can't open your browser, so a hand-off prints the checkout link instead.
Use the CLI yourself
Install the CLI as in step 1 above, run portage setup, then:
find works with no keys. Its default search, DuckDuckGo's keyless API, resolves brand and store names ("burton snowboards") but not open-ended queries ("waterproof hiking boots"). For those, add a Brave or Google search key: portage setup asks, and search backends has the details. buy without a store URL lists offers and, in a terminal, lets you pick one. --dry-run shows the real total and never charges.
With a store URL, buy goes straight to that store's /.well-known/ucp manifest:
To buy for real, enroll a payment method (portage payment enroll <store-url>), set spending caps (portage policy set), then drop --dry-run and add --yes. buy checks out only through a store's published UCP endpoint, or a platform API you already hold credentials for (your own store). Everything else ends in a hand-off. It never scrapes. The CLI tutorial walks through all of this, including what to do when search comes back empty.
portage setup saves to ~/.portage/.env (chmod 600), and .env.example lists every variable. Only ~/.portage/.env loads automatically, never a .env in the current directory, so a cloned repo can't quietly redirect your purchases or traffic (why). Upgrading, two installs on one PATH, and the Linux keychain: installation.
How a purchase finishes
Most stores don't let a third party complete payment, so buy usually builds the cart and hands off to you:
Amazon and similar retailers restrict automated purchasing agents in their terms, so Portage never automates them. The Amazon entries are on by default and yours to edit; walmart.com, ebay.com and bestbuy.com are always hand-off only. Details: tiers and hand-off targets.
Safety
These rules hold in every tier, for the CLI and the plugin:
- No raw card data. Card data never passes through Portage. Payment methods are tokens from
portage payment enroll, kept in your OS keychain, and the plugin refuses anything that looks like a card number. - You approve every payment. Nothing is bought without your explicit yes. A search result is never bought on
--yesalone: you name the store. The plugin shows you the offers to pick from and the exact total to approve, each with a link to the product page, and one yes covers one purchase.portage policy set --require-approval personmakes only a yes you type in your own terminal count. In a browser hand-off, you click pay. - Your browser's secrets stay closed. Portage never reads your browser's password, cookie or autofill stores, and never attaches to your default browser profile.
- No CAPTCHA or bot-wall bypass. Portage reports it and hands off.
- Spending caps.
portage policy setadds per-transaction, rolling and velocity caps and a store allowlist.
Portage is open-source software provided as-is, without warranty of any kind (MIT). How you use it on any site, and compliance with that site's terms, is your responsibility. Report security issues as described in SECURITY.md.
Commands
portage --help prints this. Flags and env vars for each command are in portage-cli/README.md, also published as the CLI reference.
Packages and docs
Merchants: an adapter gem, or your own Adapter subclass of portage-ucp, serves your catalog, cart and checkout over MCP and UCP. Each adapter gem ships an exe/ server and the PORTAGE_UCP_CONFIG hook, with a shared examples/portage_ucp.rb starting point (library usage, credentials, capability coverage). On Shopify, the native Universal Commerce Agent app covers checkout and orders with no code; Portage adds cart, catalog and a signed manifest (serving /.well-known/ucp).
Contributors and adapter authors: architecture · writing adapters · spec conformance · development · CONTRIBUTING.md.
AI agents reading the docs: the docs site publishes llms.txt and llms-full.txt.
Running behind a proxy
buy, find, compare, check, doctor and payment enroll take --proxy* flags. The same settings work as PORTAGE_PROXY* env vars or a "proxy" section in ~/.portage/config.json. Anything left unconfigured falls back to the standard HTTPS_PROXY/HTTP_PROXY/NO_PROXY variables, except payment traffic, which goes direct unless you name a proxy for it. portage doctor shows the effective proxy for each route, with credentials redacted. Recipes for corporate egress, rotating pools, API gateways, mitmproxy and nginx/Cloudflare, plus the env-var caveats, are in docs/proxy.md.
Requirements
Ruby 3.2 or newer, and the mcp gem ~> 1.8 (pulled in by portage-ucp). The Homebrew formula brings its own Ruby, so a Homebrew install needs neither.
Contributing
Bug reports and pull requests are welcome at tomtom87/Portage. The project is pre-1.0 and still tracking the spec, so open an issue before any change bigger than a bugfix. CONTRIBUTING.md has the workflow; the Code of Conduct applies.
License
MIT. Copyright (c) 2026 Tom Whitbread.
来源:README.md,提交 9b36ee3
工具
0版本历史
2- v0.17.0最新Oct 22, 2026
- v0.16.0Oct 21, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分