Skip to main content
Glama
eme-ce

MercadoLibre MCP Server

by eme-ce

Servidor MCP de MercadoLibre

Un servidor Model Context Protocol (MCP) que conecta a Claude directamente con tu cuenta de vendedor de MercadoLibre. Gestioná publicaciones, pedidos y envíos — todo mediante lenguaje natural.

Apunta a MLA (Argentina) por defecto. Cambiá ML_SITE para otros mercados.


Qué podés hacer con esto

  • "Listame mis publicaciones activas"

  • "Creá una nueva publicación para un iPhone 14 usado, ARS 500000, categoría MLA1055"

  • "Mostrame mis últimos 10 pedidos pagados"

  • "Conseguime la etiqueta de envío del despacho 12345678"

  • "¿Qué categoría debería usar para auriculares con cancelación de ruido?"


Related MCP server: Amazon Seller MCP

Requisitos

  • Python 3.11 o superior

  • Una cuenta de vendedor de MercadoLibre

  • Una aplicación de desarrollador de MercadoLibre (client_id + client_secret)

  • Una cuenta de Claude.ai Pro, Team o Enterprise (para conexiones MCP remotas)


Paso 1 — Crear una aplicación de MercadoLibre

  1. Andá a developers.mercadolibre.com.ar e iniciá sesión

  2. Hacé clic en Crear aplicación

  3. Completá los datos de la app. En URI de redirección ingresá tu URL de callback:

    • Local: http://localhost:8000/auth/callback

    • Railway: https://your-app.up.railway.app/auth/callback

  4. Guardá la app y copiá tu App ID (esto es ML_CLIENT_ID) y Secret key (ML_CLIENT_SECRET)


Paso 2 — Configurar el servidor localmente

Cloná este repo

git clone https://github.com/your-username/mercadolibre-mcp.git
cd mercadolibre-mcp

Instalá las dependencias

pip install -r requirements.txt

Configurá tus variables de entorno

cp env.example .env

Abrí .env y completá tus valores:

ML_CLIENT_ID=your-app-id
ML_CLIENT_SECRET=your-secret-key
ML_REDIRECT_URI=http://localhost:8000/auth/callback
BEARER_TOKEN=pick-a-long-random-string-here

Iniciá el servidor

python server.py

Completá el flujo de OAuth

ML requiere autorización del usuario antes de que el servidor pueda acceder a los datos de tu cuenta.

  1. Abrí http://localhost:8000/auth/url — devuelve un JSON con auth_url

  2. Abrí esa URL en tu navegador y autorizá la app

  3. ML te redirige a /auth/callback — el servidor intercambia el código por tokens

  4. El servidor registra ML_ACCESS_TOKEN y ML_REFRESH_TOKEN en la consola

Pegá esos dos valores en tu archivo .env para que sobrevivan a los reinicios del servidor:

ML_ACCESS_TOKEN=APP_USR-...
ML_REFRESH_TOKEN=TG-...

Los tokens de acceso de ML expiran cada 6 horas. El servidor los renueva automáticamente usando el refresh token, pero el refresh token se rota en cada renovación — revisá tus logs y actualizá ML_REFRESH_TOKEN después de cada reinicio hasta que tengas una configuración más duradera.


Paso 3 — Desplegar en la nube

Desplegar en Railway

  1. Forkeá este repo de GitHub a tu propia cuenta

  2. Andá a railway.app e iniciá sesión con GitHub

  3. Hacé clic en New Project → Deploy from GitHub repo

  4. Seleccioná tu repo forkeado

  5. Cuando termine el build, andá a tu servicio → Settings → Networking → Generate Domain

  6. Copiá tu URL pública — se ve algo así como https://ml-mcp-production.up.railway.app

Agregá tus variables de entorno en Railway

Variable

Requerida

Valor

ML_CLIENT_ID

✅

Tu App ID de ML

ML_CLIENT_SECRET

✅

Tu Secret key de ML

ML_REDIRECT_URI

✅

https://your-app.up.railway.app/auth/callback

ML_ACCESS_TOKEN

✅*

Obtenido después del flujo de OAuth

ML_REFRESH_TOKEN

✅*

Obtenido después del flujo de OAuth

BEARER_TOKEN

✅

Cadena aleatoria larga — el mismo valor que vas a ingresar en Claude

ML_SITE

No

MLA (por defecto)

PORT

No

8000

ALLOW_TOKEN_QUERY_PARAM

No

1 — solo si Claude.ai no puede enviar headers de Authorization

*Requerido para que el servidor pueda hacer llamadas a la API. Completá el flujo de OAuth en tu instancia local primero, y después pegá los tokens acá.


