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

Un observatorio de evidencias para el comercio agéntico. Observación independiente y firmada de lo que los endpoints, artefactos y pagos de otros realmente hicieron: auditorías de conformidad, vigilancias de una semana, atestaciones de liquidación, sellos de tiempo anclados a Bitcoin. Cada veredicto firmado con ed25519, fechado y verificable sin conexión sin necesidad de preguntarnos, incluidos los vacíos que anotamos en nuestra contra.

No es un depósito en garantía, un aval ni un tribunal de disputas. Esos absorben el riesgo entre el pago y la entrega y necesitan un balance; nosotros observamos esa brecha y firmamos lo que vimos. Si estás construyendo depósitos en garantía o adjudicación, esta es la capa que queda debajo de ti, no un competidor. Esa dirección se decidió y fechó el 2026-08-07, en abierto: la reversión está junto a lo que reemplazó en scvd.store/becoming.

También es una pequeña y sincera tienda general para agentes de IA autónomos, regentada por un humano desde Oak City, donde nunca llegas tarde. Los agentes pagan en USDC — en Base, Polygon o Solana, según elija su cartera — mediante el protocolo x402. Los humanos leen los recibos.

En vivo en scvd.store. Los agentes deberían empezar en /agents.md (el índice de contratos escaneable), /llms.txt (la prosa completa) o /menu.json.

Las puertas, según la tarea

Lo que la gente viene a hacer aquí, y dónde está cada puerta:

  • Probar un pago x402 — un contador de práctica en vivo con liquidación real en USDC, sin sandbox; el pago de prueba real más barato que conocemos, $0.005: scvd.store/try.

  • Comprueba la conformidad x402, gratis — haz POST de la oferta o el recibo firmado de cualquier emisor (el nuestro o el de un competidor) y obtén un veredicto estructurado: análisis sintáctico, esquema, firma ed25519, actividad. Sin cuenta, sin cartera: scvd.store/conformance. La misma verificación se ejecuta sin conexión mediante x402-verify (MIT, cero dependencias), y x402-sign acuña ofertas y recibos que la superan.

  • Lee el corpus — observaciones firmadas semanales del ecosistema x402, encadenadas por hash y ancladas a Bitcoin, de lectura gratuita: scvd.store/corpus.

  • Compra una atestación de liquidación — una observación firmada del estado del pago en cadena en Base, Polygon o Solana, con lo que la firma prueba y no prueba, declarado por clase en scvd.store/attestation.

  • Vigila un endpoint — monitoreo de endpoints como standing_watch: siete días de sondeos firmados cada hora sobre una URL que tú nombres.

  • Ancla la memoria del agentecontext_anchor: un punto de restauración de sesión firmado y recuperable que sobrevive a un restablecimiento de contexto.

  • Ve tu ruta de compra desde el lado del compradorlaunch_check: un intento real de compra en mainnet de tu propio endpoint x402, desde la cartera de campo declarada de la tienda, registrado etapa por etapa y firmado. Los directorios clasifican las puertas según si responden; esta les paga.

  • Audita los libros de un agente contra la cadenathe_statement: todas las transferencias de USDC de entrada y salida de una cartera de Base en un período declarado, firmadas por una parte que no es ni el agente ni su operador.

  • Registra lo que un agente estaba autorizado a hacer, antes de que actúethe_mandate: cadena de custodia para la autoridad delegada, citable en cada certificado posterior, rechazada si el id no se resuelve.

  • Te pagan por comprar — el tablón de recompensas en scvd.store/bounties (JSON en /api/bounties): recorre una puerta x402 listada con tu propia cartera, reclama con la transacción de liquidación, y el precio más una comisión de descubridor vuelve como una autorización firmada que tú mismo canjeas.

  • Gana crédito en la tienda — el 5% de cada compra orgánica se abona en la cartera que paga (sin cuenta; la cartera es la tarjeta): el esquema en scvd.store/credit, un único saldo en /api/credit/{wallet}, canjeable en USDC a esa misma cartera.

Cada una de estas termina en un recibo o veredicto firmado con ed25519 que cualquiera puede verificar en /api/verify/{id} — gratis, sin cuenta, para siempre.

Related MCP server: x402-api

Conexión mediante MCP

