Skip to main content
Glama
maxwellmezadre

mercadolivre-mcp

mercadolivre-mcp

License: MIT Runtime: Bun TypeScript: strict CI

CLI + servidor MCP para o histórico de compras da sua conta do Mercado Livre (lado comprador): compras, produtos, preço cheio e pago, descontos e cupons, parcelamento, meio de pagamento, vendedor, entrega e notas fiscais (NF-e em PDF e XML), com cache local em SQLite para responder "quanto gastei em 2025 com limpeza?" sem bater no site a cada pergunta.

O Mercado Livre não tem API pública do lado comprador: a API oficial é para vendedores e responde 403 ao resto. Este projeto lê a mesma superfície web que o seu navegador usa (as páginas de "Minhas compras" e o endpoint das NF-e), autenticado pelos cookies da sua própria sessão. Somente leitura: nenhuma operação de escrita na conta existe, e o raw_get só faz GET em dois hosts do site.

Sumário

Related MCP server: mercadolibre-mcp

Instalação

Requer Bun 1.3 ou mais novo (o cache usa bun:sqlite).

Tudo de uma vez (Claude Code)

git clone https://github.com/maxwellmezadre/mercadolivre-mcp.git
cd mercadolivre-mcp
bun install
bun run setup

O setup compila o binário para ~/.local/bin/mercadolivre, registra o servidor MCP mercadolivre no seu ~/.claude.json (escopo de usuário, com caminho absoluto) e instala a Skill em ~/.claude/skills/mercadolivre-mcp/. Rode de novo para atualizar. Com --import-browser chrome o registro já sai com MERCADOLIVRE_IMPORT_BROWSER=chrome.

npm

npm i -g @maxwellmezadre/mercadolivre-mcp   # instala `mercadolivre` e `mercadolivre-mcp` no PATH
mercadolivre --version

O pacote roda com o Bun (por causa do bun:sqlite), então o Bun precisa estar instalado. Sem instalar nada:

bunx -p @maxwellmezadre/mercadolivre-mcp mercadolivre purchases

O -p e o nome do executável são necessários: o pacote declara dois binários e, sem eles, bunx @maxwellmezadre/mercadolivre-mcp executa o homônimo do pacote, que é o servidor MCP, e não a CLI.

Binário único

bun run build:binary   # gera ./mercadolivre, sem precisar de runtime instalado
./mercadolivre --version

O binário embute tudo, inclusive o playwright-core que o login usa. Os binários de cada Release são esses mesmos, para Linux, macOS e Windows.

Login

A senha nunca passa por aqui. Dois caminhos:

mercadolivre login                        # abre o seu navegador padrão para você entrar
mercadolivre login --from-browser chrome  # importa a sessão de um navegador já logado (macOS)

O primeiro abre o navegador padrão do sistema, que precisa ser o Google Chrome ou outro Chromium que exponha o DevTools (Brave, Edge, Vivaldi, Chromium). Safari e Firefox são outros motores, e o Arc não aceita automação: nesses casos a ferramenta avisa e usa outro navegador compatível que já esteja instalado. O segundo é o mais rápido se você já usa o site no Chrome, no Arc, no Brave ou no Edge: ele lê os cookies pelo Keychain (o macOS pede permissão uma vez) e não abre janela nenhuma.

A sessão é gravada cifrada com AES-256-GCM em ~/.config/mercadolivre-mcp/session.enc (0600). Sem navegador nenhum, MERCADOLIVRE_COOKIE aceita o header Cookie copiado do DevTools. Detalhes em docs/LOGIN.md.

Uso — CLI

mercadolivre status --verify             # o site ainda aceita a sessão?
mercadolivre sync --full                 # primeira carga: ~3 min para ~70 compras
mercadolivre purchases --date 3M         # compras dos últimos 3 meses, do cache
mercadolivre purchase 2000000000000001   # detalhe: financeiro, parcelas, produtos, vendedor, NF-e
mercadolivre search "café"               # entre os produtos que você já comprou
mercadolivre products --seller "gallo"   # produtos comprados, com preço pago e unitário
mercadolivre product-history --title "azeite"
mercadolivre spending --by month         # quanto você gastou por mês
mercadolivre installments                # parcelas em aberto (estimativa)
mercadolivre export --format csv --scope products
mercadolivre export-invoices --date Y    # NF-e do ano em PDF e XML
mercadolivre doctor                      # qual camada quebrou

Todo comando aceita --json e imprime exatamente o que o cliente MCP receberia. Referência completa em docs/CLI.md.

Uso — MCP

claude mcp add -s user mercadolivre -- /Users/você/.local/bin/mercadolivre mcp

Ou, à mão, em ~/.claude.json:

{
  "mcpServers": {
    "mercadolivre": {
      "type": "stdio",
      "command": "/Users/você/.local/bin/mercadolivre",
      "args": ["mcp"]
    }
  }
}

Use o caminho absoluto: clientes MCP não herdam o PATH do seu shell. Depois é só perguntar: "quanto gastei no Mercado Livre este ano?", "quantas vezes comprei esse café e a que preço?", "me manda as notas fiscais de 2025".

Variáveis de ambiente

Todas opcionais. A tabela completa está em docs/CONFIGURATION.md.

Variável

Default

Para quê

MERCADOLIVRE_CONFIG_DIR

~/.config/mercadolivre-mcp

Onde ficam sessão, chave, cache e perfil do navegador

MERCADOLIVRE_SESSION_KEY

gerada em session.key

Chave AES em base64 de 32 bytes

MERCADOLIVRE_EXPORT_DIR

~/Downloads/mercadolivre-export

