Lampson

Lampson como motor

Lampson como servidor MCP

O Lampson também é um servidor MCP: Claude Desktop, Claude Code, Cursor, ChatGPT ou outro agente podem usar os seus agentes do Lampson como mais uma ferramenta.

Para quê, se essas IAs já respondem sozinhas? Porque o seu agente do Lampson tem coisas que elas não têm: o conhecimento do seu negócio (catálogo, regras, promoções), ferramentas próprias com permissões limitadas, seu histórico, e às vezes roda em outra máquina — a que tem os dados. A outra IA pergunta a ele, sem acesso a nada disso.

As ferramentas§

ferramenta
ask(message, agent?, thread?)uma mensagem para um agente. Sem thread, cria um e o devolve: passe-o na próxima chamada para continuar a conversa
agents()os agentes disponíveis e para que serve cada um
history(thread, agent?, limit?)as últimas mensagens de uma conversa, para retomá-la

Na sua máquina (stdio)§

lampson mcp serve                       # todos os agentes do projeto
lampson mcp serve --agent tienda        # só esses (separados por vírgula)
lampson mcp serve --workspace C:\ruta   # outro projeto

No Claude Desktop (claude_desktop_config.json):

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

No Windows, se o seu cliente não encontrar lampson, use "command": "lampson.cmd". Sem ninguém por perto, o agente roda em strict, a menos que o arquivo dele diga outra coisa.

De qualquer lugar (HTTP)§

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

O transporte HTTP padrão do MCP, com a mesma API key da API: cada key vê só os seus agentes. É assim que os funcionários de um negócio o usam a partir do Claude ou do ChatGPT deles, ou um agente de outra empresa. lampson key add mostra a URL.

/v1/mcp/stream é o mesmo respondendo por SSE: se o pedido traz progressToken, cada passo do agente («lendo o catálogo…») chega como notificação de progresso antes da resposta.

As mensagens passam pela caixa de entrada: dois agentes de fora escrevendo ao mesmo tempo na mesma conversa não se atropelam.

Agente ↔ agente§

Um Lampson pode usar o agente de outro Lampson. O agente de compras de um restaurante pergunta preço e estoque ao agente do fornecedor:

1. O fornecedor cria uma key para o agente dele: lampson key add --agent ventas, e passa a URL e a key para você. 2. Você as coloca em ~/lampson/.lampson/mcp.json (ou no do projeto), com a key no .env:

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

3. O seu agente ganha a ferramenta mcp_proveedor_ask. Dê permissão a essa ferramenta e só a ela:

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

${LAMPSON_…} é substituído pelo valor do .env: a key não fica escrita no mcp.json. Cada lado mantém as suas regras: o fornecedor decide quais agentes expõe e com que limite; você decide qual agente seu pode perguntar a ele.

Ver como Markdown