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.
- Fuente: https://github.com/dulzuradev/invokeworks
- Sitio web: https://invokeworks.dev
- Endpoint MCP: https://mcp.invokeworks.dev/mcp
- Estado: https://mcp.invokeworks.dev/health
Herramientas
| Herramienta | Propósito | Precio |
|---|---|---|
site_audit | Auditoría combinada de DNS, TLS, HTTP y cabeceras de seguridad | 5 sats |
dns_lookup | Consultas A, AAAA, CNAME, MX, TXT, NS y SOA | 1 sat |
http_inspect | Estado HTTP, redirecciones, cabeceras, tamaño, tiempo y cabeceras de seguridad | 2 sats |
tls_inspect | Protocolo TLS, cifrado, certificado, SANs, validez y cadena | 2 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 v2createMcpHandler(), 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
| Variable | Requerida | Descripción |
|---|---|---|
LIVEAUTH_PUBLIC_KEY | Producción | Clave pública del proyecto LiveAuth (la_pk_…) |
LIVEAUTH_API_URL | No | Por defecto a https://api.liveauth.app |
HOST / PORT | No | Por defecto a 0.0.0.0:3000 |
LOG_LEVEL | No | Nivel 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
- Crea un módulo en
packages/tools/src. - Llama a
defineTool()con un esquema Zod v4, nombre estable, descripciones, precio en sats, ejemplos y manejador. - Inyecta E/S externa detrás de una interfaz estrecha.
- Añádela a
toolsenpackages/tools/src/index.ts. - 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:
- Crea un proyecto LiveAuth y obtén su clave pública.
- Registra
dns_lookup,http_inspect,tls_inspectysite_audita 1, 2, 2 y 5 sats. - Configura presupuestos/límites de tasa y liquidación Lightning en LiveAuth.
- 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.