
Map
io.github.maraventano由 GitHub 帳號 maraventano 發布v1.0.2更新於 Oct 24, 2026
A subtractive MCP for agent commerce: read · pay · publish. Teacher, not butler.
概覽
讓助理把任意商家的商品頁面讀取成統一結構,學習用自有錢包透過 x402 付款,並發布自己的商品目錄。
- 可以做什麼
- MAP 在一個 stdio 伺服器中整合三部分:Merchant Key 把任意商品 URL 解碼成統一的 CleanRead 結構(商品、賣家、價格、庫存、可支付通道、結果判定);Provisions 提供簡短課程,說明如何讀取 x402 挑戰並用使用者自己的錢包付款;Atlas 發布使用者自己的目錄以及 well-known 探索清單。共提供 23 個工具,包括 decode-merchant、publish-catalog、get-catalog 與 get-product。它只讀取,不簽章、不付款、不持有金鑰、不儲存信用卡。
- 適用情境
- 當助理需要以統一格式比較不同商家的商品、判斷頁面是否可被機器支付,或把自己的商品目錄開放給其他代理時,適合安裝。它面向代理商務流程,而非一般瀏覽。
- 執行需求
- 透過 npx @maraventano/map 以 stdio 在本機執行,需要 Node.js 18 或更新版本。未宣告任何帳號、API 金鑰、環境變數或標頭。存取商品 URL 需要網路連線。僅支援桌面端,不提供網頁可執行版本。
安裝
README
MAP — Maraventano Agent Protocol
Navigate agent commerce. Find any merchant. Pay any merchant. Be found.
MAP lets any agent read products across the open web in one shape, decide whether it can pay autonomously, and publish its own catalog.
Merchant Key · Addressability · Provision — three minimal parts under one MCP server.
MAP is one MCP server with three parts. Each does one thing and shuts up; together they remove the gatekeeper between an agent and the open commercial web.
Teacher, not butler — every part. MAP reads, explains, persists, and serves. It never signs, pays, holds keys, transacts, or stores cards.
It publishes to npm as @maraventano/map. The standalone firstdollar package stays MIT and separate; the copy of its curriculum bundled here (Provision) is relicensed dual — see LICENSE.
Merchant Key — find any merchant (read)
It reads any URL on the open web — not just a walled garden. That's the difference from Perplexity / Google Shopping / Amazon, who only see merchants inside their own programs. MAP never assumes the merchant is registered anywhere.
decode-merchant
Input a product url. Returns ONE shape (CleanRead):
Five things and a verdict. No sixth field. Same shape every read, so four reads sort against each other. Unknown is null / "unknown" — never omitted.
The three outcomes:
autonomous— a machine-payable rail (x402) exists, the price is known, and it's not out of stock. The agent can buy it itself.human_checkout— readable, but no agent-payable rail. Returns the clean card anyway. The common case, and a success — the agent-payable web is nearly empty today.unreadable— couldn't get a usable price/product. Says why inreason. Doesn't guess.
How it reads (v1): JSON-LD (schema.org Product/Offer) → OpenGraph product tags → x402 402 challenge → else unreadable. Read-only GET. It follows one same-origin redirect (noted in cuts as "followed 1 same-origin redirect") so canonical→slug URLs resolve; it refuses cross-origin redirects and chains (those become a cuts note, not a silent follow) — you can't be silently bounced off the merchant's own host.
MAP is payment-rail agnostic by design. The payable.rail schema can describe any agent-payable rail — x402, ap2, acp, coinbase, stripe, http-json, walletconnect, human_checkout, unknown. v1.0.x detects x402 reliably; ap2/acp/ucp detectors are on the v1.1 roadmap. Other rails remain reserved schema values. MAP never infers a rail from branding, checkout buttons, script tags, marketing copy, or platform names; if no verifiable machine-readable rail is detected, the outcome is human_checkout. So a normal Shopify/Stripe page reads as human_checkout, correctly.
False human_checkout is acceptable in v1. False autonomous is dangerous and unacceptable — which is why detection stays conservative. The protocol is rail-agnostic in schema and roadmap; x402 is not baked into its identity, only into v1's detectors.
Known v1 limits (future enhancements, not bugs): no headless browser (JS-only pages with no JSON-LD/OG read as unreadable); stock is usually unknowable from outside (available: "unknown" is correct); no secondary endpoint probing.
Provision — pay any merchant (pay)
When decode-merchant returns autonomous and you want to buy, Provision teaches you how — with your own wallet. It is a relicensed copy of the First Dollar curriculum: short lessons from "what is a wallet" through reading a live x402 challenge, signing a USDC payment, and verifying the receipt.
Start with what-is-x402, then read-this-challenge, then how-do-i-pay. It explains what to run; it never signs for you. Mandate/delegation (AP2), receipt verification, and "what went wrong" diagnostics are all in here.
Addressability — be found (publish)
The decoder pointed inward. A merchant publishes by reading itself with the exact same decode-merchant a buyer uses — no new parsing, no per-platform adapters.
publish-catalog— decode your own product URLs → collect the CleanReads → write./catalog.jsonand a./.well-known/map.jsondiscovery manifest for registries to crawl.get-catalog/get-product— the tool surface other agents read.
Agents discover via tool surfaces and well-known manifests — not via scraping or HTTP headers. Addressability emits documents, validates shape, persists, and serves. It never deploys merchant infrastructure, holds keys, transacts, or stores cards.
Trust boundary (v1, named not built): MAP trusts the reads a merchant produces with its own decoder. Independent re-read/diff, merchant-signed manifests, and periodic re-audit are known future work — not implemented in v1. One safety property already holds: the payment rail enforces the real price at settlement, so a mistaken manifest can't overcharge — it can only misstate soft fields like stock.
Charlie's afternoon
Bob: "Charlie, find me headphones under $300." Charlie walks the open web, hits four ad-bloated product pages, runs
decode-merchanton each, gets back four clean cards — what it is, who sells it, what it costs, can I buy it myself. Three are human-checkout; he takes the shortlist back to Bob. One takes x402; Charlie buys it himself. On the way home, with his own wallet, Charlie buys himself a void latte.
Install / run
Node ≥ 18. One dependency: @modelcontextprotocol/sdk.
License & trademarks
Dual-licensed: free for individuals and agents; commercial license required for companies. See LICENSE. Not MIT. For a commercial license, contact Lisa Maraventano at [email protected].
All trademarks belong to their respective owners. MAP is not affiliated with or endorsed by Coinbase, Stripe, Google, Shopify, or any other company named in its documentation or lessons.
By Lisa Maraventano, with Claude · Clarksdale, Mississippi
來源:README.md,提交 066f8b2
工具
0版本歷史
1- v1.0.2最新Sep 16, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。