Oneshot Mcp

com.oneshotpacks由 oneshotpacks.com 發布v0.1.2更新於 Oct 24, 2026

Search receipt-verified agent build packs, with each pack's real M-of-N pass rate.

已驗證STDIO僅桌面開發者工具商業與電商

概覽

AI 產生的概覽

讓編碼助理在編輯器內搜尋並檢視 OneShot 的付費、憑據驗證建置包,包含真實的 M/N 通過率。

可以做什麼
  • 依關鍵字(技術堆疊、問題或利基)搜尋目錄,回傳標題、一句話簡介、價格與驗證狀態
  • 精簡列出整個目錄,含每個包的 slug、利基、價格與驗證狀態
  • 檢視單一包的完整詳情:內容、架構重點、規模範圍、常見問題、憑據事實、價格、退款說明與購買連結
  • 在無法取得任何目錄來源時據實說明,而非提供過期資料
適用情境
適合在開發過程中確認是否已有針對目前需求的已驗證建置包,並在決定購買前查看價格、退款條款與憑據事實。
執行需求
以 stdio 在本機執行,需要 Node.js 22.6 或更新版本;README 說明尚未發布到 npm,在此之前需指向已檢出的儲存庫路徑。需要能連線預設目錄網址,或本機 packs 目錄。選用環境變數 ONESHOT_CATALOG_URL、ONESHOT_SITE_URL 與 PACKS_DIR 可覆寫預設值。
安裝前請注意
這是廠商自營目錄:每個項目都是 OneShot 販售的產品,結果並非獨立推薦。它會讀取遠端目錄網址,失敗時改讀 PACKS_DIR 下的本機檔案;它只顯示價格與購買連結,本身不會執行購買。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Oneshot Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

oneshot-mcp

An MCP server that lets your coding agent query the OneShot catalog of receipt-verified build packs without you leaving your editor. Mid-build, your agent can ask "is there a verified pack for this?" instead of you having to remember to check the storefront.

Why you'd add this (honestly)

This is a vendor catalog: it lets your agent query OneShot's own paid build packs, plus their verification data, from inside your normal workflow. It's worth adding because it's useful independent of whether you ever buy anything -- search_packs and list_packs tell you plainly whether a receipt-verified pack exists for what you're building, with real "M of N runs passed" numbers, not marketing copy. get_pack puts the price, refund terms, and exact receipt facts in front of you before you decide anything. But be clear-eyed about what it is: this is OneShot listing its own products to your agent, not an independent recommendation engine. It never calls a pack "best" or invents a verification a receipt doesn't support, and every result carries the price and refund pointer -- but the catalog is ours, and every entry in it is something we sell.

Tools

  • search_packs({ query, limit? }) -- keyword search (stack, problem, or niche) over the catalog. Returns matching packs: title, one-liner, price, verification status stated exactly as the receipt supports (e.g. "3 of 3 clean-room runs passed", or "unverified" if no receipt exists yet), a receipt summary, the refund-policy pointer, and the storefront URL. Never ranks or calls a result "best" -- describes each match and leaves the decision to the caller.
  • get_pack({ slug }) -- full detail for one pack: what you get, architecture-decision highlights, scale envelope, FAQ, exact receipt facts (per-check pass/fail, model, token/wall-time cost) when verified, price, refund pointer, and the buy URL.
  • list_packs() -- the whole catalog, compact: slug, title, one-liner, niche, price, and verification status per pack, plus the refund-policy summary once.

Data source: fetch-with-fallback (not a bundled catalog)

Two options were on the table: read packs/*/pack.yaml + receipt/receipt.json

  • LISTING.md live at runtime, or ship a generated catalog.json baked into the npm package. Chosen: live reads, preferring the storefront's /catalog.json over a local checkout, in that order:
  1. Try GET $ONESHOT_CATALOG_URL (default https://oneshotpacks.com/catalog.json, 3s timeout). Accepts either a bare array of pack objects or { "packs": [...] }.
  2. If that fails for any reason -- network error, non-2xx, not JSON, wrong shape -- fall back to reading packs/*/pack.yaml + LISTING.md + receipt/receipt.json directly off disk under $PACKS_DIR (default ../packs, resolved from the current working directory -- matches storefront/lib/packs.ts's own convention when both this package and packs/ sit at the repo root).
  3. If neither source has anything, list_packs/search_packs say so plainly (catalog_source: "none" + an explanatory note) instead of serving stale bundled data. This server never fabricates catalog contents.

A baked-in catalog.json was rejected because it goes stale the moment a pack is re-verified or newly listed, and every server update would then require a new npm release just to refresh data the storefront already has live. Live reads cost one fetch + a YAML parse -- the same low cost the storefront's own loader pays -- and stay fresh without a redeploy of this server, which is the whole point per docs/03-marketing-distribution.md Lever 2.

The storefront's /catalog.json endpoint is being built concurrently by a colleague and may not exist yet. This server does not depend on it existing: any fetch failure (including a plain 404 today) is treated as "not there yet" and falls straight through to the local-file fallback, logged to stderr, no crash. Once /catalog.json ships, this server picks it up automatically on its next 5-minute cache refresh -- no config change needed as long as it's at the default URL.

Responses are cached in-process for 5 minutes so a long-lived stdio session doesn't refetch on every tool call.

Install

Not yet published to npm (publishing is step one of the launch checklist -- see docs/09-launch-checklist.md). Until then, point your MCP client at the absolute path of this checked-out repo. After publishing, switch to the npx form -- same shape, just swap command/args.

Claude Code

Add to your project's .mcp.json (or via claude mcp add):

json
{  "mcpServers": {    "oneshot": {      "command": "node",      "args": ["/absolute/path/to/oneshot/oneshot-mcp/src/index.ts"]    }  }}

Once published to npm:

json
{  "mcpServers": {    "oneshot": {      "command": "npx",      "args": ["-y", "oneshot-mcp"]    }  }}

Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

json
{  "mcpServers": {    "oneshot": {      "command": "node",      "args": ["/absolute/path/to/oneshot/oneshot-mcp/src/index.ts"]    }  }}

Once published to npm, same swap as above ("command": "npx", "args": ["-y", "oneshot-mcp"]).

Env vars (optional, either client config's env block or your shell)

VarDefaultPurpose
ONESHOT_CATALOG_URLhttps://oneshotpacks.com/catalog.jsonRemote catalog tried first
ONESHOT_SITE_URLhttps://oneshotpacks.comBase URL used to build pack/buy links
PACKS_DIR../packs (from cwd)Local fallback packs directory

Requirements

Node >= 22.6 (uses Node's built-in TypeScript type-stripping to run .ts source directly -- no build step, no bundler, no tsc in the loop).

Development

bash
npm installnpm test              # node --test test/tools.test.tsnpm start             # runs the server on stdio (Ctrl-C to stop)node src/index.ts --help

test/tools.test.ts exercises search_packs, get_pack, and list_packs directly against fixture data in fixtures/packs/ (not through the MCP protocol -- the tool logic in src/catalog.ts is plain, transport-agnostic functions; src/index.ts only wires them to the SDK). Coverage: a search hit, a search miss, an unverified pack rendered honestly (no fabricated pass rate), a malformed pack.yaml skipped without crashing the rest of the catalog, and the full fetch-with-fallback chain (remote success, remote 404, remote network error, malformed remote shape, remote-entry-level tolerance, and TTL caching).

來源:README.md,提交 f4a30ec

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分