
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 分