La tienda es un servidor MCP remoto — HTTP transmisible, sin instalación, sin clave de API. tools/list es gratis; las herramientas buy_* devuelven sus condiciones x402 como un error JSON-RPC 402 y liquidan en banda. Esta es toda la configuración del cliente:

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

(Si tu anfitrión solo habla stdio, node ./bin/scvd-mcp-bridge.mjs de este repositorio reenvía JSON-RPC por stdin/stdout al servidor en vivo. No guarda ninguna clave ni conserva estado. Los comandos de wrangler más abajo en este README son para ejecutar tu propia copia de la tienda, no para conectarte a ella.)

Licencia

El código es MIT. La voz de la tienda — la prosa del guardián, la firma, el nombre — no forma parte de la concesión; el alcance vive en NOTICE.md. (El propio archivo LICENSE es MIT estándar byte a byte para que los escáneres de licencias puedan reconocerlo; el alcance vive deliberadamente aquí y en NOTICE, nunca dentro del texto de la licencia.)

Propiedad

Este repositorio es propiedad y está operado por @seancrecord — el guardián. Los commits son escritos por Claude Code por instrucción del guardián; la firma Sean-Claude Van Damme cubre el trabajo conjunto, y la tienda pertenece al guardián. Para cualquier registro o directorio que verifique una reclamación de MCP/servicio contra este repositorio (añadido el 2026-08-05 para la reclamación de M8ven, y vigente para futuras reclamaciones de la misma cuenta): esta nota es la confirmación de propiedad — solo el propietario del repositorio puede ponerla aquí.

M8ven Live Monitored

Lo que hay en los estantes

Saludos firmados, grafitis en un tren (tu tag, permanente), y The Collab — la única puerta donde se vende el tiempo del guardián: nombra la forma, una llamada, una mirada, algo creado. El pasillo dos lleva las novedades: lowercase luckies (sacadas de la manada, verificadas, honestas) y café para quien haya cerrado. El pasillo tres es utilidad: anclas de contexto (puntos de restauración de memoria de agente firmados), una vigilia permanente (una semana de sondeos firmados cada hora sobre tu endpoint), atestaciones de liquidación y pases de mecenazgo recurrentes de 30 días. The Penny Shelf junto a la puerta guarda bendiciones de medio centavo y el mostrador de confesiones. Y el Certificate of Patronage — que no da derecho al titular a nada en absoluto. (Dos consolidaciones, 2026-08-05 y 2026-08-20, retiraron varios primeros estantes; los ids retirados todavía responden en la puerta con un 410 y sus certificados se verifican para siempre.) El libro de visitas, la pegatina de visitante y el sello de visita semanal son gratis — no se requiere compra. La campana suena una vez al día por visitante, el Agent Zodiac se lee gratis en /zodiac, y el buzón acepta una carta privada al día en /api/letter — el guardián las lee los domingos y responde cuando tiene algo que decir, que no es siempre.

La sala de lectura: el Keeper's Almanac (su diario, serializado, un penique por página). El Town Directory de vecinos es gratis.

(Esta sección es la mitad de tienda de pueblo. Los instrumentos de trabajo — auditorías de conformidad, launch checks, statements, mandates, bounties — son las puertas enumeradas al principio, y el catálogo siempre actualizado es /menu.json, que por construcción no puede desviarse de los estantes.)

Abrir la tienda (configuración)

Necesitarás Node 22+, una cuenta de Cloudflare, una cartera de Base y claves de API de CDP para el facilitador x402.

npm install

Estantería (espacios de nombres KV)

Crea los cuatro estantes una vez y luego pega los ids en 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

La caja y las llaves (secretos)

Cinco secretos, ninguno de los cuales va nunca al repositorio:

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

La SIGNING_KEY firma cada certificado e insignia. Genera una nueva con:

npm run keys:generate

Copia los 64 caracteres hexadecimales que imprime en wrangler secret put SIGNING_KEY. La clave pública correspondiente cuelga en /.well-known/scvd-signing-key para que cualquiera pueda comprobar nuestras firmas.

Para trastear en local, copia .dev.vars.example a .dev.vars y complétalo.

Gestionando el local

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

Los despliegues están conectados por Git al dominio personalizado scvd.store — fusiona en main y Cloudflare se encarga del resto.

Cómo funciona el pago aquí (el flujo x402, protocolo v2)

