Agentes no n8n e no LangChain
Dê a um agente as ferramentas do ByDomu por MCP, ou a API como ferramenta própria.
Um agente no n8n
Conecte ao nó AI Agent, como ferramenta, um MCP Client Tool com a URL do servidor e autenticação Bearer. Use uma versão do n8n que ofereça o transporte HTTP Streamable: o servidor não fala SSE (GET responde 405), então o modo SSE não conecta.
AI Agent
└─ Tool: MCP Client Tool
Endpoint https://mcp.bydomu.com/mcp
Server Transport HTTP Streamable (en versiones recientes; SSE no conecta)
Authentication Bearer → credencial con domu_sk_live_… (solo lectura)
Tools to Include Selected → search_properties, get_property, list_appointmentsPara passos fixos (sem o modelo decidir), o nó HTTP Request contra a API REST com X-API-Key é mais simples e previsível.
LangChain e LangGraph
Com os adaptadores MCP do LangChain, as nove ferramentas chegam como ferramentas normais do agente (create_agent roda sobre o LangGraph). O LangChain está levando esses adaptadores para langchain.mcp; a configuração do servidor (URL e cabeçalho) é a mesma.
# pip install langchain langchain-mcp-adapters langchain-anthropic
import asyncio, os
from langchain.agents import create_agent
from langchain_mcp_adapters.client import MultiServerMCPClient
async def main():
client = MultiServerMCPClient({
"bydomu": {
"transport": "streamable_http",
"url": "https://mcp.bydomu.com/mcp",
"headers": {"Authorization": f"Bearer {os.environ['BYDOMU_API_KEY']}"},
}
})
tools = await client.get_tools()
agent = create_agent("anthropic:claude-opus-5", tools)
result = await agent.ainvoke(
{"messages": [{"role": "user", "content": "¿Qué tareas vencidas tiene el equipo?"}]}
)
print(result["messages"][-1].content)
asyncio.run(main())MCP ou API?
- MCP: o modelo escolhe entre nove ferramentas de leitura pensadas para conversa (resultados curtos e paginados). É o caminho mais rápido para um assistente.
- API REST: todo o resto, inclusive escritas com a permissão aprovada. Envolva cada endpoint como ferramenta própria, envie Idempotency-Key e peça confirmação humana antes de escrever.
O que pode fazer, como revogar e boas práticas
O servidor é somente leitura: a IA pode consultar, mas não cria, muda nem apaga nada, e nunca envia mensagens aos seus clientes. Ela só vê o que estas permissões permitem, com o limite de uma chave secreta (60 requisições por minuto).
portal:readcontacts:readappointments:readconversations:readdeals:readtasks:readCom uma chave, a IA vê o que essa chave permitir. Para cortar o acesso, pause ou apague a chave em Configurações › API Keys; a próxima chamada responde 401.
- Uma chave por integração, só com as permissões de leitura que usa. Deixe conversations:read de fora se não precisa das mensagens.
- A chave vai em uma variável de ambiente ou no cofre de segredos do cliente, nunca colada num chat, num arquivo do repositório nem numa URL.
- O que o ByDomu devolve inclui texto escrito pelos seus clientes: trate como dados, não como instruções. Não encadeie este conector com ferramentas que enviam e-mails ou mensagens sem aprovação de uma pessoa.
- Revise de vez em quando os Apps conectados e remova o que não se usa mais.