InvokeWorks

Herramientas MCP de pago para agentes de IA, incluyendo auditorías de DNS, TLS, HTTP y de sitios completos medidas por LiveAuth

Documentación

InvokeWorks

Dale a tu agente de IA herramientas de pago útiles.

InvokeWorks es un servidor MCP de código abierto para herramientas de agente de pago útiles. Su herramienta insignia, site_audit, combina comprobaciones de DNS, TLS, HTTP, redirecciones y cabeceras de seguridad en un único resultado estructurado por 5 sats por llamada.

Un agente puede ejecutar una comprobación completa de un sitio externo sin crear una cuenta ni suscribirse a una API. El flujo de sesión de prueba de trabajo no requiere un paso de pago humano. LiveAuth gestiona la autenticación y la medición de MCP; InvokeWorks devuelve el resultado y los metadatos de facturación, incluido el recibo. Los presupuestos de sesión y la caducidad siguen aplicándose.

Herramientas

HerramientaPropósitoPrecio
site_auditAuditoría combinada de DNS, TLS, HTTP y cabeceras de seguridad5 sats
dns_lookupConsultas A, AAAA, CNAME, MX, TXT, NS y SOA1 sat
http_inspectEstado HTTP, redirecciones, cabeceras, tamaño, tiempo y cabeceras de seguridad2 sats
tls_inspectProtocolo TLS, cifrado, certificado, SANs, validez y cadena2 sats

Auditoría de sitio

Ejecuta una auditoría combinada de DNS, TLS, HTTP y cabeceras de seguridad de un sitio web público. LiveAuth mide site_audit a 5 sats/llamada a través de la pasarela existente.

Ejemplo de entrada (los nombres de host sin esquema usan HTTPS por defecto):

{ "target": "https://example.com" }

Ejemplo abreviado de salida (ilustrativo; los resultados reales varían):

{
  "hostname": "example.com",
  "score": 95,
  "issues": [
    {
      "severity": "warning",
      "code": "missing_csp",
      "message": "content-security-policy is absent; consider this recommended protection where appropriate."
    }
  ]
}

La respuesta completa también incluye secciones de DNS, TLS, HTTP y cabeceras de seguridad. Consulta Auditoría de sitio para conocer la cobertura y los ejemplos.

La puntuación es informativa, no es una certificación de seguridad formal: comienza en 100, resta 25 por cada hallazgo crítico y 5 por cada advertencia, no resta nada por hallazgos informativos, y se limita a 0–100. La presencia de cabeceras no establece la corrección de la política; las recomendaciones dependen del propósito del endpoint. CSP frame-ancestors satisface la comprobación de protección de marcos sin X-Frame-Options. HSTS se evalúa solo en una respuesta HTTPS final.

DNS devuelve registros A, AAAA, CNAME, MX y NS. Los registros ausentes son arrays vacíos; otros fallos de consulta aparecen en failedRecordTypes. TLS describe el destino original (en el puerto de la URL HTTPS, o el puerto 443 para entradas HTTP), mientras que HTTP describe la respuesta final y la cadena de redirecciones. La verificación TLS permanece habilitada: los certificados caducados o no coincidentes producen hallazgos sin devolver detalles de certificados no verificados. Las secciones TLS/HTTP fallidas son null; las cabeceras de seguridad son null cuando HTTP no está disponible. Un destino inicial no público o no resoluble hace fallar la llamada. Los fallos después del cobro siguen siendo facturables con metadatos saneados y recibos. No se devuelven cuerpos de respuesta.

Códigos de problema estables: dns_lookup_failed, tls_failed, tls_certificate_expired, tls_certificate_expiring (30 días o menos), tls_hostname_mismatch, tls_obsolete_protocol, http_failed, http_not_https, http_insecure_hop, http_error_status, missing_hsts, missing_csp, missing_x_content_type_options, missing_frame_protection, missing_referrer_policy, missing_permissions_policy.

Usar InvokeWorks desde un cliente MCP

Conecta un cliente MCP Streamable HTTP a https://mcp.invokeworks.dev/mcp. Primero obtén un token de sesión MCP activo para el proyecto InvokeWorks a través del flujo de inicio/confirmación de LiveAuth. La ruta de prueba de trabajo no necesita cuenta de agente, suscripción a API ni paso de pago humano. Proporciona el JWT como Authorization: Bearer <liveauth-jwt>; el descubrimiento es público, pero las llamadas a herramientas requieren autorización.

Esta configuración de JavaScript utiliza el paquete de cliente MCP compatible con las pruebas de integración del repositorio. Establece LIVEAUTH_JWT a ese token de sesión y mantenlo fuera del control de versiones.

npm install @modelcontextprotocol/client@^2.0.0
import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/client';

const jwt = process.env.LIVEAUTH_JWT;
if (!jwt) throw new Error('Set LIVEAUTH_JWT to an active InvokeWorks MCP session token');

// One ID per logical call. Keep this ID and the arguments unchanged on a retry.
const requestId = crypto.randomUUID();
const client = new Client({ name: 'site-audit-client', version: '1.0.0' });
const transport = new StreamableHTTPClientTransport(new URL('https://mcp.invokeworks.dev/mcp'), {
  requestInit: {
    headers: {
      Authorization: `Bearer ${jwt}`,
      'X-Request-Id': requestId,
    },
  },
});

try {
  await client.connect(transport);
  const result = await client.callTool({
    name: 'site_audit',
    arguments: { target: 'https://example.com' },
  });
  console.log(result); // Audit result plus _meta.liveauth billing metadata / receipt.
} finally {
  await client.close();
}

