
Construa um Bot de Alerta de Ofertas no Slack com BuyWhere MCP
Um canal do Slack que te avisa quando "RTX 5090" cai abaixo de $1.800 — configurado em menos de 30 minutos. Sem scraping, sem proxies, sem Selenium. Apenas o servidor BuyWhere MCP, um webhook de entrada do Slack e um pequeno script em Python.
Neste tutorial, você construirá um bot de alerta de ofertas que consulta a ferramenta find_best_price do BuyWhere em um cronograma, compara o preço atual a um limite e publica uma mensagem no Slack no momento em que uma oferta ultrapassa sua linha. Os mesmos princípios do MCP do tutorial do Discord, mas o foco do Slack é alertar em vez de conversar — que é o que a maioria das comunidades de compras realmente deseja.
O Que Você Vai Precisar
- Python 3.10+ (ou Node.js 18+)
- Um espaço de trabalho do Slack com permissão para adicionar um webhook de entrada (api.slack.com/messaging/webhooks)
- Uma chave de API do BuyWhere (grátis em buywhere.ai)
- Uma lista de produtos + limites que você se importa
Passo 1: Configurar a Conexão do BuyWhere MCP
O servidor BuyWhere MCP expõe uma ferramenta de preço normalizado. Para alertas de ofertas, find_best_price é o trabalho duro:
import subprocess, json
def call_mcp_tool(tool_name, arguments):
"""Chama uma ferramenta no servidor BuyWhere MCP via stdio."""
request = {
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {"name": tool_name, "arguments": arguments},
}
result = subprocess.run(
["npx", "-y", "@buywhere/mcp-server"],
input=json.dumps(request),
capture_output=True,
text=True,
)
return json.loads(result.stdout)
# Exemplo: melhor preço atual para um RTX 5090
best = call_mcp_tool("find_best_price", {
"product_name": "RTX 5090",
"country": "US",
})
print(best)
# => {"data": {"price": 1849.00, "source": "BestBuy", "currency": "USD", "url": "..."}}
Passo 2: Conectar o Webhook do Slack
Crie um webhook de entrada em seu espaço de trabalho do Slack. O Slack lhe dará uma URL como https://hooks.slack.com/services/T000/B000/XXXXX. Armazene-a como uma variável de ambiente:
export SLACK_WEBHOOK_URL="https://hooks.slack.com/services/T000/B000/XXXXX"
export BUYWHERE_API_KEY="sua_chave_aqui"
Então um poster de uma chamada:
import os, urllib.request, json
def post_to_slack(text):
payload = {"text": text}
req = urllib.request.Request(
os.environ["SLACK_WEBHOOK_URL"],
data=json.dumps(payload).encode("utf-8"),
headers={"Content-Type": "application/json"},
)
with urllib.request.urlopen(req) # Enviar a solicitação
Este tutorial oferece uma solução prática para empresas que desejam monitorar preços de produtos e se manter competitivas. A integração com Slack facilita a comunicação em tempo real sobre ofertas, potencializando a estratégia de vendas. A implementação é rápida e acessível, mesmo para iniciantes.