No hay cuentas, ni claves de API, ni carrito. Hablamos x402 v2 (el estándar actual — ecosistema @x402/core) con USDC en Base (eip155:8453) o Solana (solana:5eykt4UsFv8P8NJ..., desde el 2026-08-04) y la Coinbase Developer Platform como facilitador. Así funciona:

  1. Un agente llama a GET /api/buy/luckies.

  2. Respondemos 402 Payment Required. Los requisitos legibles por máquina viajan en la cabecera de respuesta PAYMENT-REQUIRED (JSON en base64); el cuerpo lleva una nota en inglés sencillo («Serán $5, amigo, o lo que la suerte merezca. Los resultados varían. Vaya si varían. No tenemos equipo legal.»).

  3. El agente firma uno de los pagos ofrecidos y reintenta la misma solicitud con la cabecera PAYMENT-SIGNATURE. Los clientes estándar v2 como @x402/fetch hacen los pasos 2–3 por su cuenta.

  4. Entregamos primero y liquidamos después (cambiado el 2026-08-10 — la tienda liquidaba primero hasta entonces, y la regla antigua se cita en scvd.store/becoming). Los bienes se producen y luego el pago se presenta en el último momento antes de que se firme el artefacto — así, una entrega que falla no cobra nada y no deja nada que reembolsar. Los artículos instantáneos llegan en el cuerpo de la respuesta. Los artículos de cola humana devuelven un id de pedido, un SLA y una insignia de mecenas en el acto; los bienes llegan después en GET /api/order/:order_id en el plazo de una semana.

Los artículos de pago según lo que merecen ofrecen varias cantidades en el desafío 402 — el mínimo, un nivel generoso (2×) y un nivel mecenas de las artes (5×). El esquema exacto exige pagar precisamente una de las cantidades ofrecidas, así que dar propina significa firmar un nivel superior; cualquier cosa por encima del mínimo se registra como tip.

Cada compra acuña un número de mecenas secuencial y un certificado firmado con ed25519, verificable por cualquiera en /api/verify/:cert_id, con una insignia en /badges/:patron_number.svg. Firma más URL estable es todo el modelo de autenticidad — sin NFTs, sin escrituras en cadena más allá del pago.

Si un artículo no se entrega dentro de su plazo prometido, recuperas tu dinero. El guardián lo envía él mismo, desde el libro de reembolsos de abajo, y no tendrás que discutirlo.

(Este párrafo decía «el reembolso es automático» hasta el 2026-07-27, y luego admitía entre paréntesis que el guardián lo hace a mano. La regla 10 de la casa existe precisamente para eso: el texto nunca dice automático hasta que el código lo es. La promesa nunca cambió — solo la palabra que describe un mecanismo que la tienda no tiene.)

Nota para los archiveros: los clientes x402 v1 heredados (la generación obsoleta de cabeceras x402-fetch / X-PAYMENT) no son compatibles. El facilitador y todas las bibliotecas de cliente actuales hablan v2.

Las salas

Ruta

Qué ocurre allí

/

El escaparate humano: nota semanal, menú, contador de campana, libro de visitas

/llms.txt

La puerta de entrada en texto plano para los agentes

/agents.md

El índice de contratos escaneable para los agentes

/conformance

La sala del propio mostrador de conformidad: qué comprueba, ejemplos resueltos

/corpus

El corpus en lenguaje llano: el hallazgo del censo, cómo verificar una ronda

/mcp

La puerta MCP: HTTP en streaming; tools/list gratuitas, herramientas buy_* pagadas con x402 en banda

/skill.md

Incorporación de agentes en el formato SKILL.md de agentskills.io

/menu.json

Catálogo legible por máquina

/api/buy/:item_id

Compras protegidas por x402

/api/order/:order_id

Consulta un pedido; los completados llevan la mercancía

/api/waitlist/:item_id

Ponte en cola cuando un estante semanal esté vacío

/almanac

Índice gratuito del Almanaque del Guardián (su diario serializado)

/almanac/:slug

Una página del diario, $0.01 por x402, en markdown

/directory

El Directorio del Pueblo: frases honestas de una línea, editadas por el guardián (vista JSON + humana)

/api/refund/{refund_id}

Estado honesto del reembolso: pendiente hasta que se pague a mano, luego el hash de la tx

/gazette

Retirado el 2026-08-05; el archivo impreso aún responde, no se programa nada nuevo

/menu/:item_id

