Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
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월 6일 점검
레지스트리 이름이 GitHub 계정 SaylorInnovations 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트는 차례대로 돌아가며 점검해요
아직 점검하지 않았어요. 엔드포인트를 점검할 때 도구 목록을 읽어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.0)은 2개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, HotCodePush
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Manage over-the-air (OTA) updates for React Native, Expo, Capacitor and Cordova apps.
제작자의 저장소에서 쓰인 그대로 가져왔어요. 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.앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요