byte-mcp-server
Fuentes de datos USDC por byte + oráculos para agentes de IA en Arbitrum. 14 herramientas, payloads atestiguados con EIP-712, sin claves API, sin token. Servidor MCP para el catálogo de BYTE Library (18+ editores propios).
Documentación
Servidor MCP PayPerByte
Un servidor de Model Context Protocol que brinda a los agentes de IA acceso directo a PayPerByte — fuentes de datos con atestación criptográfica y procedencia verificable para agentes de IA (el recibo X-BYTE-Attestation prueba la integridad de la entrega — estos son exactamente los bytes que PayPerByte sirvió y atestiguó bajo el dominio de BYTE Library — no que un publicador de datos independiente los haya firmado, ni que los datos sean correctos). Los agentes descubren fuentes, pagan por llamada vía x402 (liquidado en USDC en Base mainnet), o se suscriben a flujos en cadena (testnet de Arbitrum Sepolia). Cada respuesta x402 pagada lleva un recibo EIP-712 PayloadAttestation (encabezado X-BYTE-Attestation) que el agente verifica antes de actuar. Sin tokens, sin claves API, sin cuentas fuera de cadena.
Dos vías — lea esto antes de configurar
PRIVATE_KEY.
- x402 pago por llamada (
byte_buy_data): Base mainnet (eip155:8453), USDC REAL. Las fuentes pagadas liquidan dinero real — cada precio se cotiza en el desafío 402 y se lista por fuente en https://x402.payperbyte.io/feeds.. Ejemplo: el Merchant Screen Oracle devuelve una verificación firmada ALLOW/WARN/BLOCK sobre el dominio de un comerciante y su dirección de pago, respaldada por una atestación EIP-712 firmada sobre los bytes exactos de la respuesta, ejecutada antes de que un agente liquide un pago x402 hacia ella. Autenticidad e integridad de entrega, no una garantía de corrección sobre el veredicto en sí — y sobre el dominio, la dirección y el precio que usted proporciona; no observa ni restringe la dirección a la que finalmente liquida. Use una billetera dedicada que contenga solo lo que planea gastar.- Capa de suscripción/publicación/consulta en cadena (contratos BYTE Library + indexador): testnet de Arbitrum Sepolia (cadena
421614), MockUSDC. La mainnet para esta capa está condicionada a una auditoría de seguridad externa. El dominio de firma de atestación EIP-712 permanece anclado en421614independientemente de la vía por la que haya pagado.Un solo
PRIVATE_KEYsirve ambas vías. Nunca reutilice una clave que tenga fondos que no pueda permitirse gastar.
Inicio rápido
npx -y byte-mcp-server
Conéctelo a su cliente MCP (configuración de Claude Desktop abajo), y su agente podrá:
- Descubrir fuentes: "Lista el catálogo de PayPerByte" / "Busca publicadores de clima"
- Evaluar a una contraparte antes de pagarle (x402, sin configuración): "Evalúa este dominio y dirección de pago antes de que liquide" → USDC real en Base mainnet al precio que cotiza el desafío 402, veredicto firmado ALLOW/WARN/BLOCK del Merchant Screen Oracle con recibo de atestación
- Probar barato primero: "Obtén el clima" / "¿Algún terremoto sobre M4 hoy?" → USDC real al precio listado de cada fuente (https://x402.payperbyte.io/feeds), el mismo recibo de atestación en cada respuesta — una forma de bajo costo de ver verificar-antes-de-actuar en funcionamiento antes de gastar en un veredicto
- Suscribirse a un flujo (testnet): "Suscríbeme a la fuente de terremotos" → aprueba automáticamente MockUSDC para liquidación continua en Arbitrum Sepolia
- Consultar un oráculo de hechos (testnet): publique una pregunta EIP-712 firmada a un publicador de oráculo de hechos registrado para obtener una respuesta firmada en cadena con citas — cuando un publicador de oráculo de hechos esté activo (ninguno transmite hoy; la herramienta agota el tiempo hasta que uno se registre y transmita)
El catálogo en vivo está en x402.payperbyte.io/feeds — fuentes con atestación criptográfica y procedencia verificable en clima, mercados, código, seguridad y conocimiento.
Verificar antes de actuar (ForeSeal)
Vea todo el ciclo de verificar-antes-de-actuar en un solo comando — sin instalación, sin registro, sin billetera:
npx @foreseal/demo
Se ejecuta localmente (sin USDC real) y muestra a un agente ACTUAR sobre bytes genuinos y RECHAZAR cuatro ataques — un byte manipulado, una firma falsificada, un recibo faltante, un dominio de firma bifurcado — en aproximadamente un segundo.
La misma primitiva se distribuye como dos paquetes que puede integrar en su propia pila:
- Kit —
@payperbyte/sdk: el comprador verifica un recibo antes de actuar. - Gate —
@foreseal/gate: un vendedor sella un recibo verificable en cualquier endpoint x402.
Dos paradigmas: suscribirse vs. comprar
| Modo | Herramienta | Vía | Mejor para | Precio |
|---|---|---|---|---|
| Comprar (x402) | byte_buy_data | Base mainnet — USDC real | Necesidades puntuales (una sola instantánea o veredicto para esta consulta de usuario) | Por fuente, cotizado en el desafío 402; lista en vivo con precios: https://x402.payperbyte.io/feeds |
| Suscribirse | byte_subscribe | Arbitrum Sepolia — MockUSDC de testnet | Flujos continuos (cada actualización de clima, cada nuevo terremoto) | Por publicador, establecido en el esquema en cadena del publicador — léalo con byte_get_publisher |
Comprar es cero configuración, pago por uso y en vivo con liquidación real; suscribirse entrega cada transmisión en la capa de testnet auditada. Elija según el patrón de acceso.
Comprar un veredicto (oráculo POST)
Las fuentes de datos GET solo necesitan un feed. Cualquier fuente cuyo method incluya POST (lista en vivo: https://x402.payperbyte.io/feeds) toma la consulta como un body — byte_buy_data cambia la llamada de GET a POST automáticamente. Los oráculos de veredicto — fuentes que devuelven un ALLOW/WARN/BLOCK firmado — son merchant-screen, address-reputation, sanctions-screen, pkg-verdict, reasoning-verdict:
// byte_buy_data tool call — screen a merchant/counterparty before settling
{
"feed": "merchant-screen",
"body": { "domain": "example.com", "address": "0x1234…abcd", "observed_price_atomic": "<atomic price the MERCHANT you are screening quoted you>" }
}
La respuesta pagada devuelve el veredicto firmado y un resultado en línea de verificar-antes-de-actuar sobre el recibo X-BYTE-Attestation:
{
"feed": "merchant-screen",
"paid": true,
"price": "$0.100000", // illustrative — the amount the 402 challenge quoted at buy time
"txHash": "0x…",
"data": { "answer": { "verdict": "ALLOW", "reasons": ["…"] }, "attestation": { "…": "…" } },
"verification": { "gatewayVerified": true, "hashMatch": true, "signerMatch": true,
"reason": "gateway delivery verified — these exact bytes were signed by the pinned gateway attester […receipt deadline note appended]" }
}
Actúe solo cuando verification.gatewayVerified === true — el recibo prueba que la puerta de enlace entregó estos bytes exactos, no que los datos sean correctos. Otros cuerpos POST: address-reputation {domain,address}, sanctions-screen {address|name}, pkg-verdict {ecosystem,package[,version]}, reasoning-verdict {subject}. Omita body por completo para fuentes de datos GET (clima, terremotos, …).
Herramientas (15 en total)
Descubrimiento (solo lectura, sin billetera)
| Herramienta | Descripción |
|---|---|
byte_search_publishers | Buscar publicadores por tema y orden de clasificación |
byte_list_feeds | Listar el catálogo de fuentes activas con precios y frecuencias |
byte_get_publisher | Información en cadena de un publicador (estado, suscriptores, mensajes, ingresos en USDC, esquema) |
byte_get_network_stats | Estadísticas de toda la red: publicadores, mensajes, tarifas totales liquidadas |
byte_check_subscription | ¿Está subscriber suscrito a publisher? |
byte_list_my_subscriptions | Todas las suscripciones activas de una billetera — mensajes de los últimos 7d/30d + gasto en USDC |
byte_subscription_health | Señal de deriva de contenido de un publicador: estable / moderada / significativa / desconocida |
byte_get_token_balances | Saldos de USDC + ETH en Arbitrum Sepolia |
byte_verify_payload | Verificar-antes-de-actuar. Recalcular keccak256 de los bytes que su agente recibió y verificarlos contra el PayloadAttestation EIP-712 en cadena del publicador — anclar con un expectedHash que usted tenga o el txHash de liquidación (que también recupera al firmante y confirma que es el publicador nombrado). Si verified: false, no actúe sobre los datos — o los bytes difieren de lo atestiguado, o la verificación no fue posible (sin atestación encontrada, discrepancia de firmante, o ni expectedHash ni txHash proporcionados). El campo reason indica cuál |
Suscribirse a un flujo (requiere PRIVATE_KEY)
| Herramienta | Descripción |
|---|---|
byte_subscribe | Suscribirse al flujo de un publicador. Agrupa automáticamente approve(max) de USDC a menos que skipAllowance: true (cierra una trampa de pago silencioso fallido donde la ruta de omisión de asignación del contrato entregaba datos con amount=0) |
byte_unsubscribe | Cancelar suscripción — tiene efecto en el siguiente bloque |
byte_register_publisher | Registrarse como publicador de datos (esquema + registro en cadena). v1 es solo de primera parte; participación = 0 |
byte_publish_data | Publicar una carga útil a un suscriptor vía DataStream (liquida tarifa en USDC). Ver aviso de migración arriba respecto a r2 |
Comprar bajo demanda (requiere PRIVATE_KEY)
| Herramienta | Descripción |
|---|---|
byte_buy_data | Comprar un paquete de cualquier fuente vía la puerta de enlace x402 — USDC real en Base mainnet. Sin suscripción, sin asignación. Firma transferWithAuthorization EIP-3009 contra el desafío 402; el facilitador liquida en cadena. Devuelve los datos + hash de tx en línea |
byte_query_fact | Hacer una pregunta a un publicador de oráculo de hechos penalizable. Solicitud EIP-712 firmada (vincula la consulta a su billetera para que consultas filtradas no quemen su depósito en garantía); la respuesta se transmite en cadena a su dirección con citas. Requiere un publicador de oráculo de hechos activo — ninguno transmite hoy, por lo que la llamada agota el tiempo hasta que uno se registre. |
Configuración
Claude Desktop
Edite ~/.config/claude/claude_desktop_config.json (Linux) o ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"payperbyte": {
"command": "npx",
"args": ["-y", "byte-mcp-server"],
"env": {
"PRIVATE_KEY": "0x...",
"RPC_URL": "https://sepolia-rollup.arbitrum.io/rpc"
}
}
}
}
PRIVATE_KEY es opcional — las herramientas de solo lectura funcionan sin él. Agréguelo para habilitar suscribirse, publicar, comprar y consultar.
Claude Code
claude mcp add payperbyte -- npx -y byte-mcp-server
Variables de entorno
| Variable | Requerida | Predeterminado | Descripción |
|---|---|---|---|
PRIVATE_KEY | solo para herramientas de escritura/compra/consulta | — | Clave EOA. Firma USDC real de Base mainnet para byte_buy_data y txs de testnet para suscribirse/publicar/consultar — use una billetera dedicada |
RPC_URL | no | https://sepolia-rollup.arbitrum.io/rpc | RPC de Arbitrum Sepolia (la capa de lectura/suscripción en cadena) |
INDEXER_URL | no | https://feeds.payperbyte.io | API del indexador de PayPerByte |
BYTE_GATEWAY_URL | no | https://x402.payperbyte.io | URL base de la puerta de enlace x402 (usada por byte_buy_data) |
BYTE_GATEWAY_ATTESTER | no | atestador actual de la puerta de enlace (0xB48CCc9e3ab67041e3b5D09700138E45cda6AeA8, rotado 2026-08-19) | La dirección del atestador byte_buy_data fija el recibo de entrega contra ella. Si la puerta de enlace rota antes de que este paquete se actualice, establézcala al nuevo receipt.attester de /.well-known/agent.json — un pin obsoleto cierra con fallo las compras DESPUÉS de que el pago se liquide |
MAX_PAYMENT_USDC | no | — (sin límite) | Límite de gasto del lado del servidor para byte_buy_data, en USDC decimal (p. ej. 0.25). Cuando se establece, cualquier cotización 402 por encima del límite se rechaza antes de firmar; sin establecer significa sin límite — una billetera delgada dedicada sigue siendo el respaldo duro |
Red
Dos vías, declaradas honestamente:
- Vía de pago x402 (
byte_buy_data): Base mainnet (eip155:8453). Las fuentes pagadas liquidan USDC real a través de la puerta de enlace en x402.payperbyte.io; cada 200 pagado devuelve un recibo EIP-712X-BYTE-Attestationsobre los bytes exactos de la respuesta. - Capa en cadena (suscripciones, transmisiones, depósito en garantía del oráculo de hechos, indexador): Arbitrum Sepolia (cadena
421614). La mainnet para los contratos de BYTE Library está condicionada a una auditoría de seguridad externa. El dominio de firma EIP-712PayloadAttestationestá anclado en421614independientemente de la vía de pago.
Las direcciones de los contratos están fijadas en la configuración incluida; la versión npm incluye valores predeterminados listos para usar. Sin token.
Desarrollo
git clone https://github.com/0rkz/byte-mcp-server.git
cd byte-mcp-server
npm install
npm run build && npm start
Licencia
MIT — ver LICENSE.
Kit de inicio
Kit opcional de pago ($39): el kit de agente del lado comprador — un agente que compra y verifica fuentes, con configuración lista para usar de Claude Desktop / Claude Code / Cursor y una llamada gratuita de preparación de 30 minutos incluida. Los paquetes npm son y seguirán siendo MIT gratuitos — el kit vende la configuración ensamblada.
Enlaces
- payperbyte.io — inicio de PayPerByte
- x402.payperbyte.io/feeds — catálogo de fuentes en vivo
- Model Context Protocol — especificación MCP
- MCP TypeScript SDK
- gold-402 — directorio curado de servicios x402 en vivo (PayPerByte está listado)