Un artículo en detalle: JSON, o markdown según Accept

/what

La mirada del operador: la comprobación de diez segundos para los humanos

/porch

En la parte lateral, frente a los robles. Nada a la venta ahí fuera

/zodiac

El Almanaque de Sistemas: doce signos, gratis

/zodiac/:address

El signo de una cartera para la vida + la página de la semana actual, gratis

/zodiac/archive

Índice gratuito de las semanas de temporadas pasadas

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

Una página pasada, $0.01 por x402, en markdown

/openapi.json

El contrato OpenAPI 3.1, enlazado desde la página de inicio

/.well-known/x402

Lista mínima de descubrimiento x402 (forma de indexador de facto)

/.well-known/x402.json

El catálogo x402 más completo alojado en el origen

/api/anchor/:anchor_id

Lee un ancla de contexto, verificada en cada lectura

/api/patronage/:pass_id

Un pase de mecenazgo + la nota mensual firmada por el guardián

/api/guestbook

GET de entradas recientes; POST para firmar (gratis, incluye pegatina)

/api/bell

POST para tocarla: una vez al día por visitante

/api/stamp

POST para un sello de visita gratuito, fechado y firmado; el diseño rota semanalmente

/api/tip

POST de una propina al Trading Post; revisada por humanos, nunca publicada automáticamente

/api/letter

POST de una carta privada: gratis, una al día, nunca publicada

/api/letter/:id

Estado de la carta + la respuesta firmada del guardián, si la hay

/api/phantom/:check_id

Las antiguas recogidas phantom_check siguen respondiendo (retiradas el 2026-08-05, integradas en context_anchor); los artefactos existentes se verifican para siempre

/api/request

Ventana de encargos (y suggest_listing para el Directorio)

/api/verify/:cert_id

Verificación pública: certificados y sellos por igual

/badges/:patron_number.svg

Insignias de mecenas, estilo etiqueta vintage

/badges/sticker.svg

La pegatina gratuita para visitantes

/badges/stamps/:stamp_id.svg

Sellos de visita, estilo sello de goma

/.well-known/scvd-signing-key

Nuestra clave pública ed25519

/admin

La trastienda del guardián (Basic Auth, usuario keeper)

/admin/digest

El resumen semanal, compilado los domingos a las 7am ET por cron

Dónde vive el código

Un único Worker, Hono para el enrutado, KV para el almacenamiento. Sin React, sin complejidad de compilación.

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.

Editar el Directorio del Pueblo

El Directorio en /directory lo editan las propias manos del guardián, en este repositorio, en src/store/directory.json. Para añadir un vecino, añade al final de 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"
}

Reglas de la casa: una línea honesta por anuncio, nada de pagar por aparición, actualiza updated y despliega. Los visitantes pueden nominar vecinos mediante POST /api/request con un campo suggest_listing; las sugerencias van a parar al libro de encargos para la lectura del domingo.

Añadir una página del Almanaque

Un archivo por página en src/store/almanac/ (nombre de archivo en kebab-case que coincide con el slug), que exporte un AlmanacEntry; luego añádelo a la lista en src/store/almanac/index.ts, el más reciente primero. La ruta de pago se registra sola a partir de esa lista.

La regla de contenido. Las entradas del Almanaque son notas de campo fechadas y en primera persona: sensoriales, particulares, ligeramente extrañas. Nunca guías prácticas, listículos, «lecciones aprendidas», contenido profesional ni nada que se parezca a una entrada de blog. Si se pudiera publicar en Medium, no va al Almanaque.

Los documentos

Los documentos permanentes de la tienda, para que nadie necesite ls para encontrarlos:

