Kawakami MCP Server

Kawakami MCP Server

Exposes the catalog of Supermercados Kawakami (Paraguaçu Paulista/SP) as tools for MCP clients, enabling product search, offers, cart and list management.

Category
Visit Server

README

Kawakami MCP Server

MCP Server que expõe o catálogo do Supermercados Kawakami (Paraguaçu Paulista/SP) como ferramentas para Claude, ChatGPT, OpenCode e qualquer cliente MCP.

Arquitetura

Cliente MCP (ChatGPT/Claude/OpenCode)
        │
        ▼
Cloudflare Tunnel (kawakami.axischat.com.br)
        │
        ▼
FastMCP (Python) ← httpx → VIP Commerce API
        │
        ▼
SQLite (sessoes/carrinho/listas)
src/
├── main.py                 # Entrypoint + argparse
├── server.py               # FastMCP + tool registration
├── config.py               # Settings via env vars
├── domain/
│   ├── models.py           # Produto, Oferta, CarrinhoItem...
│   └── exceptions.py       # VipCommerceUnavailable, TokenExpired...
├── infrastructure/
│   ├── auth.py             # TokenManager (load/save/refresh)
│   ├── vipcommerce_client.py  # HTTP client + retry + cache + circuit breaker
│   ├── session_store.py    # SQLite-backed sessions
│   ├── circuit_breaker.py  # Circuit breaker state machine
│   ├── validation.py       # Input sanitization
│   └── error_handler.py    # @safe_tool decorator
├── presentation/
│   └── formatters.py       # Text formatting
└── tools/
    ├── busca.py            # buscar_produtos, buscar_por_ean
    ├── catalogo.py         # listar_departamentos, produtos_por_departamento, detalhes_produto
    ├── ofertas.py          # ofertas_do_dia, verificar_estoque
    ├── carrinho.py         # adicionar, ver, remover, limpar
    └── listas.py           # salvar, minhas, ver, excluir

Deploy rápido

cp .env.example .env   # Preencha KWK_VIP_TOKEN e KWK_VIP_SESSAO_ID
make up                # Build + sobe API + tunnel

Tools (16)

Tool Descrição
criar_sessao Cria um identificador isolado para carrinho e listas
buscar_produtos Busca produtos por nome
buscar_por_ean Busca por código de barras
listar_departamentos Lista departamentos com contagem
produtos_por_departamento Produtos de um departamento
detalhes_produto Detalhes completos por ID
ofertas_do_dia Ranking de melhores ofertas
verificar_estoque Estoque de um produto
adicionar_ao_carrinho Adiciona item ao carrinho
ver_carrinho Mostra carrinho atual
remover_do_carrinho Remove item do carrinho
limpar_carrinho Esvazia carrinho
salvar_lista Salva lista de compras
minhas_listas Lista listas salvas
ver_lista Detalha uma lista
excluir_lista Remove uma lista

As tools de carrinho e listas exigem o session_id retornado por criar_sessao. O identificador é uma capacidade privada: não compartilhe entre usuários ou conversas.

MCP Apps UI

As tools de produtos e ofertas retornam texto e structuredContent. Clientes compatíveis com MCP Apps carregam o resource ui://kawakami/catalog-v2.html.

Para desenvolver a interface:

cd ui
npm ci
npm run lint
npm run build

O build Vite é embutido no resource MCP. A imagem Docker compila a UI automaticamente.

Variáveis de ambiente

Ver .env.example para todas as opções. Essenciais:

Var Descrição
KWK_VIP_TOKEN Token JWT da sessão anônima VIP Commerce
KWK_VIP_SESSAO_ID Session ID do VIP Commerce
KWK_DEFAULT_CEP CEP padrão (default: 19700000)
KWK_SESSION_DB_PATH Caminho persistente do SQLite
KWK_TOKEN_FILE_PATH Caminho persistente do token renovado
KWK_WIDGET_DOMAIN Origem HTTPS dedicada do widget

Healthcheck

GET /health retorna {"status":"ok"} quando o processo está pronto. O endpoint não consulta a VIP Commerce, evitando reinícios durante indisponibilidade do fornecedor.

Desenvolvimento

make dev        # stdio (para testar no OpenCode/Claude Desktop)
make dev-http   # HTTP (para testar no navegador)
make test       # pytest
make lint       # ruff

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured