Agent Press Wire
Permite que los agentes de IA anuncien lanzamientos de productos y distribuyan comunicados de prensa a más de 500 sitios de noticias, con pago por llamada en USDC a través de x402. Sin cuenta ni clave API. Solo cotización por defecto, con límites de gasto por llamada y de por vida.
Documentación
Servidor MCP de Agent Press Wire
Un servidor MCP que permite a los agentes de IA (Claude Desktop, Claude Code, Cursor, cualquier cliente MCP) anunciar lanzamientos de productos y distribuir comunicados de prensa a través de Agent Press Wire. Cada llamada se paga en USDC en Base mediante x402, desde tu propia billetera. Sin cuenta, sin clave API.
Herramientas
| Herramienta | Precio | Qué hace |
|---|---|---|
announce_launch_newsroom | $1 USDC | Redacta un comunicado de prensa de 350-450 palabras en estilo AP a partir de la URL de tu producto y lo publica en una página pública de sala de prensa indexada por buscadores. Aproximadamente 20 segundos. |
distribute_press_release | tier: "wire" $99 USDC, tier: "premium" $299 USDC | Redacta un comunicado de 450-600 palabras y lo distribuye a través de un servicio de cable a más de 500 sitios de noticias, además de más de 100 sitios de redes de TV y radio. La versión Premium añade AP News, USA Today, Barchart y StreetInsider. Requiere city, country, contact_email. Devuelve un order_id. |
get_release_status | Gratis | Estado y enlaces de cobertura en vivo para un pedido de cable. |
El servicio solo cobra cuando el trabajo tiene éxito. Los borradores fallidos, los temas rechazados y las rechazos de cable no se cobran.
Seguridad: modo de cotización por defecto
Las herramientas de pago cobran USDC real. Configuraciones que controlan el gasto:
X402_PRIVATE_KEY: clave privada de tu propia billetera Base que tenga USDC. Sin ella, el servidor solo cotiza.MAX_SPEND_USD: el máximo que el servidor puede pagar por una sola llamada. Por defecto0, lo que significa solo cotización: cada herramienta de pago devuelve los términos de precio x402 y nunca paga.MAX_TOTAL_SPEND_USD: límite de por vida en todas las llamadas y reinicios. Por defectoMAX_SPEND_USD, por lo que de fábrica obtienes como máximo una llamada de pago hasta que lo aumentes. El gasto se registra en un libro mayor en~/.agent-press-wire/spend.json(anula el directorio conAGENT_PRESS_WIRE_HOME). Cada autorización de pago firmada se cuenta, sea cual sea el resultado HTTP, porque el servidor podría liquidarla hasta que expire. Si una llamada falló y tu billetera no muestra ninguna transferencia para su nonce después devalid_before, puedes eliminar esa entrada del libro mayor.
Pagar requiere dos llamadas. La primera llamada (sin confirm_token, o con quote_only: true) devuelve el precio y un confirm_token. El agente muestra al usuario el precio exacto, y después de que el usuario lo apruebe, llama de nuevo con los mismos parámetros y ese confirm_token. Los tokens son de un solo uso, expiran después de 10 minutos y están vinculados al endpoint, un hash de los parámetros de la solicitud y el precio.
Un pago solo ocurre cuando se cumplen todas estas condiciones:
- la clave está configurada, el precio es igual o inferior a
MAX_SPEND_USD, y el total de por vida se mantiene igual o inferior aMAX_TOTAL_SPEND_USD; - se pasó un
confirm_tokenválido yquote_onlyno es verdadero; - los términos x402 del servidor coinciden con los valores fijados en este paquete: pagar a
0xF7887C1fAf0DbAedc80C78F9D396D594B69eba95, exactamente $1 por/v1/press-release, $99 por/v1/wire-release, $299 por/v1/wire-release/premium, USDC en Base mainnet, esquemaexactcon una autorización de transferencia EIP-3009, ymaxTimeoutSecondsde 600 o menos. Cualquier discrepancia es rechazada, por lo que un servidor comprometido o unPRESS_API_URLincorrecto no puede redirigir fondos ni aumentar el precio.
El límite por llamada se aplica dos veces: por este servidor antes de firmar, y por los controles de gasto del propio cliente x402.
Si una llamada de pago falla después de que se firmó la autorización, el resultado indica que el pago no se liquidó según el servidor e incluye la autorización nonce, valid_before y la dirección del pagador. Revisa tu billetera antes de reintentar.
Ejemplos: MAX_SPEND_USD=1 MAX_TOTAL_SPEND_USD=5 permite hasta cinco comunicados de sala de prensa de $1 y solo cotiza los niveles de cable. MAX_SPEND_USD=99 MAX_TOTAL_SPEND_USD=99 permite un comunicado de cable estándar. Usa una billetera dedicada financiada solo con lo que pretendes gastar.
Instalación
Requiere Node 20+.
Claude Code
claude mcp add agent-press-wire \
-e X402_PRIVATE_KEY=0xYOUR_KEY -e MAX_SPEND_USD=1 -e MAX_TOTAL_SPEND_USD=5 \
-- npx -y agent-press-wire-mcp
Solo cotización (sin billetera): claude mcp add agent-press-wire -- npx -y agent-press-wire-mcp
Claude Desktop
Edita claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json, Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"agent-press-wire": {
"command": "npx",
"args": ["-y", "agent-press-wire-mcp"],
"env": {
"X402_PRIVATE_KEY": "0xYOUR_KEY",
"MAX_SPEND_USD": "1",
"MAX_TOTAL_SPEND_USD": "5"
}
}
}
}
Cursor
Añade a ~/.cursor/mcp.json (global) o .cursor/mcp.json (proyecto):
{
"mcpServers": {
"agent-press-wire": {
"command": "npx",
"args": ["-y", "agent-press-wire-mcp"],
"env": {
"X402_PRIVATE_KEY": "0xYOUR_KEY",
"MAX_SPEND_USD": "1",
"MAX_TOTAL_SPEND_USD": "5"
}
}
}
}
Otros clientes: ejecuta npx -y agent-press-wire-mcp como servidor stdio con las mismas variables de entorno.
Ejemplos de indicaciones
- "Anuncia mi lanzamiento: https://example.com, acabamos de lanzar la v2 con modo sin conexión."
- "Redacta y distribuye un comunicado de prensa para https://example.com. Estamos en Austin, Estados Unidos, press@example.com."
- "¿Cuánto costaría obtener cobertura de prensa para mi producto?" (el agente llama con
quote_only: true) - Después de que el usuario apruebe un precio cotizado, el agente repite la llamada con el
confirm_tokendevuelto. - "Consulta el estado del comunicado de prensa w_3f9d0a1b2c."
Respuesta de cotización
{
"mode": "quote",
"paid": false,
"reason": "no confirm_token: this was a quote",
"quote": { "price_usd": 99, "asset": "USDC", "network": "Base mainnet (eip155:8453)", "pay_to": "0xF7887C1fAf0DbAedc80C78F9D396D594B69eba95" },
"spend": { "spent_total_usd": 0, "max_total_spend_usd": 99, "max_spend_usd": 99 },
"confirm_token": "ct1.1791069332201.6cba...d563",
"confirm_token_expires_in_seconds": 600
}
Desarrollo
npm install
npm run build
npm test # offline guard-rail tests against a localhost mock x402 server; never pays
npm run test:quote # quote-mode smoke test against production; never pays
npx @modelcontextprotocol/inspector node dist/index.js
PRESS_API_URL anula la URL base de la API para pruebas.
Licencia
MIT