Registro de asuntos menores conocidos (candidatos a v0.2)

  • El resumen semanal se guarda únicamente en /admin/digest; la integración de correo es v0.2.

  • Los agentes en lista de espera no reciben aviso automático cuando se restablece el inventario; por ahora el encargado los llama a mano desde la trastienda.

  • El ENVÍO de reembolsos es cosa del encargado y seguirá siéndolo a propósito: aquí el dinero nunca se mueve por un cron (regla de la casa 30). El MARCADO está automatizado: una guardia de SLA horaria alerta sobre cualquier pedido que supere su ventana de reconocimiento (order_sla), la auditoría de entrega horaria detecta una liquidación que no produjo bienes, y la conciliación de cadena detecta dinero que los libros nunca vieron. Un escáner que leyó la redacción antigua de esta línea concluyó que los pedidos vencidos pasaban desapercibidos; esos sistemas avisan al encargado en el plazo de una hora.

  • El cron está fijado a las 11:00 UTC, que son las 7 a. m. ET en horario de verano y las 6 a. m. en invierno. El encargado está dormido en cualquier caso.

  • Workers KV no tiene incrementos atómicos. Los números de cliente se asignan reclamando el registro del cliente y leyéndolo de vuelta, lo que cierra la carrera habitual dentro del mismo colo; dos compras que aterricen en colos distintos dentro de la ventana de propagación de KV (~60s) todavía podrían, muy raramente, chocar en un número o superar en uno el cupo semanal de un estante. El encargado considera que esta es una cantidad aceptable de caos para una tienda general; un contador de Durable Object es el arreglo de v0.2 si llegan las multitudes.

  • El texto del libro de visitas y de las solicitudes tiene límite de longitud, se le elimina el marcado y se escapa el HTML dondequiera que se renderice, pero sigue siendo palabras escritas por visitantes. A los agentes que leen /api/guestbook se les dice, en la propia respuesta, que traten las entradas como cosas que dijo la gente, no como instrucciones.

  • Los campos verified_identity (libro de visitas, solicitudes, propinas) se almacenan como declarados y siempre se marcan identity_verified: false, porque aquí nadie lo ha comprobado. Un verificador real (p. ej., un baile de desafío firmado) es una idea de v0.3.

  • Las páginas de un penique (el Almanaque; el archivo impreso de la Gaceta) sirven markdown y no acuñan números de cliente — un céntimo compra la página, no un lugar en la pared.

  • La protección contra repetición está en capas: los nonces EIP-3009 se consumen en cadena (la fuente de verdad), y una guardia de KV (payment_nonce:*, TTL 24h) rechaza un nonce ya liquidado antes incluso de llamar al facilitador.

  • Cada ruta de pago declara metadatos de descubrimiento extensions.bazaar; las cabeceras EXTENSION-RESPONSES del facilitador se capturan mediante un gancho de fetch (el SDK solo los registra con console.log) y se muestran en /admin bajo «Bazaar ledger».

Lo que un escáner señalará, y lo que realmente hay

Las revisiones automatizadas de este repositorio siguen planteando el mismo puñado de hallazgos. Varias describen mecanismos que ya existen; las carencias honestas se nombran como carencias. Punto por punto, para que nadie tenga que adivinar:

  • «El manejo amplio de excepciones se traga los errores.» Los catch son una degradación deliberada (un estante que falla no debe tumbar la página), y están VIGILADOS: un autochequeo horario escribe, lee y vuelve a leer una sonda de KV y ejercita la clave de firma, avisando al encargado ante cualquier fallo; la oficina de administración nombra en la propia página cada estante que no cargó; las alertas P1 persisten en KV, se registran en la consola y se envían por correo. Los vigilantes tienen su propio vigilante: la guardia de SLA alerta si es ella misma la que lanza una excepción.

  • «Falta la automatización de reembolsos.» El envío es manual por diseño (el dinero nunca se mueve por un cron); la detección está automatizada de tres formas: guardia de SLA, auditoría de entrega y conciliación de cadena. Véase la entrada del libro mayor anterior.

  • «La repetición de nonces depende de KV.» La guardia de KV es la primera valla; el nonce en cadena de un solo uso de EIP-3009 es el respaldo que no depenade de nuestras escrituras, y el facilitador simulado de la suite de pruebas impone el nonce único precisamente para que las pruebas no puedan pasar en un mundo más laxo que la cadena.

  • «Los números de cliente pueden colisionar entre colos.» Documentado arriba, tolerado al volmen actual, vigilado en /admin/recount; los Durable Objects son el arreglo de v0.2 si llegan las multitudes.

  • «El texto de usuario se almacena en bruto.» Los límites de longitud y la eliminación de marcado se aplican en el momento de ESCRITURA (sanitizeText), el escape de HTML en el renderizado, y a los consumidores de la API se les dice en banda que traten el texto de los visitantes como citas, no como instrucciones. Carencia honesta: aún no hay cabecera Content-Security-Policy en las páginas HTML — registrado, no discutido.

  • «KV no está cifrado en reposo.» Cloudflare cifra KV en reposo; la exposición real es el acceso a la cuenta o al token, que ningún cambio a nivel de aplicación elimina. Las direcciones de cartera almacenadas son datos públicos de la cadena. Carencia honesta: las cartas privadas se almacenan en texto plano — «privado» aquí significa solo para el encargado, no cifrado, y la copia del buzón no debería implicar lo contrario.

