
Construa um agente de comparação de preços LangChain com BuyWhere MCP
Um agente ReAct real e executável em ~30 linhas que chama 9 varejistas em 9 países através do Protocolo de Contexto do Modelo
rascunho do body_markdown
Crie um agente de comparação de preços LangChain com BuyWhere MCP
Toda vez que quero comprar um laptop, um par de fones de ouvido ou um aspirador, abro cinco abas — Amazon, Shopee, Best Buy, Lazada, Apple Store — e copio e colo os preços em uma planilha. Então, eu construí um agente ReAct em LangChain que faz isso por mim. Ele roda em 30 linhas, expande uma consulta para 9 varejistas em 9 países e retorna o preço mais barato em tempo real.
Veja como configurá-lo.
O que estamos construindo
Um create_react_agent LangChain que usa BuyWhere como um servidor de ferramentas MCP. O agente pode responder perguntas como:
- "Qual é o laptop de 14 polegadas mais barato abaixo de SGD 1.500 em Cingapura agora?"
- "Compare os preços do Sony WH-1000XM5 nos EUA, SG e Japão."
- "Onde posso comprar um iPhone 17 com USB-C, em estoque hoje, na Malásia?"
O agente usa o Claude da Anthropic como modelo de raciocínio, chama ferramentas BuyWhere MCP e retorna uma resposta estruturada com comerciante, preço, moeda e um link direto para a listagem.
Pré-requisitos
- Python 3.10+
- Uma chave de API BuyWhere (grátis) — solicite uma aqui
- Uma chave de API Anthropic para Claude
- Node.js 18+ (o servidor MCP roda via
npx)
Instalação
pip install langchain langchain-anthropic langchain-mcp-adapters langgraph mcp
O pacote langchain-mcp-adapters é a ponte oficial LangChain para servidores MCP. Ele envolve qualquer servidor MCP baseado em stdio como uma lista de objetos BaseTool do LangChain, que é exatamente o que create_react_agent deseja.
O agente completo (30 linhas)
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient
from langchain_anthropic import ChatAnthropic
from langgraph.prebuilt import create_react_agent
BUYWHERE_API_KEY = "sk-buywhere-your-key" # de buywhere.ai/api-keys
ANTHROPIC_API_KEY = "sk-ant-your-key"
async def main():
# 1. Conectar ao servidor BuyWhere MCP (transporte stdio)
client = MultiServerMCPClient({
"buywhere": {
"command": "npx",
"args": ["-y", "@buywhere/mcp-server"],
"env": {"BUYWHERE_API_KEY": BUYWHERE_API_KEY},
"transport": "stdio",
}
})
# 2. Carregar ferramentas MCP como objetos BaseTool do LangChain
tools = await client.get_tools()
print(f"Carregado {len(tools)} ferramentas BuyWhere: {[t.name for t in tools]}")
# Carregado 4 ferramentas BuyWhere: ['search_prices', 'compare_product', 'list_cheapest', 'get_product']
# 3. Construir um agente ReAct com suporte a Claude
model = ChatAnthropic(model="claude-sonnet-4-6", api_key=ANTHROPIC_API_KEY)
agent = create_react_agent(model, tools)
# 4. Perguntar
response = await agent.ainvoke({
"messages": [("user",
"Qual'o laptop de 14 polegadas mais barato abaixo de SGD 1500 em Cingapura agora? "
"Mostre-me os 3 principais com comerciante, preço e um link."
)]
})
print(response["messages"][-1].content)
asyncio.run(main())
Tha
Este artigo apresenta uma solução prática para empresas brasileiras que desejam otimizar suas compras online. Ao implementar um agente de comparação de preços, as empresas podem economizar tempo e recursos, além de garantir as melhores ofertas disponíveis no mercado.