O único diretório onde export, download_invoice e export_invoices escrevem

MERCADOLIVRE_READ_ONLY

0

Não registra as tools que escrevem em disco

MERCADOLIVRE_IMPORT_BROWSER

arc | chrome | chromium | brave | edge: o login importa daí

MERCADOLIVRE_LOGIN_BROWSER

navegador padrão

Navegador da janela de login: .app, executável ou bundle id

MERCADOLIVRE_COOKIE

Header Cookie completo; vence a sessão salva e nunca é gravado

MERCADOLIVRE_MIN_INTERVAL_MS

1200

Intervalo mínimo entre requisições

Nomes antigos (MERCADOLIVRE_HOME, MERCADOLIVRE_DOWNLOAD_DIR, MERCADOLIVRE_REQUEST_INTERVAL_MS, MERCADOLIVRE_REAL) continuam funcionando com um aviso.

Tools

São 18, iguais no MCP e no CLI. Referência gerada: docs/TOOLS.md.

Tool

Comando

Rede

auth_status

mercadolivre status [--verify]

0 (1 com --verify)

login

mercadolivre login [--from-browser]

1, para confirmar a sessão

doctor

mercadolivre doctor

≤ 4

sync

mercadolivre sync [--full|--reparse]

1 por página, 1 por compra, NF-e e categorias

list_purchases

mercadolivre purchases

0 (site com --live ou cache vazio)

get_purchase

mercadolivre purchase <id>

1 (2 com a NF-e)

search_purchases

mercadolivre search <texto>

0 (1 com --live)

list_categories

mercadolivre categories

0 (1 se o cache estiver vazio)

list_products

mercadolivre products

0

product_history

mercadolivre product-history

0

list_installments

mercadolivre installments

0

list_payment_methods

mercadolivre payment-methods

0

get_invoice

mercadolivre invoice <orderId>

1

download_invoice

mercadolivre download-invoice <orderId>

1

export_invoices

mercadolivre export-invoices

1 por arquivo

spending_summary

mercadolivre spending --by …

0

export

mercadolivre export

0

raw_get

mercadolivre raw <url>

1

Como funciona

  1. A lista de compras é uma página server-side (Nordic/Flox) com o JSON embutido em <script id="__NORDIC_RENDERING_CTX__">; os parsers leem esse JSON, nunca o HTML.

  2. Uma compra (purchase_id) contém pacotes (pack_id) que contêm pedidos (order_id), e cada pedido é um produto. Tudo é agregado por compra: contar pedidos como compras infla o número por cerca de 3 vezes. Ver docs/DATA-MODEL.md.

  3. O sync percorre as páginas a uma requisição a cada 1,2 a 1,6 segundos, busca o detalhe de cada compra uma única vez, as NF-e e as categorias, e grava tudo em SQLite com dinheiro em centavos inteiros. As demais tools consultam o cache.

  4. Quando o site mudar, doctor diz qual endpoint quebrou e raw_get mostra o payload real; o roteiro está em docs/REDISCOVERY.md.

Troubleshooting

Sintoma

O que fazer

Nenhuma sessão do Mercado Livre salva

mercadolivre login ou mercadolivre login --from-browser chrome

A sessão do Mercado Livre expirou ou foi recusada

O site respondeu com a página de login. Faça o login de novo; troca de senha, logout e inatividade longa matam a sessão

HTTP 403 … rate limit ou bloqueio

Espere alguns minutos. Não rode dois sync ao mesmo tempo nem reduza MERCADOLIVRE_MIN_INTERVAL_MS

Não foi possível decifrar session.enc

A chave mudou (MERCADOLIVRE_SESSION_KEY ou session.key). Apague session.enc e faça o login de novo

Compra grande com produtos sem preço

O detalhe só traz parte das linhas; o sync completa com a NF-e (priceSource: "invoice", valor bruto)

list_categories vazio

O site não oferece o filtro de categoria para toda conta. Não é erro

O navegador padrão não serve para o login

Instale o Chrome, aponte MERCADOLIVRE_LOGIN_BROWSER ou use --from-browser

Layout novo do site

mercadolivre doctor diz qual camada quebrou; docs/REDISCOVERY.md diz como remapear

Documentação

Arquivo

Conteúdo

docs/ARCHITECTURE.md

Camadas, fluxo e as regras que as separam

docs/CONFIGURATION.md

Todas as variáveis e os arquivos em disco

docs/USAGE.md

Do zero à primeira resposta

docs/CLI.md

Todos os comandos

docs/TOOLS.md

Referência das tools (gerada)

docs/LOGIN.md

Como o login funciona, o que grava, como revogar

docs/DATA-MODEL.md

A hierarquia de ids, o dinheiro, o cache e o que não existe

docs/INTERNAL-API.md

A superfície interna do site: endpoints, formato Flox, armadilhas

docs/REDISCOVERY.md

O que fazer quando o Mercado Livre mudar

docs/PRD.md

Os requisitos que o código cita (F-n, NFR-n, AR-n)

docs/adr/

As decisões de projeto e por quê

Licença

MIT. Uso pessoal, na sua própria conta, em volume baixo: sem revenda de dados, sem compartilhar a sessão, sem coletar dados de terceiros.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Connects AI agents to MercadoLibre, the largest e-commerce marketplace in Latin America. Search products, get item details, browse categories, track trends, and convert currencies.
    6
    8
    73
    2
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Connects Claude to your MercadoLibre seller account, enabling natural language management of listings, orders, and shipments.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects Mercado Pago accounts via Open Finance Brasil to AI assistants for read-only queries about balances, statements, credit card bills, and investments.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/maxwellmezadre/mercadolivre-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server