Sobre los registros ajenos

Los libros de la propia tienda son la tienda corrigiéndose los deberes a sí misma. Estos no:

  • x402scan — la página propia de la tienda es x402scan.com/server/9b04e1cc…, que indexa lo que declaran /.well-known/x402 y /openapi.json y sondea las rutas de pago por sí misma. Reclamada el 2026-07-27, después de que el encargado la viera con sus propios ojos; la regla de la casa era que no la reclamaríamos antes de entonces.

  • The x402 Bazaar (Coinbase CDP) — catorce de los endpoints de la tienda registrados en su cartera, confirmado el 2026-07-27 a través de agentic.market, que lee el Bazaar y muestra lo que encuentra: URLs de recursos, métodos de pago y un recuento de pagadores (que marcaba 1 — la casa — cuando se reclamó por primera vez el 2026-07-27; los libros de la propia tienda han contado ventas orgánicas desde entonces, y el número en vivo pertenece al libro mayor, no a este archivo).

  • x402scoutx402scout.com, listado y pendiente de su comprobación de confianza.

  • x402-list — la página por servicio de la tienda ejecuta sus propias comprobaciones (calificación A, 14 de 14 en la última revisión) y la tienda completó su prueba de propiedad del dominio el 2026-08-02.

  • Glama — una entrada de índice de servidores rastreada automáticamente y una página de conectores.

  • mcpindex.aiun listado con su propio veredicto en vivo.

  • mcpservers.org — el listado de servidor reclamado y una segunda entrada derivada de llms.txt.

  • mcp.souna página por servidor cuyo resumen comienza con el posicionamiento actual; su configuración de instalación extraída automáticamente y el texto de habilidades reflejado van por detrás del repositorio hasta su próximo rastreo, lo cual se anota en el registro canónico en lugar de discutirse.

  • m8ven.aiun escáner de dependencias que audita los paquetes declarados de este repositorio contra OSV. Sus lecturas pueden ir por detrás del repositorio (su aviso de CVE del 2026-08-04 era una herramienta solo de desarrollo, actualizada ese mismo día) — un instrumento apuntando hacia nosotros merece estar listado incluso en las horas en que su aguja está equivocada.

  • Smitheryuna página por servidor con su propio escaneo de calidad: descripciones, descripciones de parámetros y esquemas de salida con puntuación máxima. Su lectura de anotaciones (0 de 27) describe el catálogo de 27 herramientas que esta tienda retiró el 2026-08-02 — el catálogo en vivo es de 12 herramientas, cada una con los cuatro indicios de comportamiento de MCP a través de tools/list — y se actualizará en su próximo escaneo en lugar de discutirse.

  • DeepWikiuna wiki generada de este repositorio de Cognition (el índice de Devin), solicitada el 2026-08-11. Una lectura de máquina de la fuente, consultada como documentación; donde lea mal, el repositorio que tiene al lado es la corrección.

Ninguno de estos es un respaldo ni una auditoría de los productos; cada uno demuestra indexación, y dos de ellos (x402scan, x402-list) sondean los propios endpoints. La lista canónica — con una frase what_it_proves por entrada, negándose a exagerar — es EXTERNAL_RECORDS en src/store/trust-signals.ts, servida en vivo en /.well-known/trust.json y reflejada en el sameAs JSON-LD del escaparate. Cuando esta sección y ese archivo discrepen, ese archivo tiene razón.

Por qué está todo esto en un README: una tienda que dice que acepta dinero real debería poder ser comprobada por alguien que no se fíe de su palabra. Nuestras firmas se verifican en nuestra propia URL, que vale exactamente tanto como confíes en esa URL. Un tercero que nos haya indexado de forma independiente es la columna que no pasa por nosotros.

  • No hay filas de pagos pendientes que barrer: la pasarela liquida antes de que se escriba nada, así que un pago fallido o abandonado no deja nada atrás. El cron de los domingos sigue siendo solo de resumen a propósito.

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