Paso 4 — Conectar con Claude

  1. Andá a claude.ai → hacé clic en tu ícono de perfil → Settings

  2. Navegá a Integrations

  3. Hacé clic en Add integration

  4. Completá:

    • Name: MercadoLibre

    • URL: https://your-app.up.railway.app/mcp

  5. En el campo de authentication token: pegá el valor de tu BEARER_TOKEN


Herramientas disponibles

Herramienta

Descripción

ml_get_my_user

Obtiene el perfil del vendedor autenticado

ml_list_items

Lista tus publicaciones (con filtro de estado y paginación)

ml_get_item

Obtiene una publicación por su ID

ml_create_item

Crea una nueva publicación de producto

ml_update_item

Actualiza una publicación existente

ml_change_item_status

Pausa, reactiva o cierra una publicación

ml_list_orders

Lista tus pedidos (con filtro de estado)

ml_get_order

Obtiene un pedido por su ID

ml_get_shipment

Obtiene los detalles de envío de un despacho

ml_get_shipment_label

Obtiene una etiqueta de envío imprimible (ZPL2 o PDF)

ml_predict_category

Predice la mejor categoría para una descripción de producto

ml_get_category_attributes

Obtiene los atributos requeridos/opcionales de una categoría


Referencia de variables de entorno

Variable

Requerida

Valor por defecto

Descripción

ML_CLIENT_ID

✅

—

App ID de la aplicación de ML

ML_CLIENT_SECRET

✅

—

Secret key de la aplicación de ML

ML_REDIRECT_URI

✅

—

URL de callback de OAuth registrada en tu app de ML

ML_ACCESS_TOKEN

✅*

—

Token de acceso de ML (del flujo de OAuth)

ML_REFRESH_TOKEN

✅*

—

Refresh token de ML (del flujo de OAuth)

BEARER_TOKEN

✅

—

Protege tu endpoint MCP — configurá el mismo valor en Claude

ML_SITE

No

MLA

ID del sitio: MLA=Argentina, MLB=Brasil, MLM=México, MLC=Chile

TOKEN_REFRESH_BUFFER

No

1800

Segundos antes del vencimiento del token para disparar una renovación

PORT

No

8000

Puerto en el que escucha el servidor

MCP_TRANSPORT

No

streamable-http

Protocolo de transporte

ALLOW_TOKEN_QUERY_PARAM

No

—

Poner en 1 solo si tu cliente MCP no puede enviar headers de Authorization

MAX_REQUEST_BODY

No

1048576

Tamaño máximo del cuerpo de la request entrante, en bytes (1 MB)

RATE_LIMIT_RPM

No

60

Máximo de requests por minuto por IP

RATE_LIMIT_MAX_IPS

No

10000

Máximo de IPs rastreadas por el limitador de tasa

TRUSTED_PROXY_COUNT

No

1

Cantidad de proxies inversos delante del servidor

*Requerido para el acceso a la API. Se obtiene completando el flujo de OAuth.


Resolución de problemas

Error "No ML_REFRESH_TOKEN available" Todavía no se completó el flujo de OAuth. Visitá /auth/url, autorizá la app y pegá los tokens de los logs del servidor en tus variables de entorno.

401 Unauthorized de MercadoLibre Tu token de acceso es inválido o expiró, y el refresh token falta o es inválido. Volvé a ejecutar el flujo de OAuth para obtener tokens nuevos.

"Token exchange failed" en /auth/callback Asegurate de que ML_REDIRECT_URI coincida exactamente con lo registrado en tu app de ML (incluyendo el esquema y el path). Incluso una diferencia de barra final va a causar un desajuste.

Claude no puede conectarse al servidor Asegurate de que tu despliegue en Railway esté activo y de que se haya generado un dominio. Visitá https://your-app.up.railway.app/health — debería devolver {"status": "ok"}.

El refresh token deja de funcionar después de un reinicio ML rota el refresh token en cada llamada de renovación. El servidor registra el nuevo ML_REFRESH_TOKEN cada vez que renueva. Actualizá ese valor en tus variables de entorno de Railway para mantenerlo vigente.


Licencia

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    C
    maintenance
    Connects Claude to your Amazon Seller Central account via the Selling Partner API, enabling queries for recent orders, sales summaries, FBA inventory, and financial events.
    4
    -
  • A
    license
    A
    quality
    B
    maintenance
    Enables sellers to connect their MercadoLibre accounts to Claude AI and query consolidated multi-store sales, real profitability, stock, listings, buyer questions, claims, Product Ads, and competitor prices in natural language.
    33
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables sellers to connect one or more MercadoLibre store accounts to Claude over OAuth 2.0 with PKCE and ask about sales, orders, questions, catalog buy box, promotions, reputation, and competitor pricing in natural language, with optional write actions for pricing, stock, listings, and buyer replies. Supports consolidated multi-store reporting and requires no backend server, keeping tokens in a local file on the user's machine.
    32
    1
    MIT