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.