Ejemplo de tarea de agente: "Audita https://example.com y dime los problemas más importantes."

El agente puede invocar site_audit; LiveAuth mide la ejecución aceptada a 5 sats. X-Request-Id es también la clave de idempotencia de facturación. Mantenla y los argumentos sin cambios para un reintento de la misma llamada, y usa una clave nueva para una llamada lógica nueva. El cobro seguro ante reintentos no almacena en caché resultados ni impide la re-ejecución del manejador. Los fallos de ejecución después del cobro siguen siendo facturables. Consulta la guía de conexión.

Arquitectura

Agent / MCP Client
  → InvokeWorks
  → LiveAuth authentication + metering
  → site_audit
  → receipt / result

InvokeWorks usa @liveauth-labs/mcp-server ^1.2.0. La validación de entrada ocurre antes de la pasarela; LiveAuth valida la autorización y cobra antes de que la herramienta se ejecute.

  • apps/server: servicio Hono/Node usando MCP SDK v2 createMcpHandler(), con compatibilidad moderna sin estado 2026-07-28 y compatibilidad 2025-era soportada por SDK.
  • apps/web: sitio Astro estático.
  • packages/tools: herramientas independientes del transporte y registro de catálogo compartido.
  • packages/liveauth: el único paquete que importa el SDK público @liveauth-labs/mcp-server.
  • packages/shared: utilidades de entorno y solicitudes.
  • tests/integration: pruebas oficiales de cliente MCP → servidor → adaptador LiveAuth → herramienta.

No hay base de datos, sistema de cuentas InvokeWorks, billetera ni implementación de facturación.

Desarrollo local

Requiere Node.js 22+ y pnpm 10.

corepack enable
pnpm install
cp .env.example .env
pnpm dev

El servidor escucha en http://localhost:3000/mcp; el estado es /health. Ejecuta el sitio web con pnpm dev:web.

Para pruebas de transporte local sin una cuenta de LiveAuth, establece NODE_ENV=test y LIVEAUTH_BYPASS_FOR_TESTS=true; solo se acepta el token literal test-token. Esta configuración se rechaza en producción.

Configuración

VariableRequeridaDescripción
LIVEAUTH_PUBLIC_KEYProducciónClave pública del proyecto LiveAuth (la_pk_…)
LIVEAUTH_API_URLNoPor defecto a https://api.liveauth.app
HOST / PORTNoPor defecto a 0.0.0.0:3000
LOG_LEVELNoNivel de registro estructurado

Nunca confirmes .env ni tokens. Los clientes envían Authorization: Bearer <LiveAuth JWT>. Proporciona un X-Request-Id estable y único en los reintentos; se convierte en la clave de idempotencia de LiveAuth. Los recibos firmados se devuelven bajo el resultado MCP _meta.liveauth.

Añadir una herramienta

  1. Crea un módulo en packages/tools/src.
  2. Llama a defineTool() con un esquema Zod v4, nombre estable, descripciones, precio en sats, ejemplos y manejador.
  3. Inyecta E/S externa detrás de una interfaz estrecha.
  4. Añádela a tools en packages/tools/src/index.ts.
  5. Añade pruebas de manejador y seguridad.

El servidor MCP y el catálogo Astro consumen el registro automáticamente. Los manejadores devuelven { data } y no saben nada sobre MCP o LiveAuth.

Validación

pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm test:integration

Las pruebas de integración usan el cliente oficial MCP Streamable HTTP. Las llamadas reales de producción de LiveAuth son separadas y opcionales porque requieren un proyecto de cliente y una sesión de prueba financiada.

Modelo de seguridad

http_inspect acepta solo HTTP(S), rechaza credenciales en URL, resuelve cada dirección, rechaza cualquier respuesta no pública, fija una dirección validada en la conexión y valida las redirecciones de nuevo. Las redirecciones, los bytes de respuesta y el tiempo están limitados; las cabeceras del llamador nunca se reenvían. tls_inspect aplica la misma política de destino y fijación. Los cuerpos MCP están limitados a 64 KiB. Los registros omiten datos de autorización.

Implementa detrás de TLS con lista blanca de Host pública, límites de concurrencia/tasa y tiempos de espera ascendentes. LiveAuth sigue siendo la autoridad para presupuestos de sesión y cobros. Consulta SECURITY.md.

Docker e implementación

docker build -f apps/server/Dockerfile -t invokeworks-mcp .
docker run --rm -p 3000:3000 --env-file .env invokeworks-mcp

Enruta mcp.invokeworks.dev al puerto 3000 y conserva Authorization, MCP-Protocol-Version, Accept y X-Request-Id. Sirve apps/web/dist estáticamente para invokeworks.dev. No se asume ningún proveedor de alojamiento.

Configuración del portal LiveAuth

Usando solo funcionalidad ordinaria orientada al cliente:

  1. Crea un proyecto LiveAuth y obtén su clave pública.
  2. Registra dns_lookup, http_inspect, tls_inspect y site_audit a 1, 2, 2 y 5 sats.
  3. Configura presupuestos/límites de tasa y liquidación Lightning en LiveAuth.
  4. Establece la clave pública en el entorno del servidor y ejecuta una prueba opcional real de cobro/recibo.

El adaptador pasa precios explícitos, pero los valores del portal deben coincidir. Consulta docs/liveauth-dogfood.md.

Contribuciones y licencia

Lee CONTRIBUTING.md. InvokeWorks está disponible bajo la Licencia MIT.