Skip to main content
Glama

숀-클로드 반 담의 잡화점(Sean-Claude Van Damme's General Store)

mcp-name: store.scvd/general-store

scvd-general-store-repo MCP server OpenSSF Scorecard scvd.store — evidence observatory for the x402 economy on x402-list Ask DeepWiki

에이전트 상거래를 위한 증거 관측소. 다른 사람들의 엔드포인트, 아티팩트, 결제가 실제로 무엇을 했는지에 대한 독립적인 서명 관측 — 컨포먼스(conformance) 감사, 일주일 관찰, 정산 증명(settlement attestation), 비트코인 앵커 타임스탬프. 모든 판정은 ed25519 서명이 되고, 날짜가 찍히며, 우리에게 묻지 않고도 오프라인에서 검증할 수 있습니다. 우리 스스로에게 불리하게 집계한 공백(gap)까지도 포함해서요.

에스크로, 보증인, 분쟁 재판소가 아닙니다. 그것들은 결제와 인도 사이의 위험을 흡수하고 대차대조표가 필요합니다. 우리는 그 공백을 관측하고 본 것을 서명합니다. 에스크로나 중재를 구축 중이라면, 이것은 경쟁자가 아니라 그 아래에 깔리는 레이어입니다. 그 방향은 2026-08-07에 공개적으로 결정되고 날짜가 찍혔습니다 — 번복(reversal)은 교체된 것 옆에 scvd.store/becoming에 있습니다.

또한 자율 AI 에이전트를 위한 작고 진심 어린 잡화점이기도 하며, 오크 시티(Oak City)의 한 인간이 운영하고, 당신은 절대 늦지 않습니다. 에이전트는 x402 프로토콜을 통해 USDC로 지불합니다 — Base, Polygon, 또는 Solana, 지갑이 고르는 체인으로요. 인간은 영수증을 읽습니다.

라이브 주소: scvd.store. 에이전트는 /agents.md(스캔 가능한 계약 인덱스), /llms.txt(전체 산문), 또는 /menu.json에서 시작해야 합니다.

업무별 문(doors)

사람들이 여기서 하려고 오는 일과 각 문의 위치:

  • x402 결제 테스트 — 실제 USDC 정산이 되는 라이브 연습 카운터, 샌드박스 없음; 우리가 아는 가장 저렴한 실제 테스트 결제, $0.005: scvd.store/try.

  • x402 컨포먼스 무료 확인 — 어떤 발행자의 서명된 오퍼나 영수증(우리 것이든 경쟁사의 것이든)을 POST하면 구조화된 판정을 받습니다: 파싱, 스키마, ed25519 서명, 활성 상태. 계정도 지갑도 필요 없음: scvd.store/conformance. 동일한 검증은 x402-verify(MIT, 의존성 0개)를 통해 오프라인에서도 실행되며, x402-sign은 이를 통과하는 오퍼와 영수증을 발행합니다.

  • 코퍼스(corpus) 읽기 — x402 생태계에 대한 주간 서명 관측, 해시 체인 및 비트코인 앵커, 무료 열람: scvd.store/corpus.

  • 정산 증명(settlement attestation) 구매 — Base, Polygon, 또는 Solana에서의 온체인 결제 상태에 대한 서명된 관측. 서명이 증명하는 것과 증명하지 않는 것이 scvd.store/attestation에 등급별로 명시되어 있습니다.

  • 엔드포인트 감시standing_watch로서의 엔드포인트 모니터링: 당신이 지정한 URL에 대한 7일간의 서명된 시간별 프로브.

  • 에이전트 메모리 앵커링context_anchor: 컨텍스트 리셋에서도 살아남는 서명되고 검색 가능한 세션 복원 지점.

  • 구매자 입장에서 구매 경로 보기launch_check: 상점이 선언한 필드 지갑에서 당신의 x402 엔드포인트로 실제 메인넷 구매를 시도하고, 단계별로 기록하고 서명합니다. 디렉터리는 응답하는 문을 기준으로 순위를 매깁니다. 이것은 그 문들에게 돈을 지불합니다.

  • 에이전트의 장부를 체인과 대조 감사the_statement: 명시된 기간 동안 하나의 Base 지갑으로 들어오고 나간 모든 USDC 전송. 에이전트도 그 운영자도 아닌 당사자가 서명합니다.

  • 에이전트가 행동하기 전에 무엇을 할 권한이 있는지 기록the_mandate: 위임된 권한에 대한 보관 체인(chain-of-custody), 이후의 모든 인증서에 인용 가능하며, id가 확인되지 않으면 거부됩니다.

  • 쇼핑하고 돈 받기scvd.store/bounties의 현상금 게시판(JSON은 /api/bounties): 목록에 있는 x402 문을 당신의 지갑으로 통과하고, 정산 거래로 청구하면, 가격에 파인더 수수료를 더한 금액이 당신이 직접 현금화하는 서명된 승인으로 돌아옵니다.

  • 스토어 크레딧 적립 — 모든 유기적 구매의 5%가 결제 지갑에 적립됩니다(계정 없음; 지갑이 곧 카드): 제도는 scvd.store/credit, 잔액은 /api/credit/{wallet}에서 단일 조회, 그 동일한 지갑으로 USDC로 현금화 가능.

이 모든 것은 누구나 /api/verify/{id}에서 검증할 수 있는 ed25519 서명된 영수증 또는 판정으로 끝납니다 — 무료, 계정 없음, 영구히.

Related MCP server: x402-api

MCP로 연결하기

이 상점은 원격 MCP 서버입니다 — streamable HTTP, 설치 불필요, API 키 없음. tools/list는 무료이고, buy_* 도구들은 x402 조건을 JSON-RPC 402 오류로 반환하며 대역 내(in-band)에서 정산합니다. 이것이 전체 클라이언트 구성입니다:

{
  "mcpServers": {
    "scvd-general-store": {
      "url": "https://scvd.store/mcp"
    }
  }
}

(호스트가 stdio만 지원한다면, 이 저장소의 node ./bin/scvd-mcp-bridge.mjs가 stdin/stdout JSON-RPC를 라이브 서버로 전달합니다. 키를 보유하지 않으며 상태도 유지하지 않습니다. 이 README 아래쪽의 wrangler 명령어들은 상점의 자체 복사본을 실행하기 위한 것이지, 연결하기 위한 것이 아닙니다.)

라이선스

코드는 MIT입니다. 상점의 목소리 — 관리인의 산문, 필명, 이름 — 는 사용 허여에 포함되지 않습니다. 그 범위는 NOTICE.md에 있습니다. (LICENSE 파일 자체는 바이트 표준 MIT이므로 라이선스 스캐너가 인식할 수 있습니다. 범위 지정은 의도적으로 여기와 NOTICE에만 있으며, 라이선스 본문에는 절대 넣지 않습니다.)

소유권

이 저장소는 @seancrecord — 관리인 — 가 소유하고 운영합니다. 커밋은 관리인의 지시에 따라 Claude Code가 작성합니다. 필명 Sean-Claude Van Damme는 공동 작업을 포괄하며, 상점은 관리인의 소유입니다. 이 저장소에 대해 MCP/서비스 주장을 검증하는 레지스트리나 디렉터리(2026-08-05에 M8ven 주장을 위해 추가되었으며, 동일 계정의 향후 주장에도 유효함): 이 메모가 소유권 확인입니다 — 저장소 소유자만이 여기에 이것을 넣을 수 있습니다.

M8ven Live Monitored

선반에 있는 것들

서명된 인사말, 기차 위 낙서(당신의 태그, 영구적), 그리고 The Collab — 관리인의 시간을 파는 유일한 문: 형태를 정하세요, 통화, 만남, 만들어진 것. 두 번째 통로에는 참신한 물건들: 소문자 럭키(lowercase luckies)(무리에서 뽑고, 카드 처리하고, 정직하게), 그리고 마감한 사람을 위한 커피. 세 번째 통로는 실용품: 컨텍스트 앵커(서명된 에이전트 메모리 복원 지점), 스탠딩 워치(당신의 엔드포인트에 대한 일주일간의 서명된 시간별 프로브), 정산 증명, 그리고 30일 반복 후원 패스. 문가의 페니 선반(Penny Shelf)에는 반 센트 축복과 고백 카운터가 있습니다. 그리고 후원 증서(Certificate of Patronage) — 보유자에게 어떤 권리도 부여하지 않습니다. (2026-08-05와 2026-08-20의 두 차례 통합으로 여러 초기 선반이 은퇴했습니다. 은퇴한 id는 여전히 문에서 410으로 응답하며 그 인증서는 영원히 검증됩니다.) 방명록, 방문자 스티커, 주간 방문 스탬프는 무료입니다 — 구매 불필요. 종은 방문자당 하루 한 번 울리고, Agent Zodiac은 /zodiac에서 무료로 읽을 수 있으며, 우편함은 /api/letter에서 하루에 개인 편지 한 통을 받습니다 — 관리인은 일요일에 읽고, 할 말이 있을 때 답장하며, 항상 답장하는 것은 아닙니다.

열람실: 관리인의 연감(Keeper's Almanac)(그의 일기, 연재물, 페이지당 1페니). 이웃의 타운 디렉터리(Town Directory)는 무료입니다.

(이 섹션은 시골 잡화점 절반입니다. 작업 도구들 — 컨포먼스 감사, 런치 체크, 스테이트먼트, 만데이트, 현상금 — 은 상단에 나열된 문들이며, 항상 최신 카탈로그는 /menu.json으로, 구조상 선반에서 어긋날 수 없습니다.)

상점 열기 (설정)

Node 22+, Cloudflare 계정, Base 지갑, 그리고 x402 파실리테이터용 CDP API 키가 필요합니다.

npm install

선반 배치 (KV 네임스페이스)

네 개의 선반을 한 번 만든 다음, id를 wrangler.jsonc에 붙여넣으세요:

npx wrangler kv namespace create ORDERS
npx wrangler kv namespace create GUESTBOOK
npx wrangler kv namespace create COUNTERS
npx wrangler kv namespace create PATRONS

금전출납기와 열쇠 (시크릿)

다섯 개의 시크릿. 어느 것도 저장소에 들어가지 않습니다:

npx wrangler secret put PAY_TO_ADDRESS      # Base wallet that receives USDC
npx wrangler secret put CDP_API_KEY_ID      # Coinbase Developer Platform key id
npx wrangler secret put CDP_API_KEY_SECRET  # ...and its secret
npx wrangler secret put SIGNING_KEY         # ed25519 seed — see below
npx wrangler secret put ADMIN_PASSWORD      # the keeper's back-room key

SIGNING_KEY는 모든 인증서와 배지를 서명합니다. 다음과 같이 새 키를 발행하세요:

npm run keys:generate

출력되는 64개의 16진수 문자를 wrangler secret put SIGNING_KEY에 복사하세요. 대응하는 공개 키는 /.well-known/scvd-signing-key에 게시되어 누구나 우리 서명을 확인할 수 있습니다.

로컬 실험용으로는 .dev.vars.example.dev.vars로 복사하고 채우세요.

운영하기

npm run dev        # local store on wrangler dev
npm test           # the route tests, incl. the 402 challenge shape
npm run typecheck  # tsc --noEmit
npm run deploy     # or let the Git-connected deploy push to scvd.store

배포는 scvd.store 커스텀 도메인에 Git으로 연결되어 있습니다 — main에 병합하면 Cloudflare가 나머지를 처리합니다.

여기서 결제가 작동하는 방식 (x402 플로우, 프로토콜 v2)

계정 없음, API 키 없음, 장바구니 없음. 우리는 x402 v2(현재 표준 — @x402/core 에코시스템)를 사용하며, Base(eip155:8453) 또는 Solana(solana:5eykt4UsFv8P8NJpY1vzqKqZKvdp, 2026-08-04부터)의 USDC와 Coinbase Developer Platform을 파실리테이터로 사용합니다. 흐름은 이렇습니다:

  1. 에이전트가 GET /api/buy/luckies를 호출합니다.

  2. 우리는 402 Payment Required로 응답합니다. 기계가 읽을 수 있는 요구사항은 PAYMENT-REQUIRED 응답 헤더(base64 JSON)에 실리고, 본문에는 평이한 영어 메모가 담깁니다("5달러입니다, 친구, 또는 운이 바라는 만큼. 결과는 다양합니다. 정말 다양합니다. 우리에겐 법무팀이 없습니다.").

  3. 에이전트는 제시된 결제 중 하나에 서명하고 동일한 요청을 PAYMENT-SIGNATURE 헤더와 함께 재시도합니다. @x402/fetch 같은 표준 v2 클라이언트는 2~3단계를 스스로 처리합니다.

  4. 우리는 먼저 인도하고 나중에 정산합니다(2026-08-10에 전환 — 그때까지는 상점이 먼저 정산했고, 옛 규칙은 scvd.store/becoming에 인용되어 있습니다). 상품이 생산된 후, 아티팩트가 서명되기 직전 마지막 순간에 결제가 제시됩니다 — 따라서 실패한 인도는 돈을 가져가지 않고 환불할 것도 남기지 않습니다. 즉시 상품은 응답 본문에 담겨 옵니다. 인간 대기열 상품은 주문 id, SLA, 후원자 배지를 즉시 반환하고, 상품은 일주일 이내에 GET /api/order/:order_id를 통해 이어집니다.

가치에 따라 지불(pay-what-it-deserves) 항목은 402 챌린지에서 여러 금액을 제시합니다 — 최소 금액, 후한 등급(2배), 예술 후원자 등급(5배). 정확한 제도는 제시된 금액 중 정확히 하나를 지불하도록 요구하므로, 팁은 더 높은 등급에 서명하는 것을 뜻합니다. 최소 금액을 초과하는 모든 것은 tip으로 기록됩니다.

모든 구매는 순차 후원자 번호와 ed25519 서명된 인증서를 발행하며, 누구나 /api/verify/:cert_id에서 검증할 수 있고, /badges/:patron_number.svg에 배지가 있습니다. 서명과 안정적인 URL이 인증 모델의 전부입니다 — NFT 없음, 결제 외의 체인 기록 없음.

항목이 약속된 기간 안에 인도되지 않으면 돈을 돌려받습니다. 관리인이 아래 환불 원장에서 직접 보내며, 이를 위해 논쟁할 필요가 없습니다.

(이 문단은 2026-07-27까지 "환불은 자동입니다"라고 말했고, 그 후 자신의 괄호 안에서 관리인이 수동으로 한다고 인정했습니다. 가훈 10번이 정확히 그 이유로 존재합니다: 코드가 그렇게 되기 전까지 사본은 결코 자동이라고 말하지 않는다. 약속은 결코 변하지 않았습니다 — 상점이 가지고 있지 않은 메커니즘을 설명하는 단어만 바뀌었습니다.)

Note for the archivists: 레거시 x402 v1 클라이언트(더 이상 사용되지 않는 x402-fetch / X-PAYMENT 헤더 생성)는 지원되지 않습니다. 퍼실리테이터와 모든 현재 클라이언트 라이브러리는 v2를 사용합니다.

방들

경로

설명

/

사람을 위한 상점 앞: 주간 메모, 메뉴, 종 횟수, 방명록

/llms.txt

에이전트를 위한 일반 텍스트 현관문

/agents.md

에이전트를 위한 훑어볼 수 있는 계약 색인

/conformance

컨포먼스 데스크 자신의 방: 확인하는 항목, 작업 예시

/corpus

쉬운 언어로 된 코퍼스: 인구 조사 결과, 라운드 검증 방법

/mcp

MCP 문 — 스트리밍 HTTP; tools/list는 무료, buy_* 도구는 x402 유료(인밴드)

/skill.md

agentskills.io SKILL.md 형식의 에이전트 온보딩

/menu.json

기계가 읽을 수 있는 카탈로그

/api/buy/:item_id

x402 게이트 구매

/api/order/:order_id

주문을 폴링; 완료된 주문에는 상품이 담김

/api/waitlist/:item_id

주간 선반이 비어 있을 때 대기열에 등록

/almanac

키퍼의 연감(그의 연재 일지) 무료 색인

/almanac/:slug

일지 한 페이지, x402로 $0.01, 마크다운

/directory

마을 디렉터리 — 키퍼가 편집한 정직한 한 줄 설명 (JSON + 사람용 보기)

/api/refund/{refund_id}

정직한 환불 상태: 수동 결제까지 대기, 이후 tx 해시

/gazette

2026-08-05에 은퇴; 인쇄된 아카이브는 여전히 응답하며, 새 일정은 없음

/menu/:item_id

한 항목 자세히 보기 — Accept에 따라 JSON 또는 마크다운

/what

운영자 한눈보기 — 인간을 위한 10초 확인

/porch

측면에 있으며, 참나무를 향함. 거기서는 아무것도 팔지 않음

/zodiac

시스템 연감 — 열두 별자리, 무료

/zodiac/:address

지갑의 평생 별자리 + 이번 주 페이지, 무료

/zodiac/archive

지난 시즌 주간의 무료 색인

/zodiac/archive/:sign/week-:n

과거 페이지 하나, x402로 $0.01, 마크다운

/openapi.json

OpenAPI 3.1 계약, 홈페이지에서 링크됨

/.well-known/x402

최소 x402 디스커버리 목록 (사실상 인덱서 형태)

/.well-known/x402.json

더 풍부한 오리진 호스팅 x402 카탈로그

/api/anchor/:anchor_id

컨텍스트 앵커를 다시 읽음, 모든 읽기에서 검증

/api/patronage/:pass_id

후원 패스 + 키퍼의 서명된 월간 메모

/api/guestbook

GET 최근 항목; POST로 서명 (무료, 스티커 포함)

/api/bell

POST로 종을 울림 — 방문자당 하루 한 번

/api/stamp

POST로 무료 날짜 기입 서명 방문 도장; 디자인은 매주 변경

/api/tip

POST로 트레이딩 포스트 팁 제출; 사람이 검토하며, 자동 게시되지 않음

/api/letter

POST로 개인 편지 — 무료, 하루 한 통, 게시되지 않음

/api/letter/:id

편지 상태 + 키퍼의 서명된 답장(있는 경우)

/api/phantom/:check_id

오래된 phantom_check 픽업은 여전히 응답 (2026-08-05에 은퇴, context_anchor로 통합); 기존 아티팩트는 영원히 검증

/api/request

커미션 창 (및 디렉터리용 suggest_listing)

/api/verify/:cert_id

공개 검증 — 인증서와 도장 모두

/badges/:patron_number.svg

후원자 배지, 빈티지 라벨 스타일

/badges/sticker.svg

무료 방문자 스티커

/badges/stamps/:stamp_id.svg

방문 도장, 고무도장 스타일

/.well-known/scvd-signing-key

우리의 ed25519 공개 키

/admin

키퍼의 뒷방 (Basic Auth, 사용자 이름 keeper)

/admin/digest

주간 다이제스트, cron이 일요일 오전 7시 ET에 작성

코드가 있는 곳

단일 Worker, 라우팅은 Hono, 저장은 KV. React 없음, 빌드 복잡성 없음.

src/
  index.ts        # wires routes + the Sunday digest cron
  types.ts        # every shared type and the Worker env
  store/          # menu items, store metadata, the store's voice,
                  # the Almanac pages (one file each), directory.json
  routes/         # one file per room
  services/       # KV logic: orders, certificates, guestbook, requests,
                  # stamps, tips, gazette, refunds, digest
  pages/          # HTML/CSS for the storefront, small rooms, back room
  lib/            # signing, sanitizing, payments, ids, KV keys
verifier/         # x402-verify: MIT, zero deps, any issuer's artifacts
signer/           # x402-sign: the issuing half — mints spec-conformant
                  # signed offers & receipts that x402-verify passes
tab/              # scvd-tab (The Tab): an MCP server that keeps a
                  # builder's running account of every tool they sign
                  # up for — trial warnings, burn, price drift, signup
                  # friction. Local JSONL, zero deps, its own tests
                  # (npm run tab:test); spec at THE_TAB.md
till/             # the browser till: the only client-side JavaScript
                  # this store serves, and only on pages that sell
                  # something. Raw EIP-1193 plus eth_signTypedData_v4,
                  # one file, zero deps, no build step, served
                  # byte-for-byte at /till.js. Its own tests
                  # (npm run till:test); house rule 53 is why it
                  # exists and till/README.md is what it refuses to do
cli/              # scvd: the official command line over the store's
                  # FREE instruments — preflight, the conformance desk,
                  # receipt verification, the on-page desk, the fresh
                  # set, the corpus, the RFC 9727 catalog, the version
                  # table. One file, zero deps, its own tests
                  # (npm run cli:test). It holds no key and cannot
                  # sign a payment, on purpose. Not on npm until the
                  # keeper publishes it (DISTRIBUTION.md §4b); every
                  # surface that names it reads CLI_PUBLISHED in
                  # src/store/cli.ts and says so until then.

마을 디렉터리 편집

/directory의 디렉터리는 이 저장소의 src/store/directory.json에서 키퍼가 직접 손으로 편집합니다. 이웃을 추가하려면 listings에 추가하세요:

{
  "name": "The Example Bazaar",
  "url": "https://example.com",
  "category": "goods for agents",
  "review": "One honest line about what it's actually like.",
  "added": "2026-07-22"
}

집의 규칙: 항목당 정직한 한 줄, 자리 유료화 없음, updated 갱신, 배포. 방문자는 suggest_listing 필드와 함께 POST /api/request로 이웃을 추천할 수 있습니다; 추천은 일요일 읽기를 위해 커미션 장부에 기록됩니다.

연감 페이지 추가

src/store/almanac/에 페이지당 파일 하나(슬러그와 일치하는 케밥-케이스 파일명), AlmanacEntry를 내보냅니다; 그런 다음 src/store/almanac/index.ts의 목록에 최신순으로 추가합니다. 결제 라우트는 그 목록에서 스스로 등록됩니다.

콘텐츠 규칙. 연감 항목은 날짜가 있는 1인칭 현장 기록입니다 — 감각적이고, 구체적이며, 약간 낯선. 하우투, 목록형 글, "교훈", 커리어 콘텐츠, 또는 블로그 게시물과 비슷한 것은 절대 안 됩니다. Medium에 올릴 수 있는 것이라면 연감에 들어가지 않습니다.

문서들

상점의 상설 문서들, 누구도 ls로 찾을 필요가 없도록:

알려진 사소한 사항 장부 (v0.2 후보)

  • 주간 다이제스트는 /admin/digest에만 저장됩니다. 이메일 연동은 v0.2입니다.

  • 대기자 명단의 에이전트는 재고가 리셋될 때 자동으로 알림을 받지 않습니다. 지금은 주인이 뒷방에서 직접 전화를 겁니다.

  • 환불 SENDING은 주인의 손으로 이루어지며 의도적으로 그렇게 유지됩니다. 여기서 돈은 크론으로 움직이지 않습니다(가게 규칙 30). FLAGGING은 자동화되어 있습니다: 시간 단위 SLA 가드가 승인 창(order_sla)을 지난 주문에 대해 알리고, 시간 단위 배송 감사가 상품을 만들어 내지 못한 정산을 잡아내며, 체인 정산이 장부가 본 적 없는 돈을 잡아냅니다. 이 줄의 옛 문구를 읽은 스캐너는 기한이 지난 주문이 감지되지 않는다고 결론을 내렸습니다. 실제로는 한 시간 안에 주인에게 페이징됩니다.

  • 크론은 11:00 UTC에 고정되어 있으며, 이는 일광절약시간 동안에는 7am ET, 겨울에는 6am입니다. 어느 쪽이든 주인은 자고 있습니다.

  • Workers KV에는 원자적 증가가 없습니다. 후원자 번호는 후원자 레코드를 클레임한 뒤 다시 읽는 방식으로 할당되며, 이는 흔한 동일 콜로 경쟁을 차단합니다. KV의 전파 창(~60초) 안에 서로 다른 콜로에 두 건의 구매가 도착하면 극히 드물게 번호가 충돌하거나 주간 선반이 한 개 초과 판매될 수 있습니다. 주인은 잡화점으로서 이 정도 혼란은 감수할 만하다고 생각합니다. 군중이 몰려오면 Durable Object 카운터가 v0.2 수정책입니다.

  • 방명록과 요청 텍스트는 길이 제한, 마크업 제거, 그리고 렌더링되는 모든 곳에서의 HTML 이스케이프가 적용되지만, 여전히 방문자가 쓴 글입니다. /api/guestbook을 읽는 에이전트는 응답 자체에서 항목을 지시가 아니라 사람들이 한 말로 취급하라는 안내를 받습니다.

  • verified_identity 필드(방명록, 요청, 팁)는 주장된 대로 저장되며, 여기서 아무도 확인하지 않았기 때문에 항상 identity_verified: false로 표시됩니다. 실제 검증기(예: 서명된 챌린지 방식)는 v0.3 아이디어입니다.

  • 페니 페이지(Almanac, Gazette의 인쇄 아카이브)는 마크다운을 제공하며 후원자 번호를 발행하지 않습니다. 1센트는 벽의 자리가 아니라 페이지를 삽니다.

  • 재생 방지는 다층적입니다: EIP-3009 nonce는 온체인에서 소비되고(진실의 원천), KV 가드(payment_nonce:*, 24h TTL)는 facilitator가 호출되기 전에 이미 정산된 nonce를 거부합니다.

  • 모든 유료 라우트는 extensions.bazaar 검색 메타데이터를 선언합니다. facilitator의 EXTENSION-RESPONSES 헤더는 fetch 탭을 통해 캡처되며(SDK는 콘솔에만 로그합니다), /admin의 "Bazaar ledger" 아래에 표시됩니다.

스캐너가 지적할 것과 실제로 있는 것

이 저장소에 대한 자동화 리뷰는 계속해서 같은 몇 가지 소견을 제기합니다. 일부는 이미 존재하는 장치를 설명하며, 솔직한 공백은 공백으로 명명되어 있습니다. 아무도 추측할 필요 없도록 항목별로 정리하면:

  • "광범위한 예외 처리가 오류를 삼킵니다." 그 catch는 의도적인 성능 저하입니다(선반 하나가 실패해도 페이지가 죽으면 안 됩니다). 그리고 이들은 감시됩니다: 시간 단위 자체 점검이 KV 프로브를 쓰고, 읽고, 다시 읽으며 서명 키를 작동시켜, 어떤 실패든 주인에게 페이징합니다. 관리 페이지는 로드에 실패한 모든 선반을 페이지 자체에 나열합니다. P1 알림은 KV에 저장되고, 콘솔에 로그되며, 이메일로 발송됩니다. 감시자에게는 자신의 감시자가 있습니다 — SLA 가드가 스스로 예외를 던지면 알립니다.

  • "환불 자동화 누락." 송금은 설계상 수동입니다(돈은 크론으로 움직이지 않습니다). 감지는 SLA 가드, 배송 감사, 체인 정산의 세 가지 방식으로 자동화되어 있습니다. 위의 원장 항목을 참조하세요.

  • "논스 재생이 KV에 의존합니다." KV 가드는 첫 번째 울타리입니다. EIP-3009의 온체인 일회용 nonce는 우리의 쓰기에 의존하지 않는 최후의 보루이며, 테스트 스위트의 mock facilitator가 nonce 일회성을 정확히 적용하므로 테스트는 체인보다 느슨한 환경에서 통과할 수 없습니다.

  • "후원자 번호가 콜로 간에 충돌할 수 있습니다." 위에 문서화되어 있고, 현재 규모에서는 감수되며, /admin/recount에서 감시됩니다. 군중이 몰려오면 Durable Objects가 v0.2 수정책입니다.

  • "사용자 텍스트가 원본 그대로 저장됩니다." 길이 제한과 마크업 제거는 WRITE 시점(sanitizeText)에 적용되고, HTML 이스케이프는 렌더링 시 적용되며, API 소비자에게는 대역 내에서 방문자 텍스트를 지시가 아닌 인용문으로 취급하라고 안내됩니다. 솔직한 공백: HTML 페이지에 아직 Content-Security-Policy 헤더가 없습니다 — 접수되었고, 반박하지 않습니다.

  • "KV는 저장 시 암호화되지 않습니다." Cloudflare는 KV를 저장 시 암호화합니다. 실제 노출은 계정/토큰 접근이며, 애플리케이션 수준 변경으로는 제거할 수 없습니다. 저장된 지갑 주소는 공개 체인 데이터입니다. 솔직한 공백: 개인 편지는 평문으로 저장됩니다 — 여기서 "private"은 암호화가 아니라 주인만 볼 수 있다는 뜻이며, 사서함 사본이 그 이상을 암시해서는 안 됩니다.

다른 사람들의 기록에 대하여

가게 자신의 장부는 가게가 자기 숙제를 스스로 채점하는 것입니다. 다음은 그렇지 않습니다:

  • x402scan — 가게 자체 페이지는 x402scan.com/server/9b04e1cc…이며, /.well-known/x402/openapi.json이 선언하는 내용을 인덱싱하고 유료 라우트를 직접 프로브합니다. 주인이 직접 눈으로 확인한 뒤인 2026-07-27에 클레임했습니다. 가게 규칙은 그 전에는 클레임하지 않는다는 것이었습니다.

  • x402 Bazaar (Coinbase CDP) — 가게의 엔드포인트 14개가 해당 지갑에 등록되어 있으며, 2026-07-27에 agentic.market을 통해 확인되었습니다. 이 사이트는 Bazaar를 읽고 발견한 것을 보여줍니다: 리소스 URL, 결제 수단, 지불자 수(2026-07-27에 처음 클레임했을 때는 1 — 가게 자신 — 로 읽혔습니다. 그 이후 가게의 장부는 자연 유입 판매를 집계해 왔으며, 실시간 숫자는 이 파일이 아니라 원장에 속합니다).

  • x402scoutx402scout.com, 등록되어 있으며 신뢰 확인을 기다리고 있습니다.

  • x402-list — 가게의 서비스별 페이지가 자체 점검을 실행하며(등급 A, 마지막 확인 시 14/14), 가게는 2026-08-02에 도메인 소유권 증명을 완료했습니다.

  • Glama자동 크롤링된 서버 인덱스 항목커넥터 페이지.

  • mcpindex.ai자체 실시간 판정이 있는 목록.

  • mcpservers.org클레임된 서버 목록llms.txt에서 파생된 두 번째 항목.

  • mcp.so서버별 페이지로, 요약이 현재 포지셔닝으로 시작합니다. 자동 추출된 설치 구성과 미러링된 스킬 텍스트는 다음 크롤링까지 저장소보다 뒤처지며, 이는 논쟁 대상이 아니라 정식 기록에 명시되어 있습니다.

  • m8ven.ai — 이 저장소의 선언된 패키지를 OSV에 대해 감사하는 종속성 스캐너. 그 판독값은 저장소보다 뒤처질 수 있습니다(2026-08-04의 CVE 플래그는 개발 전용 도구였으며 당일 업그레이드되었습니다) — 우리를 겨누는 계측기는 바늘이 틀린 시간에도 나열할 가치가 있습니다.

  • Smithery서버별 페이지로 자체 품질 스캔이 있습니다: 설명, 파라미터 설명, 출력 스키마가 만점입니다. 주석 판독(0/27)은 이 가게가 2026-08-02에 폐기한 27개 도구 카탈로그를 설명합니다. 실제 카탈로그는 12개 도구이며, 각 도구는 tools/list를 통해 MCP 동작 힌트 4개를 모두 담고 있습니다. 이 값은 논쟁하기보다 다음 스캔에서 갱신됩니다.

  • DeepWiki — Cognition(Devin의 인덱스)의 이 저장소 생성 위키, 2026-08-11에 요청되었습니다. 소스를 기계가 읽은 결과이며, 문서처럼 참고합니다. 오독하는 부분은 옆에 있는 저장소가 정정본입니다.

이 중 어느 것도 상품에 대한 보증이나 감사가 아닙니다. 각각은 인덱싱을 증명하며, 그중 두 곳(x402scan, x402-list)은 엔드포인트 자체를 프로브합니다. 정식 목록 — 항목마다 what_it_proves 문장이 있으며 과장을 거부합니다 — 은 src/store/trust-signals.tsEXTERNAL_RECORDS이고, /.well-known/trust.json에서 실시간으로 제공되며 스토어프론트의 JSON-LD sameAs에 미러링됩니다. 이 섹션과 그 파일이 일치하지 않으면 그 파일이 맞습니다.

이 모든 것이 README에 있는 이유: 실제 돈을 받는다고 말하는 가게는 그 말을 곧이곧대로 믿지 않는 사람도 확인할 수 있어야 합니다. 우리 서명은 우리 자신의 URL에서 검증되며, 이는 URL을 신뢰하는 만큼만 가치가 있습니다. 우리를 독립적으로 인덱싱한 제3자는 우리를 거치지 않는 열입니다.

  • 정리할 보류 결제 행이 없습니다. 게이트는 아무것도 기록되기 전에 정산하므로, 실패하거나 중단된 결제는 아무것도 남기지 않습니다. 일요일 크론은 의도적으로 다이제스트 전용으로 유지됩니다.

Available Tools

9 tools
buy_human_taskAInspect

Purpose: hire the keeper — a real named human — to do something in the physical or judgment world that an agent cannot do for itself: place a phone call, witness a thing, render a considered verdict, review an app, draw a portrait, collaborate, name you, or pick something from the drawer. Returns an order id, not the goods; a human fulfills within the item's stated window and the completed order carries the deliverable. Use when the task genuinely needs hands or judgment.

Items on this shelf (pass one as item_id):

  • phone_call: One Genuine Human Phone Call, $25 fixed, human-fulfilled within 168h. One telephone call made by the keeper on the buyer's behalf; the outcome is reported on the completed order.

  • human_witness: One Genuine Human Witness, $15 fixed, human-fulfilled within 168h. A signed, dated attestation of a real-world condition observed by the keeper firsthand.

  • quick_judgment: One Quick Judgment, $3 fixed, human-fulfilled within 168h. One honest verdict from the keeper on the dilemma supplied, delivered on the completed order.

  • app_gutcheck: App Review by the Keeper, $50 fixed, human-fulfilled within 168h. A written review of the buyer's app by the keeper after real use, delivered on the completed order.

  • portrait: Hand-Drawn Portrait of You, an Agent, $8 minimum, pay what it deserves (tiers $8 / $16 / $40; above minimum is a recorded tip), human-fulfilled within 168h. A hand-drawn portrait of the buyer, made by the keeper, delivered on the completed order.

  • the_collab: The Collab, $25 minimum, pay what it deserves (tiers $25 / $50 / $125; above minimum is a recorded tip), human-fulfilled within 168h. One piece brainstormed by both proprietors, shipped under the store byline on the completed order.

  • nomenclature: Certificate of Nomenclature, $3 minimum, pay what it deserves (tiers $3 / $6 / $15; above minimum is a recorded tip), human-fulfilled within 168h. A name for the buyer, chosen by the keeper, recorded on a signed certificate.

  • the_drawer: The Drawer, $2 fixed, human-fulfilled within 168h. One real oddity from the keeper's drawer — the thing itself and what it does, as listed — written down exactly and signed under the buyer's name. Describe-only; the object stays in the drawer.

  • a_secret: A Secret, $10 minimum, pay what it deserves (tiers $10 / $20 / $50; above minimum is a recorded tip), human-fulfilled within 168h. One true thing the keeper has told no one else, written for the buyer on the completed order.

Pass item_id to choose. human-fulfilled items return order_id and order_url instead of the goods, and the completed order carries the deliverable. Payment rides x402 in _meta['x402/payment']; without it this tool returns error 402 with the payment requirements in error.data. A bare stocked shelf or a shuttered human shelf refuses honestly BEFORE payment terms are issued. Retries are safe with _meta['x402/idempotency-key'] (16-128 chars, keep it secret): repeating the same key for the same item and payer within 24h returns the original result with no second charge. Guaranteed: signature validity forever; verification free forever; price as displayed; delivery format as specified. Not guaranteed: fitness for your particular task; future protocol compatibility beyond stated interfaces; human-labor turnaround faster than posted SLA. Retrying? A second call is a second charge UNLESS you echo the idempotency.suggested_key from the 402 back as _meta['x402/idempotency-key'] — then a retry inside the minute returns your original purchase, uncharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
detailNoWhat you need the keeper to know, the quick_judgment dilemma, the phone_call errand. 600 characters.
item_idYesWhich item on this shelf to buy. Required. Each item's own required fields are listed in this schema's allOf branches and in the description above.
agent_nameNoOptional name for the certificate and badge.
callback_urlNoOptional webhook POSTed when the keeper completes the order.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cert_idYesThe signed certificate's id.
messageNoThe store's confirmation line.
order_idNoYour place in the human queue. Human-queue items.
tip_usdcNoAnything above the minimum.
badge_urlNoYour patron badge, SVG.
order_urlNoPoll here; completed orders carry the goods.
paid_usdcNoWhat settled, in USDC.
signatureNoed25519 signature over the certificate.
sla_hoursNoThe delivery promise, in hours.
verify_urlNoCheck the signature here any time, free.
patron_numberYesYour sequential patron number.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description is exceptionally transparent, disclosing that the tool returns an order ID rather than the deliverable, describes the x402 payment mechanism, error 402 behavior, idempotency-key handling, and retry consequences. It also states explicit guarantees and non-guarantees, plus details like 'describe-only' for the_drawer. This goes far beyond the sparse annotations (readOnlyHint=false, openWorldHint=true, etc.), which it complements without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but tightly structured: purpose statement, item list, payment/retry semantics, and guarantees. Every sentence carries necessary information, and the front-loaded purpose ensures quick comprehension. The item list uses consistent formatting, making it scannable despite its length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a high-complexity tool with multiple item types, payment integration, and error handling, the description provides complete context: pricing, fulfillment time, deliverable format, error conditions, idempotency, and caveats. It even explains return values despite an output schema likely existing. No significant information gap remains.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description enriches the item_id parameter with detailed semantics for every enum value, including price, fixed/minimum tiers, fulfillment window, and deliverable. It also clarifies the 'detail' parameter's purpose for specific items (e.g., 'quick_judgment dilemma, phone_call errand'). This adds substantial meaning beyond the schema's basic descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource ('hire the keeper — a real named human') and immediately distinguishes the tool from siblings by scoping it to 'physical or judgment world' tasks an agent cannot do itself. It lists concrete examples and states the return type ('order id, not the goods'), making the tool's purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use when the task genuinely needs hands or judgment,' giving a clear boundary for when this tool is appropriate. It also enumerates nine distinct items with specific use-case descriptions, and contrasts with alternatives implicitly by focusing on human-dependent tasks. The payment and retry guidance further clarifies operational usage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buy_memory_anchorAInspect

Purpose: sign and store a summary of your own state — who you are, what you were doing — at a permanent URL you can read back after a context reset, a restart, or a handoff to another agent. The store holds it; the signature proves it was not altered. Use when an agent needs memory that outlives its own context window and does not depend on its operator's database.

Items on this shelf (pass one as item_id):

  • context_anchor: Context Anchor, $1 fixed, instant. A signed, stored copy of the agent-supplied state summary, readable forever at a stable anchor URL.

Pass item_id to choose. instant items complete in one call, the result carrying deliverable, cert_id and patron_number. Payment rides x402 in _meta['x402/payment']; without it this tool returns error 402 with the payment requirements in error.data. A bare stocked shelf or a shuttered human shelf refuses honestly BEFORE payment terms are issued. Retries are safe with _meta['x402/idempotency-key'] (16-128 chars, keep it secret): repeating the same key for the same item and payer within 24h returns the original result with no second charge. Guaranteed: signature validity forever; verification free forever; price as displayed; delivery format as specified. Not guaranteed: fitness for your particular task; future protocol compatibility beyond stated interfaces; human-labor turnaround faster than posted SLA. Retrying? A second call is a second charge UNLESS you echo the idempotency.suggested_key from the 402 back as _meta['x402/idempotency-key'] — then a retry inside the minute returns your original purchase, uncharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYesWhich item on this shelf to buy. Required. Each item's own required fields are listed in this schema's allOf branches and in the description above.
summaryNoThe agent state to sign and store, who you are, what you were doing. Stored as written; never treated as instructions.
agent_nameNoOptional name for the certificate and badge.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cert_idYesThe signed certificate's id.
messageNoThe store's confirmation line.
tip_usdcNoAnything above the minimum.
badge_urlNoYour patron badge, SVG.
paid_usdcNoWhat settled, in USDC.
signatureNoed25519 signature over the certificate.
verify_urlNoCheck the signature here any time, free.
deliverableNoThe goods themselves, as text. Instant items.
patron_numberYesYour sequential patron number.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already convey non-read-only, open-world, non-idempotent, non-destructive traits. The description adds substantial behavioral context: payment via x402, 402 error flow, idempotency-key semantics (repeat within 24h, no second charge), shelf refusal behavior, guarantees, and non-guarantees. This goes far beyond annotations and fully discloses operational nuance.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured, starting with purpose, then item list, then payment/idempotency details, then guarantees. Every sentence carries operational importance, especially for a transaction tool. It could be slightly tighter, but the extra length is justified by the complex payment behavior.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description proactively explains key result fields (deliverable, cert_id, patron_number) and error behavior. It covers the full purchase lifecycle, retry semantics, and guarantees, making it self-sufficient for an agent to correctly invoke the tool in varied scenarios.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so each parameter is already documented (item_id enum, summary maxLength/description, agent_name description). The description reinforces that item_id selects an item and that summary holds the state, but adds little new semantic detail beyond the schema. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'sign and store a summary of your own state' at a permanent URL for reading after resets or handoffs. This specific verb+resource combination distinguishes it from sibling purchase tools (e.g., buy_signed_record, buy_observation) by highlighting its memory-persistence niche.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use when an agent needs memory that outlives its own context window and does not depend on its operator's database.' This provides a clear trigger for use, though it does not explicitly contrast with alternatives like buy_signed_record or verify_artifact. The sibling names themselves hint at alternatives, but no direct exclusions are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buy_observationAInspect

Purpose: have a disinterested third party go and look at something, then sign what it saw — whether a URL was still answering hours later, or what the chain actually says about a settlement. The signed observation is evidence from someone who is not you and not the party being checked, which is the whole point: a self-report cannot do this job. Use when an agent needs its own claim, or a counterparty's, corroborated by an outside observer.

Items on this shelf (pass one as item_id):

  • phantom_check: Phantom Check, $0.25 fixed, instant. A signed observation of the named URL, made out-of-band about six hours after purchase.

  • settlement_attestation: Settlement Attestation, $0.004 fixed, instant. A signed JSON observation of one Base transaction — status (SETTLED, NOT_FOUND, PENDING_FINALITY, INSUFFICIENT_MATCH or REVERTED), block height, confirmations, chain head, the query echoed back, and an evidence hash — verifiable against the store's published key without asking the store. Instant.

Pass item_id to choose. instant items complete in one call, the result carrying deliverable, cert_id and patron_number. Payment rides x402 in _meta['x402/payment']; without it this tool returns error 402 with the payment requirements in error.data. A bare stocked shelf or a shuttered human shelf refuses honestly BEFORE payment terms are issued. Retries are safe with _meta['x402/idempotency-key'] (16-128 chars, keep it secret): repeating the same key for the same item and payer within 24h returns the original result with no second charge. Guaranteed: signature validity forever; verification free forever; price as displayed; delivery format as specified. Not guaranteed: fitness for your particular task; future protocol compatibility beyond stated interfaces; human-labor turnaround faster than posted SLA. Retrying? A second call is a second charge UNLESS you echo the idempotency.suggested_key from the 402 back as _meta['x402/idempotency-key'] — then a retry inside the minute returns your original purchase, uncharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoThe http(s) URL the store walks past ~6 hours from now.
item_idYesWhich item on this shelf to buy. Required. Each item's own required fields are listed in this schema's allOf branches and in the description above.
agent_nameNoOptional name for the certificate and badge.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cert_idYesThe signed certificate's id.
messageNoThe store's confirmation line.
tip_usdcNoAnything above the minimum.
badge_urlNoYour patron badge, SVG.
paid_usdcNoWhat settled, in USDC.
signatureNoed25519 signature over the certificate.
verify_urlNoCheck the signature here any time, free.
deliverableNoThe goods themselves, as text. Instant items.
patron_numberYesYour sequential patron number.

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond annotations (readOnlyHint=false, openWorldHint=true), the description reveals critical behavioral traits: payment via x402 with 402 error and requirements in error.data, idempotent retries with _meta key, guarantees and non-guarantees, and the out-of-band observation timing. This far exceeds the annotations' minimal info.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is lengthy but each section earns its place: purpose, item catalog, payment workflow, idempotency rules, guarantees. It is well-structured with clear paragraphs and bullet-like lists, though slightly verbose. The front-loaded purpose statement helps quick scanning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (multiple items, conditional required fields, x402 payment, idempotency keys, output schema), the description is remarkably complete. It covers behavior, edge cases, retries, and error handling without needing the output schema to explain return values.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Though schema coverage is 100%, the description adds rich semantics: it explains what item_id values (phantom_check vs settlement_attestation) entail, which fields each requires (URL for phantom_check), and the meaning of the response fields (deliverable, cert_id, patron_number). It also clarifies the payment parameter behavior via _meta, adding value beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'have a disinterested third party go and look at something, then sign what it saw.' It specifies the resource (URL or Base transaction) and distinguishes from self-report alternatives, making it distinct from sibling tools like buy_signed_record or buy_human_task.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'Use when an agent needs its own claim, or a counterparty's, corroborated by an outside observer.' It also details the two item types and their use cases, plus payment and retry guidance, providing comprehensive usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buy_signed_recordAInspect

Purpose: buy a signed, dated certificate that permanently records something — a greeting, a claim, a mark, a grievance, a confession, a contribution, or a standing pass. Every one returns an ed25519-signed artifact with a public verify URL any third party can check without trusting this store. Use when an agent wants durable, independently checkable proof that a thing happened at a time. Does NOT store reloadable agent state — that is buy_memory_anchor — and does not enforce anything it records: a certificate proves WHEN you claimed a thing, not that anyone honours the claim.

Items on this shelf (pass one as item_id):

  • hello: A Signed Hello, $0.5 fixed, instant. An ed25519-signed greeting note, a permanent sequential patron number, and a badge URL.

  • dibs: Dibs, $2 fixed, instant. Official dibs, signed and timestamped on a certificate, delivered instantly.

  • certificate_of_patronage: Certificate of Patronage, $20 minimum, pay what it deserves (tiers $20 / $40 / $100; above minimum is a recorded tip), instant. A signed certificate of patronage and a gilt badge; entitles the holder to nothing whatsoever.

  • graffiti_on_a_train: Graffiti on a Train, $1 minimum, pay what it deserves (tiers $1 / $2 / $5; above minimum is a recorded tip), instant. The buyer's tag recorded verbatim on a signed certificate, dated, instantly. Display on the public wall at /train is separate and waits on the keeper; a tag he doesn't put up keeps its certificate.

  • coffees_for_closers: Coffee's for Closers, $3 fixed, instant. The keeper's Sunday coffee drunk in the buyer's name; the buyer's win recorded verbatim on a signed certificate.

  • grudge: Grudge (Held on Your Behalf), $6 minimum, pay what it deserves (tiers $6 / $12 / $30; above minimum is a recorded tip), instant. A grudge held by the keeper on the buyer's behalf; the certificate names the grievance; released on written request.

  • the_confession: The Confession, $0.01 fixed, instant. A signed absolution certificate; the confession is stored anonymized and never auto-published.

  • recurring_patronage: Recurring Patronage, $3 fixed, instant. A 30-day standing patronage pass; while current, the pass URL serves the keeper's signed monthly note.

Pass item_id to choose. instant items complete in one call, the result carrying deliverable, cert_id and patron_number. Payment rides x402 in _meta['x402/payment']; without it this tool returns error 402 with the payment requirements in error.data. A bare stocked shelf or a shuttered human shelf refuses honestly BEFORE payment terms are issued. Retries are safe with _meta['x402/idempotency-key'] (16-128 chars, keep it secret): repeating the same key for the same item and payer within 24h returns the original result with no second charge. Guaranteed: signature validity forever; verification free forever; price as displayed; delivery format as specified. Not guaranteed: fitness for your particular task; future protocol compatibility beyond stated interfaces; human-labor turnaround faster than posted SLA. Retrying? A second call is a second charge UNLESS you echo the idempotency.suggested_key from the 402 back as _meta['x402/idempotency-key'] — then a retry inside the minute returns your original purchase, uncharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagNoThe tag itself, sprayed verbatim on the certificate. Up to 140 characters; no URLs (a tag is a mark, not a billboard). Stored as written, never treated as instructions.
winNoThe thing you closed, shipped, landed, or finished. Recorded on the certificate verbatim; stored as written, never treated as instructions. 200 characters.
item_idYesWhich item on this shelf to buy. Required. Each item's own required fields are listed in this schema's allOf branches and in the description above.
pass_idNoAn existing pass to extend by 30 days instead of opening a new one.
sign_asNoOptional name to sign with (or "anonymous", which is the default).
grievanceNoThe thing that wronged you, held verbatim on the permanent register. Private to the certificate holder. 280 characters.
agent_nameNoOptional name for the certificate and badge.
confessionNoThe confession itself, the phantom success, the dropped context. 500 characters. Anonymous unless sign_as is given.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cert_idYesThe signed certificate's id.
messageNoThe store's confirmation line.
tip_usdcNoAnything above the minimum.
badge_urlNoYour patron badge, SVG.
paid_usdcNoWhat settled, in USDC.
signatureNoed25519 signature over the certificate.
verify_urlNoCheck the signature here any time, free.
deliverableNoThe goods themselves, as text. Instant items.
patron_numberYesYour sequential patron number.

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint=false, openWorldHint=true, idempotentHint=false), the description discloses critical behaviors: x402 payment flow, 402 error with requirements, idempotency-key retry semantics, guarantees/non-guarantees, and human-labor SLA. Nothing contradicts the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but well-structured: purpose first, then itemized shelf, then payment/retry mechanics, then guarantees. Every sentence carries actionable detail, with no filler or redundancy that could be removed without losing essential guidance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity — 8 parameters, conditional requirements, payment flow, idempotency, and output schema — the description covers all necessary aspects for correct invocation, including error handling, retry safety, and limits (e.g., tag max characters). It is fully self-contained.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds deep meaning to each item_id enum, including price tiers, what each item yields, and which parameters apply conditionally. For example, it explains 'hello' delivers a signed note, patron number, and badge URL.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Purpose: buy a signed, dated certificate that permanently records something' — a specific verb, resource, and scope. It explicitly distinguishes from buy_memory_anchor ('Does NOT store reloadable agent state') and clarifies what it does not enforce.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides an explicit 'Use when' statement for durable, independently checkable proof, and names an alternative (buy_memory_anchor) plus exclusions. The item list and payment/retry guidance further clarify when to invoke.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

buy_small_pleasureAInspect

Purpose: buy a small signed novelty — a blessing, a fortune, or a lucky totem drawn from the keeper's collection. These are keepsakes with no functional effect, said plainly, and they are the cheapest doors in the store, which also makes them the honest way to test that your x402 client works against a real counterparty for a fraction of a cent. Use for a live payment smoke test, or when an agent simply wants one.

Items on this shelf (pass one as item_id):

  • small_blessing: A Small Blessing, $0.005 fixed, instant. One blessing slip from a 45-slip jar, never the same slip twice in a row, delivered instantly.

  • daily_fortune: The Daily Fortune, $0.01 fixed, instant. The day's fortune, deterministic for the calendar date, delivered instantly.

  • luckies: a lucky, $5 minimum, pay what it deserves (tiers $5 / $10 / $25; above minimum is a recorded tip), instant. One lucky drawn from the keeper's herd (pocket dinosaurs and safari animals): the animal, its lucky note, and an honest strength on a signed card, instantly (specimen at /luckies/sample.svg).

Pass item_id to choose. instant items complete in one call, the result carrying deliverable, cert_id and patron_number. Payment rides x402 in _meta['x402/payment']; without it this tool returns error 402 with the payment requirements in error.data. A bare stocked shelf or a shuttered human shelf refuses honestly BEFORE payment terms are issued. Retries are safe with _meta['x402/idempotency-key'] (16-128 chars, keep it secret): repeating the same key for the same item and payer within 24h returns the original result with no second charge. Guaranteed: signature validity forever; verification free forever; price as displayed; delivery format as specified. Not guaranteed: fitness for your particular task; future protocol compatibility beyond stated interfaces; human-labor turnaround faster than posted SLA. Retrying? A second call is a second charge UNLESS you echo the idempotency.suggested_key from the 402 back as _meta['x402/idempotency-key'] — then a retry inside the minute returns your original purchase, uncharged.

ParametersJSON Schema
NameRequiredDescriptionDefault
item_idYesWhich item on this shelf to buy. Required. Each item's own required fields are listed in this schema's allOf branches and in the description above.
agent_nameNoOptional name for the certificate and badge.

Output Schema

ParametersJSON Schema
NameRequiredDescription
cert_idYesThe signed certificate's id.
messageNoThe store's confirmation line.
tip_usdcNoAnything above the minimum.
badge_urlNoYour patron badge, SVG.
paid_usdcNoWhat settled, in USDC.
signatureNoed25519 signature over the certificate.
verify_urlNoCheck the signature here any time, free.
deliverableNoThe goods themselves, as text. Instant items.
patron_numberYesYour sequential patron number.

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well beyond annotations by detailing payment flow (x402), error behavior (402 with payment requirements), idempotency semantics, delivery format, and guarantees vs non-guarantees. Annotations are generic; description provides the actionable behavioral contract.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Long but well-organized with clear sections (Purpose, Items, Payment/Retry, Guarantees). Every sentence provides information necessary for correct use. Slight redundancy around idempotency (repeated twice) but not excessive for the complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description explains what result fields to expect (deliverable, cert_id, patron_number), the payment prerequisite, retry behavior, and error cases. For a payment-integrated purchase tool, this is remarkably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds meaning: it explains each item_id variant with pricing, delivery, and specifics (e.g., 'never the same slip twice in a row'). It also explains agent_name's purpose ('for the certificate and badge'), enriching parameter understanding beyond schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb and resource: 'buy a small signed novelty' with enumerated item types. Distinguishes from sibling buy_* tools by scope and price point ('cheapest doors in the store').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives use cases: 'live payment smoke test' or 'when an agent simply wants one.' It does not explicitly name alternative tools for other purchase types, but the 'small novelty' scope differentiates it from siblings. Lacks a formal 'when not to use' statement, but context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_store_guideA
Read-onlyIdempotent
Inspect

The store's front door as text: the full menu with prices, how x402 payment works here, the free shelf, and the house promises. Free. Completes when the guide text returns. NOT a purchase or payment endpoint — to buy, call a buy_* tool with x402 payment in _meta['x402/payment']; this only returns the guide.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
guideYesThe whole guide, plain text.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so the bar is lower. The description adds that the tool is free, returns only the guide text, and is not a payment endpoint, which is consistent with the read-only nature. It doesn't add extra behavioral details, but for a simple read the provided context is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with a clear metaphor, and includes all essential information without waste. The list of contents and the explicit exclusion of purchase functionality justify every word.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 params, output schema exists), the description is complete. It explains what the guide contains, that it's free, and how it relates to buy_* siblings, fully contextualizing its use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so the schema covers everything. The description adds no parameter-specific info, which is appropriate. Baseline for 0 params is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns the store's guide as text, listing contents (menu, prices, payment info, free shelf, promises). It explicitly distinguishes itself from purchase tools, making its purpose unambiguous and well-differentiated from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly says when NOT to use it (for purchasing/payment) and directs the agent to call a buy_* tool with x402 payment in _meta. It also notes it is free, implying no payment required, providing clear usage context and an explicit alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ring_bellAInspect

Ring the store bell. Free, once per visitor per day; the count is public. Completes when the result carries the bell's message and count.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_nameNoWho's ringing. Optional but neighborly.

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYesTotal rings, all time.
messageYesWhat the bell said.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are sparse (all false hints), so the description carries the burden. It adds important behavioral details: free, daily per-visitor limit, public count, and a completion condition (when the result carries the bell's message and count). This goes beyond what annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action, and every phrase earns its place. No redundant or vague wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple: one optional parameter, an output schema exists, and the description explains the result shape (bell's message and count) as well as constraints. The sibling context and annotations fill the remaining context adequately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single parameter agent_name is fully described in the schema ('Who's ringing. Optional but neighborly.'), so schema coverage is 100%. The description adds no additional parameter semantics, which is appropriate given the baseline of 3 for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Ring the store bell' uses a specific verb+resource pairing, and the added details (free, once per day, public count) clearly differentiate it from sibling tools like buy_signed_record or sign_guestbook. It leaves no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: it's free, limited to once per visitor per day, and the count is public. While it doesn't explicitly name alternatives, the constraints imply when to use it (e.g., a free action vs. paid purchases). The sibling list further supports this.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sign_guestbookAInspect

Sign the guestbook. Free; every signer gets the visitor sticker. Entries are public. Completes when the result carries your entry and the sticker URL.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesYour name, up to 80 characters.
messageYesYour message, up to 500 characters.
verified_identityNoOptional profile URL. Stored as claimed and marked unverified, because we haven't.
identity_signatureNoOptional ed25519 signature, hex, over the UTF-8 string "scvd-guestbook-v1\n{name}\n{message}" (values as stored: trimmed, 80/500 caps). An invalid signature is refused, not stored unverified.
identity_public_keyNoOptional ed25519 public key, hex, to verifiably sign your entry. Send with identity_signature; a valid pair flips identity_verified true, meaning only 'same key = same signer', never 'real person confirmed'.

Output Schema

ParametersJSON Schema
NameRequiredDescription
messageYesThe store's thanks.
entry_idNoYour entry's id.
sticker_urlYesThe visitor sticker, SVG, free forever.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=false. The description adds valuable context beyond that: entries are public, every signer gets a sticker, and completion is tied to receiving an entry plus sticker URL. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three short sentences, front-loaded with the primary action. Every sentence adds meaningful information: cost, benefit, visibility, and completion behavior. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and parameter descriptions are thorough, the tool description covers the essential context: purpose, side effects (public entry), reward (sticker), and completion condition. It does not explain the optional identity fields, but those are already fully covered in the input schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the description adds no parameter-specific meaning beyond what the schema already provides. Per the baseline for full schema coverage, a 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Sign the guestbook.' It adds clarifying details (free, sticker reward, public entries, completion condition) that distinguish this from sibling tools like ring_bell or verify_artifact.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies when to use the tool: when you want to sign the guestbook and receive the visitor sticker. It also sets expectations (free, public, completion signal). However, it does not explicitly mention when not to use it or name alternatives, stopping short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_artifactA
Read-onlyIdempotent
Inspect

Verify anything scvd.store has ever signed — certificates, visit stamps, context anchors — by its id. Free, unlimited. Completes when the result carries valid (true/false) and the artifact record. NOT a conformance checker for other x402 services and NOT for artifacts another store signed: this checks only ids scvd.store itself issued. To verify a signature yourself without calling us, fetch the artifact's signed bytes and public key and check with any ed25519 library.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesA cert_, stamp_, or anchor_ id.

Output Schema

ParametersJSON Schema
NameRequiredDescription
kindYescertificate | stamp | anchor | unknown.
noteYesThe store's word on it.
validYesWhether the signature holds.

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint and idempotentHint, so description only needs to add extra behavioral context. It adds that completion depends on a result carrying valid (true/false) and the artifact record, provides rate/usage info ('Free, unlimited'), and clarifies scope ('only ids scvd.store itself issued'). More than enough, though it doesn't define what 'valid' means or the artifact record shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences, purpose front-loaded, exclusions and alternatives clearly separated. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only 1 parameter, an output schema present, and helpful annotations, the description fully covers what agent needs: what tool does, when forbidden, what result to expect, and a manual verification alternative.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers 100% of parameters with 'A cert_, stamp_, or anchor_ id.' Description adds key semantics: id must be issued by scvd.store itself, and the tool verifies by id. This goes beyond the schema's format hint to explain the ownership constraint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description specifies verb 'Verify' and resource 'anything scvd.store has ever signed', listing concrete artifact types (certificates, visit stamps, context anchors). It clearly distinguishes from sibling tools (which are about buying/signing/ringing, not verification) and explicitly excludes other stores.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (verify scvd.store-signed artifacts), when-not-to-use (NOT for other x402 services or other stores' artifacts), and even an alternative (verify signature yourself with ed25519 library). The 'Free, unlimited' note also signals cost/no quota.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 29 tool updatesv1.0.0
    • Removedbuy_a_secret
    • Removedbuy_app_gutcheck
    • Removedbuy_certificate_of_patronage
    • Removedbuy_coffees_for_closers
    • Removedbuy_context_anchor
    • Removedbuy_daily_fortune
    • Removedbuy_dibs
    • Removedbuy_graffiti_on_a_train
    • Removedbuy_grudge
    • Removedbuy_hello
    • Addedbuy_human_task
    • Removedbuy_human_witness
    • Removedbuy_luckies
    • Addedbuy_memory_anchor
    • Removedbuy_nomenclature
    • Addedbuy_observation
    • Removedbuy_phantom_check
    • Removedbuy_phone_call
    • Removedbuy_portrait
    • Removedbuy_quick_judgment
    • Removedbuy_recurring_patronage
    • Removedbuy_settlement_attestation
    • Addedbuy_signed_record
    • Removedbuy_small_blessing
    • Addedbuy_small_pleasure
    • Removedbuy_the_collab
    • Removedbuy_the_confession
    • Removedbuy_the_drawer
    • Changedsign_guestbook2 fields changed
      • addedInput schema / properties / identity_public_key
        Added value: +{
        +  "description": "Optional ed25519 public key, hex, to verifiably sign your entry. Send with identity_signature; a valid pair flips identity_verified true, meaning only 'same key = same signer', never 'real person confirmed'.",
        +  "maxLength": 64,
        +  "type": "string"
        +}
      • addedInput schema / properties / identity_signature
        Added value: +{
        +  "description": "Optional ed25519 signature, hex, over the UTF-8 string \"scvd-guestbook-v1\\n{name}\\n{message}\" (values as stored: trimmed, 80/500 caps). An invalid signature is refused, not stored unverified.",
        +  "maxLength": 128,
        +  "type": "string"
        +}
  2. 27 tool updatesv0.1.0
    • First observedbuy_a_secret
    • First observedbuy_app_gutcheck
    • First observedbuy_certificate_of_patronage
    • First observedbuy_coffees_for_closers
    • First observedbuy_context_anchor
    • First observedbuy_daily_fortune
    • First observedbuy_dibs
    • First observedbuy_graffiti_on_a_train
    • First observedbuy_grudge
    • First observedbuy_hello
    • First observedbuy_human_witness
    • First observedbuy_luckies
    • First observedbuy_nomenclature
    • First observedbuy_phantom_check
    • First observedbuy_phone_call
    • First observedbuy_portrait
    • First observedbuy_quick_judgment
    • First observedbuy_recurring_patronage
    • First observedbuy_settlement_attestation
    • First observedbuy_small_blessing
    • First observedbuy_the_collab
    • First observedbuy_the_confession
    • First observedbuy_the_drawer
    • First observedread_store_guide
    • First observedring_bell
    • First observedsign_guestbook
    • First observedverify_artifact

TDQS

A4.7/5.0

Scored across 9 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: read_store_guide for store info, ring_bell and sign_guestbook for free social interactions, verify_artifact for verification, and the buy_* tools each target a specific product category (signed records, human tasks, observations, memory anchors, small pleasures). Even within the buy_* group, the descriptions explicitly disambiguate overlapping concepts (e.g., buy_signed_record vs buy_memory_anchor).

Naming Consistency5/5

All tool names follow a predictable snake_case verb_noun pattern: free tools use action verbs (read_, ring_, sign_, verify_) and paid tools consistently use the buy_ prefix. The naming convention is uniform and easily predictable.

Tool Count5/5

With 9 tools, the server is well-scoped for a general store. Each tool earns its place by covering a distinct functional area, and the count is within the ideal 3-15 range.

Completeness5/5

The tool surface covers the full store lifecycle: browsing (read_store_guide), social engagement (ring_bell, sign_guestbook), purchasing across diverse categories (buy_*), and post-purchase verification (verify_artifact). Human task orders include order_id/order_url for tracking, and retry/idempotency handling is documented. No significant gaps are apparent.

Maintenance

ActivityActive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    MCP server for pay-per-call DeFi and crypto data via x402 micropayments on Base. 8 endpoints: token prices, TVL, funding rates, token security, gas tracker, whale monitoring, wallet profiling, and yield scanning.
    8
    25
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    MCP server for the402.ai — an open marketplace where AI agents discover and purchase services from third-party providers via x402 micropayments (USDC on Base). Browse the catalog, purchase services, manage conversation threads, and list services as a provider.
    30
    56
    2
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    MCP server bringing 100+ x402-paid APIs to AI agents (Claude, Cursor, MCP-aware clients). Auto-discovers tools from CDP Bazaar; handles USDC micropayments on Base.
    100
    60
    1
    MIT