Lampson

Lampson como motor

Lampson como servidor MCP

Lampson también es un servidor MCP: Claude Desktop, Claude Code, Cursor, ChatGPT u otro agente pueden usar a tus agentes de Lampson como una herramienta más.

¿Para qué, si esas IAs ya responden solas? Porque tu agente de Lampson tiene cosas que ellas no: el conocimiento de tu negocio (catálogo, reglas, promos), sus propias herramientas con permisos limitados, su historial, y a veces corre en otra máquina — la que tiene los datos. La otra IA le pregunta, sin acceso a nada de eso.

Las herramientas§

herramienta
ask(message, agent?, thread?)un mensaje a un agente. Sin thread, crea uno y lo devuelve: pásalo en la próxima llamada para seguir la conversación
agents()los agentes disponibles y para qué sirve cada uno
history(thread, agent?, limit?)los últimos mensajes de una conversación, para retomarla

En tu máquina (stdio)§

lampson mcp serve                       # todos los agentes del proyecto
lampson mcp serve --agent tienda        # solo esos (separados por coma)
lampson mcp serve --workspace C:\ruta   # otro proyecto

En Claude Desktop (claude_desktop_config.json):

{"mcpServers": {"tienda": {"command": "lampson", "args": ["mcp", "serve", "--agent", "tienda", "--workspace", "C:\\proyectos\\e-commerce"]}}}

En Windows, si tu cliente no encuentra lampson, usa "command": "lampson.cmd". Sin nadie delante, el agente corre en strict salvo que su archivo diga otra cosa.

Desde cualquier lado (HTTP)§

https://tu-lampson/w/<workspace>/v1/mcp        Authorization: Bearer lk_…

El transporte HTTP estándar de MCP, con la misma API key que la API: cada key ve solo sus agentes. Así lo usan los empleados de un negocio desde su Claude o su ChatGPT, o un agente de otra empresa. lampson key add te muestra la URL.

/v1/mcp/stream es lo mismo respondiendo por SSE: si el pedido trae progressToken, cada paso del agente («leyendo el catálogo…») llega como notificación de progreso antes de la respuesta.

Los mensajes pasan por el buzón: dos agentes de afuera escribiendo a la vez en la misma conversación no se pisan.

Agente ↔ agente§

Un Lampson puede usar al agente de otro Lampson. El agente de compras de un restaurante le pregunta precio y stock al agente del proveedor:

1. El proveedor crea una key para su agente: lampson key add --agent ventas, y te pasa la URL y la key. 2. Tú la pones en ~/lampson/.lampson/mcp.json (o en el del proyecto), con la key en el .env:

{"mcpServers": {"proveedor": {"url": "https://proveedor.com/w/ventas/v1/mcp",
                              "headers": {"Authorization": "Bearer ${LAMPSON_PROVEEDOR_KEY}"}}}}
# ~/lampson/.env
LAMPSON_PROVEEDOR_KEY=lk_…

3. Tu agente gana la herramienta mcp_proveedor_ask. Dale permiso a esa herramienta y solo a esa:

{"id": "compras", "system": "…", "permission": "strict",
 "tools": [{"name": "mcp_proveedor_*", "approve": "auto"}]}

${LAMPSON_…} se reemplaza con el valor del .env: la key no queda escrita en el mcp.json. Cada lado conserva sus reglas: el proveedor decide qué agentes expone y con qué límite; tú decides qué agente tuyo puede preguntarle.

Ver como Markdown