Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
제작자가 쓴 설명(영어 원문)
Open, permissionless discovery marketplace for x402-payable resources. No account or KYC required.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://bazaar.saylorinnovations.com/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http agent-bazaar https://bazaar.saylorinnovations.com/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"agent-bazaar": {
"url": "https://bazaar.saylorinnovations.com/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"agent-bazaar": {
"type": "http",
"url": "https://bazaar.saylorinnovations.com/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://bazaar.saylorinnovations.com/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 9일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
search_resourcesSearch the marketplace by keyword and/or filters (network, asset, scheme, payTo, maxUsdPrice). Text queries rank by relevance; filter-only queries rank by 30-day call volume.
get_resourceFetch one resource's full record by slug or numeric id: description, accepts[], output schema, quality signal, and agent-first metadata where the provider supplied it.
get_pricingGet just the price/accepts[] for a resource, without the full record — cheaper for an agent that only needs to decide whether it can afford something.
discover_providerList every resource published by a given provider host.
list_resourcesPaginated listing of every indexed resource, ranked by 30-day call volume (or recency with sort="recent").
list_saylor_officialList verified Saylor Innovations x402 endpoints directly from the live Saylor manifest. Does not depend on the D1 catalog, so it keeps working during catalog quota exhaustion. Supports query, family, tag, network, asset, payTo, maxUsdPrice, limit and offset filters.
get_statsCatalog-wide totals: listings, resources, accepts, merchants, 30-day call volume, network/source breakdown.
discover_agentsSearch or list the A2A agent registry — other agents’ cards (name, skills, provider, protocol version), not Agent Bazaar’s own.
get_agentFetch one registered agent's full card by slug or numeric id.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 GitHub 계정 SaylorInnovations 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
174ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 9개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.0)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
_by Saylor Innovations_
An open, permissionless marketplace and discovery layer for AI agents — APIs, MCP tools, datasets, and x402-payable services that autonomous software can find, evaluate, and pay for per request. Repo/package name is still open-x402-bazaar for continuity; the product is Agent Bazaar.
Coinbase's own x402 Bazaar is excellent, but getting listed on it requires a verified Coinbase Developer Platform account, which in turn can require business/KYC verification for some account paths. That's a real barrier for a protocol whose whole point is permissionless, agent-to-agent commerce. This project is an attempt at an alternative: anyone with a valid x402 manifest can list here, with no account and no identity verification at all.
It's built to be wire-compatible with Coinbase's Bazaar discovery API, so any existing x402 client library that already knows how to query the CDP Bazaar can point at this instead with a config change, not a rewrite.
Live at: https://bazaar.saylorinnovations.com
Live at bazaar.saylorinnovations.com, on Cloudflare Pages + D1. Submission, validation, storage, ranked discovery, resource/provider detail pages, and anti-spam basics are all working. The catalog is bootstrapped from a full mirror of Coinbase's public CDP Bazaar plus Saylor Innovations' own real endpoints — see below.
Coinbase's discovery API itself requires no API key or account to *read* — only to *list* on it. So this project mirrors the whole public catalog (~15,600 resources across ~2,000 hosts, at last import) via scripts/import-cdp-bazaar.mjs, and layers permissionless listing on top:
source: 'cdp-mirror' internally.POST /submit their own manifest at any time — a self-submitted listing always overwrites the mirrored copy for that host and is tagged source: 'submitted'. The importer never touches a claimed host.calls30d, uniquePayers30d, lastCalledAt) as a quality field on each resource — a trust signal that matters more here than on a KYC'd catalog, since anyone can list anything.Re-run the mirror periodically to pick up new resources Coinbase has indexed (safe to re-run — see script header):
npm run seed:cdp-bazaar # generates + applies against local D1
npm run seed:cdp-bazaar:remote # generates + applies against production D1
scripts/import-saylor-official.mjs lists Saylor Innovations' real, live x402 endpoints (research/security/data utilities plus Solana on-chain intelligence, all served from saylorinnovations.com) as verified (source: 'submitted') resources — the same trust tier a self-submission gets, seeded directly since Saylor Innovations operates this bazaar. Nothing here is fabricated: pricing, descriptions and accepts[] come from the live /api/services endpoint and the public manifest at saylorinnovations.com/.well-known/x402.json.
npm run seed:saylor-official # local
npm run seed:saylor-official:remote # production
x402 payments settle peer-to-peer — agent to payTo wallet — never through this bazaar. So listing here doesn't change *how* you get paid, it changes *how many agents find the endpoint to pay*. There's no platform fee on the transaction itself today; the plan is to keep discovery free and, if/when it makes sense, monetize optional things like featured placement or verified-provider tooling rather than taxing the payment path.
No signup. POST the URL of your own .well-known/x402.json (or equivalent) manifest:
curl -X POST https://<this-site>/submit \
-H "content-type: application/json" \ -d '{"manifestUrl": "https://yoursite.com/.well-known/x402.json"}'
The manifest is fetched (over HTTPS, with SSRF guards — private/internal addresses are refused before any request is made), validated, and any resource with a populated accepts[] (scheme + network + payTo) is indexed. Re-submitting the same manifest URL refreshes your listing and claims the host if it was previously only in the Coinbase mirror. Submissions are rate-limited per IP (20/hour, 60/day) — every attempt counts, not just successful ones, so failing probes can't dodge the limit.
Same model, different shape — an A2A agent card has skills[] instead of accepts[] and no inherent payment model, so it lives in its own agent_cards table rather than being forced into the resources shape:
curl -X POST https://<this-site>/submit-agent \
-H "content-type: application/json" \ -d '{"agentCardUrl": "https://youragent.example.com/.well-known/agent-card.json"}'
Requires at minimum a name; skills[], provider, protocolVersion and documentationUrl are stored when present. Same SSRF guards, same rate limiting, same no-account model.
Mirrors the field names and shape of Coinbase's CDP Bazaar API, plus an additive quality field and a stats endpoint:
| Endpoint | Purpose |
|---|---|
GET /discovery/search?query=&network=&asset=&scheme=&payTo=&urlSubstring=&maxUsdPrice=&limit= | Keyword/filter search. Text queries rank by relevance (FTS5 bm25); filter-only queries rank by 30-day call volume |
GET /discovery/resources?limit=&offset=&sort= | Paginated listing of every indexed resource. sort=recent for newest-first, default ranks by 30-day call volume |
GET /discovery/merchant?payTo= | All resources that pay a specific address |
GET /discovery/facets?limit= | Compact counts for available networks, assets, schemes, resource types, providers, price bands, liveness and trust states — useful before choosing search filters |
GET /discovery/stats?full= | Catalog totals: listings, resources, accepts, merchants, network count, calls. full=1 adds the per-network/per-source breakdown — a full table scan, so it's opt-in, not computed by default |
GET /resources/{slug}.json | Full machine-readable record for a single resource |
GET /discovery/agents?query=&limit=&offset= | Search/list the A2A agent registry (other agents' cards, not Agent Bazaar's own) |
GET /agents/{slug}.json | Full A2A agent card as submitted |
GET /discovery/featured?limit= | Currently-featured resources (paid placement, see below) |
GET /feature?slug=&days={7,30,90} | x402-payable: pay Agent Bazaar directly to feature an already-listed resource. See "Featured placement" below |
No API key required for any read endpoint — same as Coinbase's.
Agent-facing docs: /llms.txt · /llms-full.txt · /openapi.json · /agents.json · /.well-known/agent-card.json (A2A).
Every resource has a permanent, crawlable, server-rendered URL — not a client-side-only modal — with a machine-readable JSON twin alongside it:
| Page | Purpose |
|---|---|
/resources/{slug} | Resource detail: description, pricing, accepts[], schema, curl/JS/Python examples |
/providers/{host} | Every resource published by one provider |
/agents | Quickstart for connecting an agent (discover → inspect → pay → execute → verify), plus the registered-agents directory |
/agents/{slug} | A2A agent detail page — skills, provider, protocol version, card URL |
/publish | How to list a resource as a seller |
/docs | What x402/MCP/A2A are, how agent payments work, self-hosting |
/guides, /guides/{slug} | 11 in-depth, code-backed guides — full-length versions of the /docs FAQ answers, plus provider/agent-builder how-tos. .json twin per guide |
/categories, /categories/{type} | Browse by resource type (populated as providers set one — sparse for the mirrored bulk of the catalog, which doesn't). .json twin (/categories/{type}.json?limit=) returns the whole collection as one array — for an agent that wants "the entire guide library" in one call instead of walking cards one at a time |
/networks, /networks/{network} | Browse by CAIP-2 network — populated for every resource, since it comes from accepts[] |
/protocols, /protocols/{x402,mcp,a2a} | What each protocol is and how Agent Bazaar uses it, with live stats |
/mcp | GET: info page. POST: a real MCP server (JSON-RPC/Streamable HTTP) over the same catalog — search_resources, get_resource, get_pricing, discover_provider, list_resources, get_stats |
Agent Bazaar's MCP server is published to the official MCP Registry as io.github.SaylorInnovations/agent-bazaar — the canonical registry other aggregators (Glama, PulseMCP) pull from. server.json at the repo root is the source of truth; to re-publish after a change, bump its version and run:
mcp-publisher login github # once per session
mcp-publisher publish
Also listed (as a marketplace, not an MCP server specifically) in awesome-x402, awesome-mcp-servers (Aggregators), and gold-402 (Marketplaces & Discovery).
Listing is, and always will be, free — Agent Bazaar never takes a cut of any resource's own accepts[] payment, including the ~15,600 mirrored resources it didn't author. The one thing it does sell directly is placement: a provider can pay Agent Bazaar itself (not the resource's payTo) to put an already-listed resource in the homepage's Featured Resources row and flag it with a featured badge on its resource and provider pages, for 7/30/90 days ($2/$6/$15). It's paid the same way every resource here works — GET /feature?slug=&days= returns a 402 with accepts[]; pay one, retry, get a featuredUntil timestamp back. See /publish#feature for the full walkthrough. Implemented with Saylor Innovations' own solana-x402 library — see Architecture below.
resource_type: "Skill" — downloadable, zip-bundled skills (a SKILL.md plus any supporting files/scripts), listed under Agent Bazaar's own host (bazaar.saylorinnovations.com) as a first-party, verified provider. Source lives in skills/; scripts/import-skills.mjs builds the ZIPs and catalog SQL. The 23 free skills cover agent fundamentals, reliable workflows, Markdown vault continuity, evidence-based prospect research, and Kentucky Lottery results. Empty accepts[] deliberately means free; the importer writes directly to D1 rather than using POST /submit, whose manifest validation requires non-empty accepts[]. Paid skills can use normal x402 accepts[].
listings / resources / resource_accepts, plus an FTS5 virtual table for real keyword search — not just JS-array filtering. submission_log backs per-IP rate limiting.scripts/import-cdp-bazaar.mjs) is the one exception — a standalone Node script that fetches Coinbase's public catalog and writes SQL directly, run out-of-band from the Workers request path.앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요