Skip to main content
Glama
kokesaurio
by kokesaurio

MCP de MercadoLibre para vendedores — conectá tu tienda a Claude sin servidor

pruebas versión licencia estrellas

Palabras clave: MCP MercadoLibre · MercadoLibre Claude · conectar MercadoLibre a Claude · API MercadoLibre IA · Model Context Protocol MercadoLibre · vendedores MercadoLibre · automatizar MercadoLibre con IA

Conectá tu cuenta de MercadoLibre a Claude y manejá tu tienda en lenguaje natural:

  • "¿cómo vienen las ventas hoy?" → tablero con facturación, top productos, envíos y provincias

  • "¿qué preguntas tengo sin responder?" → te propone todas las respuestas y publica las que apruebes

  • "auditá mis publicaciones" → semáforo 🔴🟡🟢 con qué arreglar en cada una (fotos, título, video faltante, catálogo)

  • "armame las imágenes de esta publicación" → el set de 4 infografías profesionales con tus fotos reales

  • "hacé un video para Reels de este producto" → guion por escenas y video con tus datos verdaderos

  • "¿qué cambió en la competencia?" → solo las novedades: precios movidos, publicaciones nuevas, ventas estimadas del rival

30 herramientas · 18 skills · multicuenta con consolidado · sin servidor propio · tokens solo en tu computadora — hecho por Algoritmo Digital, consultora especializada en MercadoLibre.

Claude ──MCP──► este conector ──OAuth 2.0 + PKCE──► API oficial de MercadoLibre

⭐ ¿Te sirve el conector? Dejanos una estrella — es gratis para vos y hace que más vendedores lo encuentren en GitHub y Google.

Por qué este y no otro

Este conector

Alternativas típicas

Onboarding

Guiado desde cero: decile "setup" a Claude y te deja operativo

Asumen que ya tenés los tokens de ML (conseguirlos es la parte difícil) o exigen una base Supabase

Infraestructura

Ninguna: tokens en un archivo local (0600), refresh automático serializado

Backend propio, Supabase o VPS

Idioma

Castellano, pensado para vendedores

Inglés técnico, pensado para developers

Seguridad

PKCE, escrituras opcionales (ML_SOLO_LECTURA=1 las desactiva), sin telemetría

Varía

Pruebas

Suite E2E de 42 casos contra un MercadoLibre simulado, corriendo en CI en cada cambio

Rara vez

Skills

18 skills incluidas, del reporte diario al video del producto

No

¿Tenés varias tiendas, querés rentabilidad real con tus costos, caja de MercadoPago y vigilancia de competidores gestionada? Eso es nuestro conector premium con CRM — este conector directo es gratis y para cualquier vendedor.

Related MCP server: Amazon Seller MCP

Guía de instalación (10 minutos, sin servidor, paso a paso)

No hace falta saber programar. Necesitás: una cuenta de vendedor de MercadoLibre, Claude Desktop y Node.js LTS instalados (ambos gratis, se instalan con "siguiente, siguiente").

⚡ Vía rápida A — Instalador automático (1 solo comando)

Abrí una terminal (Windows: Win + R → escribí cmd → Enter · Mac: app Terminal) y pegá:

npx -y github:kokesaurio/mercadolibre-sellers-mcp-algoritmo-Digital instalar

El instalador te guía para crear tu app gratis de MercadoLibre, te pide el App ID y el Secret, y configura Claude Desktop solo: respeta los conectores que ya tengas, hace backup de tu configuración anterior y te deja a un reinicio de usarlo. (Si ya tenés las credenciales: agregá --app-id TU_APP_ID --secret TU_SECRET.)

⚡ Vía rápida B — Que Claude lo instale por vos (Cowork / Claude Code)

¿Usás Claude Cowork o Claude Code? Pegale este prompt tal cual y listo:

Instalame el conector de MercadoLibre de Algoritmo Digital:
1. Si todavía no tengo App ID y Secret, guiame a crearlos gratis en
   https://developers.mercadolibre.com.ar (app nueva, URI de redirect EXACTA
   https://kokesaurio.github.io/mercadolibre-sellers-mcp-algoritmo-Digital/conectar.html
   y scopes read, write y offline_access) y pedímelos.
2. Ejecutá: npx -y github:kokesaurio/mercadolibre-sellers-mcp-algoritmo-Digital instalar --app-id <MI_APP_ID> --secret <MI_SECRET>
3. Verificá que claude_desktop_config.json quedó con el conector "mercadolibre"
   y avisame que reinicie Claude Desktop.
4. Después del reinicio te digo "conectá mi cuenta de MercadoLibre" y me guiás.
Guía: https://github.com/kokesaurio/mercadolibre-sellers-mcp-algoritmo-Digital

Vía manual paso a paso (con imágenes)

¿Preferís hacerlo a mano o entender cada paso? Seguí la guía ilustrada:

Paso 1 — Creá tu aplicación gratis en MercadoLibre

Entrá a developers.mercadolibre.com.ar con tu cuenta de vendedor → Mis aplicaciones → Crear nueva aplicación y completá así:

Paso 1: crear la aplicación en el DevCenter de MercadoLibre

  • URI de redirect (el campo que más errores causa — copiala exacta, sin barra final):

    https://kokesaurio.github.io/mercadolibre-sellers-mcp-algoritmo-Digital/conectar.html
  • Scopes: marcá read, write y offline_access — sin este último, la conexión se corta cada 6 horas.

Paso 2 — Anotá el App ID y el Secret Key

Al guardar, MercadoLibre te muestra los dos datos que van en Claude:

Paso 2: App ID y Secret Key de la aplicación

⚠️ El Secret Key es como una contraseña: no lo compartas ni lo publiques.

Paso 3 — Agregá el conector a Claude Desktop

Abrí el archivo de configuración:

  • Windows: apretá Win + R, pegá %APPDATA%\Claude\claude_desktop_config.json y Enter (se abre con el Bloc de notas).

  • Mac: Claude Desktop → Settings → Developer → Edit Config.

Paso 3: configurar Claude Desktop

Si el archivo está vacío, pegá este bloque completo (reemplazando tus dos datos del paso 2). Si ya tenés otros conectores, agregá solo la parte "mercadolibre":

{
  "mcpServers": {
    "mercadolibre": {
      "command": "npx",
      "args": ["-y", "github:kokesaurio/mercadolibre-sellers-mcp-algoritmo-Digital"],
      "env": {
        "ML_APP_ID": "TU_APP_ID",
        "ML_APP_SECRET": "TU_SECRET_KEY"
      }
    }
  }
}

Guardá y reiniciá Claude Desktop (cerralo del todo y volvé a abrirlo).

¿Usás Claude Code? Un solo comando:

claude mcp add mercadolibre \
  -e ML_APP_ID=TU_APP_ID -e ML_APP_SECRET=TU_SECRET_KEY \
  -- npx -y github:kokesaurio/mercadolibre-sellers-mcp-algoritmo-Digital

Paso 4 — Conectá tu cuenta (una sola vez)

En un chat nuevo decile a Claude: "conectá mi cuenta de MercadoLibre" — o directamente "setup" para que la skill de puesta en marcha haga todo esto por vos.

Paso 4: autorizar con tu cuenta y pegar el código

  1. Claude te da un link → abrilo e iniciá sesión con tu cuenta de vendedor.

  2. Tocá Autorizar → la página te muestra un código.

  3. Copiá el código y pegáselo a Claude. Listo: la sesión se renueva sola para siempre. ¿Más de una tienda? Repetí este paso con cada cuenta.

Si algo falla (los 5 errores clásicos)

Síntoma

Causa y solución

El conector no aparece en Claude

Claude no se reinició del todo (en Windows, cerralo también desde la bandeja junto al reloj), o el JSON quedó mal (una coma de más). Validá el archivo en jsonlint.com

"Faltan ML_APP_ID y ML_APP_SECRET"

Quedaron los textos TU_APP_ID / TU_SECRET_KEY sin reemplazar en el config

MercadoLibre dice "invalid redirect_uri"

La URI en tu app del DevCenter no es idéntica a la del paso 1 (revisá mayúsculas y que no tenga barra final)

"code inválido" al pegar el código

El código vence en minutos y es de un solo uso: repetí "conectá mi cuenta" y pegá el nuevo

La conexión se corta a las horas

Faltó el scope offline_access en la app: agregalo en el DevCenter y volvé a conectar

¿Seguís trabado? Escribinos por WhatsApp y te ayudamos.

📋 El tablero del día

Todo lo que encuentra el equipo, en una página que se ve linda y se entiende de un vistazo: la frase del día ("En octubre facturaste $… y te quedan $… limpios. Hoy hay 2 cosas urgentes…"), lo que está funcionando y lo que necesita atención (urgente primero, cada cosa con la skill que la resuelve), el total de hoy en vivo con los gráficos de ventas y de publicidad día por día (30 días, con el detalle de cada día al pasar el mouse y vista de tabla), tus números, la planilla de los 19 trabajadores (tocás uno y ves su tabla), lo que viene, la evolución de 30 días y la bitácora filtrable.

Con los colores de MercadoLibre (franja amarilla, azul y tarjetas blancas). Decile a Claude "abrí el tablero" (ml_tablero). Es una página local, privada y sin servidor: funciona sin internet, se actualiza sola con cada control del equipo, tiene modo oscuro, se ve bien en el celular y la primera vez arranca con un tutorial guiado. Mirala con datos de ejemplo en panel/tablero.html.

👷 El equipo de trabajadores 24/7

Dieciocho trabajadores con nombre que vigilan solos y constantemente a tus seguidos — no hace falta que se lo pidas cada vez. Cada uno tiene su oficio, su frecuencia y sus skills a cargo: cuando encuentra algo, la alerta trae la skill exacta para resolverlo.

Trabajador

Vigila

Cada

Skills a cargo

🕵️ Vera · Centinela de precios

precios de rivales; con tu publicación (mi_item) te avisa apenas uno queda más barato que vos

30 min

vigilancia-ml

📦 Tomás · Contador de ventas

ventas estimadas del rival (ritmo/día y $/mes), quiebres de stock y pausas = tus oportunidades

60 min

panel-ventas-ml

🏆 Martina · Vigía de búsquedas

top 50 de tus keywords: líder, precio líder y tu puesto

60 min

imagenes-ml

🎯 Bruno · Cazador de rivales nuevos

vendedores que aparecen por primera vez en tus búsquedas

3 h

revisar-publicaciones-aldi

🩺 Lucía · Auditora de publicaciones

cada 15 días audita TODAS tus publicaciones y te dice cuáles quedaron desactualizadas: preguntas que te repiten y no están en la descripción, días sin tocar, precio congelado o fuera de mercado, sin stock, fotos chicas, sin marca/modelo o garantía — y qué mejoró o empeoró desde la auditoría anterior

15 días

mejorar-publicaciones-ml · visualizador-publicaciones-ml · copiar-publicaciones-ml · faq-descripcion-ml

🗓️ Clara · Agenda comercial

el cronograma de promociones de MercadoLibre y las fechas cruciales (Hot Sale, CyberMonday, Black Friday, Día de la Madre/Padre/Infancias, Navidad…). Por cada una te pregunta si querés participar y te recuerda antes del cierre hasta que decidas — nunca se inscribe sola. Cuando arranca tu evento, te arma la actualización de Mi página

1 día

agenda-comercial-ml · mi-pagina-ml

💰 Ramiro · Analista de rentabilidad

la ganancia neta real de cada producto que vendiste (comisión real + publicidad por unidad + impuestos + envío + costo); avisa cuando uno te hace perder plata, cuando cae el margen y qué productos vendidos no tienen costo cargado

1 día

calculadora-ml · cerebro-ml

📣 Ana · Gestora de anuncios

tus campañas de Product Ads: gasto, ventas por ads y ACOS; avisa la campaña que gasta sin vender, el ACOS que se dispara y —cruzando con Ramiro— el anuncio cuyo ACOS supera lo que aguanta su margen

1 día

publicidad-ml

🚚 Leo · Coordinador de logística

qué despachar y hasta cuándo, envíos demorados, no entregados o devueltos, y si sube tu tasa de despachos con demora (lo que más castiga la reputación)

2 h

logistica-ml

🧾 Carmen · Contadora

tus números del mes: facturación, comisiones de ML, publicidad, impuestos, mercadería y neto, contra el mes anterior; el día 1 te da el cierre; si faltan costos, avisa que es parcial

1 día

contabilidad-ml · reporte-ventas-ml

📦 Nico · Encargado de stock

cuántos días de stock te quedan de cada producto según lo que vendés por día: avisa lo que se corta esta semana, lo que quedó sin stock vendiendo y el stock parado

6 h

stock-ml

💬 Paula · Atención al comprador

preguntas sin responder (y las que llevan más de 2 h) y mensajes de postventa sin leer

30 min

responder-preguntas-ml

🛡️ Iván · Reclamos y mediaciones

reclamos nuevos con su plazo, los que vencen en 24 h, los que pasan a mediación y los que se cierran

1 h

reclamos-ml

⭐ Valen · Reputación y opiniones

tu color, MercadoLíder y las métricas que lo mueven, y las opiniones negativas nuevas de tus más vendidos

1 día

reputacion-ml

🏷️ Gabi · Catálogo

el momento en que perdés el catálogo (buy box), con qué precio lo recuperás y si a ese precio ganás plata

6 h

competencia-ml

🚫 Sole · Moderaciones

publicaciones pausadas, en revisión o penalizadas por ML (y portada de baja calidad), con el motivo en castellano

6 h

moderaciones-ml

🔄 Fede · Proveedores

precio y stock de tus proveedores (su publicación en ML o la página de su tienda): te dice a cuánto vender con tu recargo y cuándo pausar porque se quedaron sin stock

6 h

proveedores-ml

📈 Sofía · Radar de tendencias

keywords que entran, salen o suben en tendencias

12 h

descubrir-ganadores-ml · video-publicaciones-ml · clips-ml · ugc-ml

🧭 Emma · Exploradora de nichos

cada semana analiza tus nichos candidatos con la API oficial (rotación, si se venden hoy, oportunidad o monopolio, techo de demanda, tendencia/estacional/evergreen) y arma el ranking de oportunidades; toma tus búsquedas seguidas y las que le asignes, y sin ninguna explora las tendencias del sitio. Avisa cuando un nicho pasa a 🟢 o deja de serlo

7 días

nichos-ml

🎩 El jefe de equipo

Le das un objetivo, él reparte el trabajo entre los 19. "Quiero vender más este mes", "¿por qué gano poco?", "preparame para el CyberMonday", "mejorá mi reputación": el jefe (ml_jefe, skill jefe-de-equipo-ml) elige qué trabajadores tienen que ver, los pone a trabajar en ese momento, junta lo que encontraron y te da el plan en orden (urgentes primero), cada paso con su responsable y la skill que lo resuelve. Lo que toca tu tienda, siempre con tu OK.

Ponele el nombre que quieras. Decile a Claude "el jefe se llama Don Ramón" (y si querés, un emoji: "que sea 👑"). Desde ahí aparece con ese nombre en los planes, en la lista del equipo y en el tablero, y le hablás directo: "Don Ramón, ¿cómo vendo más este mes?".

Dales tareas hablando: "Vera, vigilá MLA123 contra mi MLA456 y avisame si baja más de 2%" · "Martina, decime en qué puesto estoy para 'termo 1 litro'" · "¿qué encontró el equipo?" · "Lucía, auditá la tienda ahora" · "Clara, ¿qué fechas vienen?". Sin tareas propias, cada uno vigila tus seguidos de ml_vigilar de su tipo.

Cuándo trabajan:

  • Mientras Claude está abierto: se despiertan solos (cero configuración).

  • 24/7 con la PC prendida: un comando y arrancan solos al iniciar sesión (sin permisos de administrador):

    npx -y github:kokesaurio/mercadolibre-sellers-mcp-algoritmo-Digital trabajadores instalar

    Estado: ... trabajadores estado · Sacarlo: ... trabajadores desinstalar. Nunca corren dos veces a la vez (candado con latido) y la sesión de ML se renueva con candado entre procesos, así Claude y el servicio no se pisan el token.

  • Opcional: ML_TRABAJADORES_WEBHOOK=https://... en el config manda cada alerta a tu CRM, n8n o WhatsApp.

🗄️ Base de datos incluida, cero instalación (ideal Windows): el equipo guarda cada medición y cada alerta en SQLite, que ya viene adentro de Node.js — no hay servidor, ni Docker, ni compilar nada. Es un solo archivo, equipo.db, en %USERPROFILE%\.meli-sellers-mcp (Windows) o ~/.meli-sellers-mcp.

  • Guarda 400 días de historial: "historial de MLA123" muestra día por día el precio del rival vs el tuyo, cuánto vendió cada día, tu puesto en una búsqueda o el top de tendencias, con mínimos, máximos y variación.

  • Claude y el servicio 24/7 la usan a la vez sin trabarse (modo WAL, probado con 3 procesos escribiendo en paralelo).

  • "estado de la base" te dice cuánto ocupa y hace backup en un toque. Si querés mirarla por dentro: winget install -e --id DBBrowserForSQLite.DBBrowserForSQLite.

  • ¿Node viejo? Necesita Node 22.5+ (winget install OpenJS.NodeJS.LTS en Windows). Con uno anterior el equipo sigue funcionando igual, solo sin historial.

📊 Resultados, no solo alertas: "mostrame los resultados del equipo" trae una tabla por trabajador con todo lo que sabe — precio de cada rival vs el tuyo, ritmo de ventas y facturación estimada por mes del rival, tu puesto en cada búsqueda, rivales nuevos de la semana y el top de tendencias.

📁 Todo en tu Google Drive, actualizado solo ("conectá el equipo a Drive"):

  • Planilla de Google en vivo (24/7, sin crear apps en Google Cloud): pegás este script en Extensiones → Apps Script de una planilla nueva, con la clave secreta que te da Claude, y la implementás como App web. Queda una pestaña Alertas, una pestaña Historial (60 días de mediciones de la base) y una pestaña por trabajador que se reescribe en cada control.

  • Carpeta de Google Drive para escritorio: se detecta sola y se crea MercadoLibre - Equipo de trabajadores con Alertas.csv, Historial.csv (90 días), un CSV por trabajador y un resumen.

  • Seguro: la planilla rechaza envíos sin tu clave, y ningún texto de un rival (ej. un título con =IMPORTXML(...)) se guarda como fórmula.

Las 32 skills — tu equipo de trabajo

El conector trae 32 skills listas con guía de uso de cada una. Se suben una vez en Claude (Configuración → Capacidades → Skills → Cargar skill) y convierten las herramientas en flujos completos: vos pedís en una frase, la skill sabe el procedimiento.

🚀 Empezá por acá: subí setup-ml y decile a Claude "setup" — conecta tus cuentas, arma la vigilancia inicial y te entrega tu primera foto del negocio con las 3 acciones más urgentes.

📊 Operación diaria

Skill

Pedila así

panel-ventas-ml

"¿cómo venimos hoy?" — facturación de hoy y del mes, top productos, envíos FULL/Flex/Colecta y provincias

reporte-ventas-ml

"reporte de ventas" — el resumen de 4 líneas apto WhatsApp

responder-preguntas-ml

"respondamos las preguntas" — todas las respuestas propuestas juntas, publica solo lo que apruebes

🔍 Optimización de publicaciones

Skill

Pedila así

mejorar-publicaciones-ml

"auditá mis publicaciones" — semáforo 🔴🟡🟢 con la acción concreta por ítem, las peores primero. "Mejorá esta publicación" — el mejorador: medidas en las fotos, video, resumen en los 5 primeros renglones → medidas → características → qué viene, y FAQ de 20 con las preguntas de 90 días

faq-descripcion-ml

"me preguntan siempre lo mismo" — las preguntas repetidas de tus compradores pasan a la descripción como preguntas frecuentes, con tus respuestas reales (Lucía te avisa cuáles faltan)

agenda-comercial-ml

"¿qué fechas vienen?" — el cronograma de ML y las fechas cruciales; te pregunta si participás en cada una y arma la participación validada por margen

mi-pagina-ml

"actualizá Mi página" — banner del evento y tus productos destacados, aplicado en tu navegador con tu OK (y sacarlo cuando termina)

tablero-ml

"abrí el tablero" — el parte del día visual: lo que funciona, lo que necesita atención y tus números de un vistazo

jefe-de-equipo-ml

"quiero vender más este mes" — le das un objetivo y reparte el trabajo entre los 11 trabajadores, con el plan en orden

logistica-ml

"¿qué tengo que despachar?" — despachos del día con horario, demorados, devoluciones y cuidado de la reputación

contabilidad-ml

"¿cuánto gané este mes?" — el resultado neto del mes y el cierre mensual para vos o tu contador

stock-ml

"¿qué tengo que reponer?" — días de stock por producto, qué pedir y cuánto antes del quiebre

reclamos-ml

"me hicieron un reclamo" — responder bien y antes del plazo, mediaciones incluidas

reputacion-ml

"¿cómo está mi reputación?" — qué mueve tu color y qué hacer con cada opinión negativa

moderaciones-ml

"me pausaron una publicación" — el motivo en castellano y cómo corregirla para reactivarla

proveedores-ml

"vigilá a mi proveedor" — precio y stock del proveedor atados a tu precio y tu stock

visualizador-publicaciones-ml

"armame el visualizador" — tablero interactivo con foto y semáforo: tocás cuáles mejorar y te genera el pedido

copiar-publicaciones-ml

"copiá esta publicación a la otra tienda" — clona entre tus cuentas; lo ajeno se redacta, nunca se clona

revisar-publicaciones-aldi

"pasá esta publicación por Aldi" — segunda opinión con Aldi 2.0, el GPT revisor de Algoritmo Digital

🎨 Kit creativo: imágenes y videos

Skill

Pedila así

imagenes-ml

"armame las imágenes de MLA..." — el set fijo de 4 infografías con tus fotos reales (abajo hay ejemplos)

video-publicaciones-ml

"hacé un video para Reels de MLA..." — guion por escenas y producción con HyperFrames desde datos reales

clips-ml

"¿qué clips tengo?" — mapa de Clips de la tienda, estado de moderación con motivos, y subida por API validando los requisitos de ML

ugc-ml

"hacé un UGC de este producto" — estilo usuario real con avatar de IA siempre y castellano latino neutro

🥊 Competencia y crecimiento

Skill

Pedila así

nichos-ml

"buscame un nicho" · "dame el ranking de oportunidades" — con la API oficial (sin Nubimetrics): rotación, ¿se vende hoy o vendió en el pasado?, oportunidad o monopolio, techo de demanda, tendencia/estacional/evergreen y si cierran los números con tu costo

descubrir-ganadores-ml

"¿qué conviene vender?" — más vendidos oficiales por categoría, tendencias y análisis de mercado por keyword, validado por margen

trabajadores-ml

"¿qué encontró el equipo?" — los 19 trabajadores 24/7 y su jefe: darles tareas, leer sus alertas y despachar cada una a su skill

vigilancia-ml

"¿qué cambió en la competencia?" — solo novedades: precios movidos, publicaciones nuevas, ventas estimadas del rival, keywords en alza

competencia-ml

"¿estoy ganando el catálogo?" — semáforo de precios y buy box, con recomendaciones validadas por margen

publicidad-ml

"revisemos la publicidad" — Product Ads con regla ACOS vs margen y promociones separando tu aporte del de ML

cerebro-ml

"acordate que el costo es..." — la memoria del negocio: costos, impuestos, medidas y notas guardados UNA vez, usados por todas las herramientas. Todas las skills ofrecen guardar lo que aprenden acá

calculadora-ml

"¿cuánto gano con este producto?" — el desglose peso por peso: comisión real + publicidad en vivo + impuestos + costo → ganancia neta, margen y ACOS máximo

setup-ml

"setup" — la puesta en marcha guiada de todo lo anterior

Rutina sugerida: diaria = panel + preguntas (5 min) · semanal = vigilancia → visualizador → mejoras → publicidad · al publicar algo nuevo = copiar → imágenes → video → revisión con Aldi.

El set de imágenes de venta (así salen)

La skill imagenes-ml genera el set fijo de 4 — beneficio (foto 2), características (foto 4), medidas con cotas (foto 5) y qué incluye (foto 6) — en 1200×1200, con las fotos reales de tu publicación incrustadas y cumpliendo las reglas de imágenes de MercadoLibre (sin datos de contacto, sin "OFERTA", legible en miniatura):

Foto 2 — Beneficio

Foto 5 — Medidas

Ejemplo: beneficio principal

Ejemplo: medidas con cotas

Las plantillas son SVG paramétricos y el generador es un comando: python3 plantillas/generar.py --plantilla medidas --datos datos.json --foto tu-foto.png --salida foto-5-medidas.png. El método completo (orden de publicación foto 2→10, solo datos confirmados, revisión pieza por pieza) está grabado en la skill.

Herramientas (43)

Herramienta

Qué hace

ml_conectar / ml_cuentas / ml_desconectar

Vincular varias tiendas, elegir la predeterminada (⭐) y desconectar

ml_ordenes

Ventas con filtros de fecha y estado

ml_panel_ventas

El tablero completo: facturación de hoy y del mes, top productos, métodos de envío y en qué provincias se concentra la venta

ml_metricas

Facturación, unidades y ticket vs período anterior; con cuenta="todas" consolida todas tus tiendas

ml_envios

Estado y tracking del envío de una orden

ml_publicaciones / ml_publicacion

Tus publicaciones y su detalle (incluye fotos y si tiene video)

ml_auditar_publicaciones

Semáforo 🔴🟡🟢 de TUS publicaciones con cómo mejorar cada una: título, fotos, descripción, envío, stock, video faltante, tipo y catálogo — las peores primero

ml_faq_descripcion ✏️

Las preguntas de tus compradores → preguntas frecuentes en la descripción, con TUS respuestas reales: agrupa las repetidas, descarta stock/precio/envíos y cualquier dato de contacto, no repite lo que ya está y actualiza el bloque sin duplicar. Primero muestra la propuesta; aplica con tu OK (una o todas las que marcó Lucía)

ml_visitas

Tráfico de una publicación

ml_actualizar_publicacion ✏️

Cambiar precio, stock o pausar/activar

ml_mejorar_publicacion 🛠️

El mejorador de publicaciones, multicuenta (encuentra solo de qué tienda es cada publicación; sin item_id barre todas tus tiendas y marca el mismo producto repetido entre ellas): te muestra las fotos para ver si tienen las medidas, chequea el video y que la descripción tenga el resumen en los 5 primeros renglones → medidas → características principales → qué viene en la caja, y audita las preguntas de los últimos 90 días en un FAQ de 20 con tus respuestas

ml_aplicar_mejora ✏️

Reescribe la descripción con esa estructura y el FAQ de 20 al final (vista previa primero, con tu OK la escribe y guarda un respaldo de la anterior). Con mismo_sku=true, en todas las publicaciones de ese SKU de todas tus tiendas, cada una con el FAQ de sus preguntas

ml_crear_publicacion ✏️

Crear una publicación nueva, o clonar una existente (copiar_de) — ideal para duplicar entre tus tiendas. Si el SKU ya tiene costo lo usa; si no, te pregunta el costo antes de publicar

ml_preguntas / ml_responder_pregunta ✏️

Ver y responder preguntas de compradores

ml_cerebro 🧠

La memoria del negocio: guarda costos, impuestos, envío, medidas y notas por producto o del negocio entero (local, en tu máquina) — y las demás herramientas lo usan solas. El costo va por SKU: lo comparten todas las publicaciones del mismo producto

ml_publicidad

Product Ads EN VIVO: inversión, impresiones, clics, CPC, ACOS y ventas por ads de una publicación o de todas las campañas

ml_rentabilidad

La calculadora real: precio − comisión real de ML − publicidad por unidad (en vivo) − impuestos − envío − costo = ganancia neta, margen y ACOS máximo que aguanta. Usa el 🧠 cerebro: lo que le enseñaste no te lo vuelve a preguntar, y lo nuevo lo aprende solo

ml_comisiones

Cuánto cobra ML por vender a un precio dado

ml_precio_catalogo

Si ganás la buy box del catálogo y qué precio la gana

ml_buscar

Espiar competencia y precios de mercado

ml_reputacion

Color, reclamos, demoras y cancelaciones

ml_promociones / ml_aceptar_promocion ✏️

Promociones ofrecidas y aceptación por ítem

ml_agenda 🗓️

La agenda comercial: fechas cruciales del año (calculadas solas cada año, por país) + el cronograma de campañas de MercadoLibre con cierre de inscripción y candidatas. Guarda tu decisión de participar o no (Clara te sigue preguntando hasta que decidas), fechas propias, y arma el kit para actualizar Mi página (banner y destacados del evento)

ml_tablero 📋

El tablero del día: arma (y con abrir=true abre en tu navegador) la página visual con lo que funciona, lo que necesita atención, tus números, el equipo, lo que viene, la evolución y la bitácora; se actualiza sola

ml_jefe 🎩

El jefe de equipo: le das un objetivo en una frase y reparte el trabajo entre los trabajadores que corresponden, los hace trabajar ya y te devuelve el plan en orden con responsable y skill por paso. Con nombre le ponés el nombre (y emoji) que quieras

ml_numeros 🧾

Los números del mes de Carmen: facturación, comisiones reales de ML, publicidad, impuestos, mercadería, envíos → resultado neto y margen, contra el mes anterior (marca "parcial" si faltan costos)

ml_despachos 🚚

La lista de Leo: qué despachar y hasta cuándo, demorados, devueltos/no entregados, por tipo de envío, y tu % de despachos con demora

ml_nichos 🧭

Descubrir nichos con la API oficial: rotación de cada publicación, si se vende hoy o vendió en el pasado, oportunidad o monopolio, techo de demanda y cuánto vende un nuevo, tendencia/estacional/evergreen y, con tu costo, si cierran los números. Con varias búsquedas, el ranking de oportunidades (0-100)

ml_tendencias

Qué está buscando la gente en ML

ml_descubrir_ganadores

Artículos ganadores con datos de la API: ranking oficial de más vendidos por categoría (highlights) + análisis de mercado por keyword (competencia, precios, dominancia, señal de oportunidad)

ml_vigilar / ml_novedades_competencia

Lista de rivales 🥊, productos seguidos 📦, búsquedas y trends — y el control que reporta solo lo que cambió: precios, publicaciones nuevas, ventas estimadas del rival, cambios de líder y keywords en alza

ml_trabajadores 👷

El equipo 24/7 (19 trabajadores; a Emma se le asigna ref=la búsqueda del nicho; a Fede se le asigna ref=tu publicación y fuente=la del proveedor o la URL de su tienda, con recargo): Vera (precios), Tomás (ventas/stock de rivales), Martina (ranking y tu puesto), Bruno (rivales nuevos), Lucía (auditoría de tus publicaciones cada 15 días), Clara (agenda comercial y cronograma de ML), Ramiro (rentabilidad), Ana (anuncios), Leo (logística), Carmen (contabilidad), Nico (stock), Paula (atención), Iván (reclamos), Valen (reputación), Gabi (catálogo), Sole (moderaciones), Fede (proveedores) y Sofía (tendencias) — asignar tareas, frecuencia, pausar, correr ya, informe con la skill a usar en cada alerta, resultados (tablas con todo lo que sabe cada uno), historial día por día y base (SQLite incluida: estado y backup), y envío a Google Drive (planilla en vivo o carpeta)

ml_historial_competencia

La base de datos de competencia: evolución de precios, ventas y líderes de cada objetivo vigilado — se alimenta sola con cada control

ml_clips

Los Clips (videos verticales) de tus publicaciones y cuáles sirven: mapa de la tienda + estado de moderación por clip (publicado/en revisión/rechazado con el motivo y cómo corregirlo)

ml_subir_clip ✏️ / ml_borrar_clip ✏️

Subir un clip por API (valida formato, duración y peso antes) y borrar los rechazados para resubir corregidos

ml_version

Versión instalada, chequeo de actualizaciones y cómo actualizar

✏️ = escribe en tu tienda real. Claude siempre pide confirmación antes, y con ML_SOLO_LECTURA=1 esas 9 herramientas directamente no existen.

Varias tiendas

Corré ml_conectar una vez por cada cuenta. Todas las herramientas aceptan cuenta (el user_id) para elegir tienda; sin indicarla se usa la predeterminada (⭐, se cambia con ml_cuentas), y si hay varias sin predeterminada el conector pide elegir en vez de adivinar — nunca opera en la tienda equivocada. "¿Cómo vienen las ventas de todas las tiendas?" usa el consolidado.

Actualizaciones

El conector se chequea solo contra GitHub (una vez por día, sin enviar ningún dato): cuando publicamos una mejora, la primera respuesta de tu sesión te avisa que hay versión nueva. También podés preguntarle a Claude "¿qué versión del conector tengo?" (ml_version). Para actualizar:

npx -y github:kokesaurio/mercadolibre-sellers-mcp-algoritmo-Digital actualizar

…y reiniciá Claude: al arrancar baja la última versión automáticamente. Historial de cambios en el CHANGELOG y en los releases.

Seguridad

  • OAuth 2.0 con PKCE; los tokens viven en ~/.meli-sellers-mcp/cuentas.json con permisos 0600, en tu máquina y en ningún otro lado.

  • El refresh token de ML es de un solo uso: el conector serializa los refresh (single-flight) para que dos llamadas concurrentes no revoquen tu cuenta.

  • La página del código de autorización es estática (GitHub Pages) y no envía nada a ningún servidor.

  • Cero telemetría, cero base de datos externa.

  • ¿Encontraste una vulnerabilidad? Leé la política de seguridad — reporte privado, respuesta en 72 hs.

Desarrollo y comunidad

npm install
npm test      # 42 pruebas E2E contra un MercadoLibre simulado
npm run dev   # levanta el simulado en :9990 (conectar con code CODE-OK)

Cada push corre la suite completa en GitHub Actions. ¿Querés sumar algo? Leé cómo contribuir — regla de oro: todo cambio deja npm test en verde y cada funcionalidad nueva trae su caso E2E. ¿Encontraste un error o te falta una herramienta? Abrí un issue.

Comunidad

📲 Sumate al grupo de WhatsApp de vendedores — novedades del conector, tips de MercadoLibre y ayuda entre vendedores que ya lo usan.

¿Querés más?

Algoritmo Digital hace consultoría, gestión de cuentas y desarrollo a medida sobre MercadoLibre hace más de 15 años. Escribinos: WhatsApp

Licencia

MIT — Algoritmo Digital.

Available Tools

32 tools
ml_aceptar_promocionAceptar promociónA

ACTIVA una publicación dentro de una promoción de MercadoLibre, al precio indicado. Visible para compradores: usar solo con confirmación explícita por ítem.

NameRequiredDescriptionDefault
tipoYesTipo de la promoción (DEAL, DOD, etc.)
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
item_idYes
precio_finalNodeal_price; si falta, ML usa el sugerido
promocion_idYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=false already declares a write, and the description adds genuinely useful behavioral context beyond that: the change is buyer-visible ('Visible para compradores') and tied to a specific price, signalling real-world impact. It does not cover reversibility or failure behavior, but the visibility warning is meaningful additional disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences, front-loaded with the action verb and impact, then the constraint. No filler. Slightly terse – it leaves no room to explain account selection or outcomes – but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation that makes a price-promotion publicly visible, the description covers purpose, price and confirmation but omits failure behavior, reversibility, and how cuenta affects multi-account setups. With no output schema and 60% parameter coverage, a few more specifics would make it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, so the schema documents tipo, cuenta and precio_final while item_id and promocion_id are bare. The description adds only the 'al precio indicado' reference, loosely mapping to precio_final, and nothing beyond the schema for the undocumented parameters. Baseline 3 is warranted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (ACTIVA) plus resource (una publicación dentro de una promoción) and the price context. An agent can distinguish this action tool from the listing sibling ml_promociones without opening the schema. It stops short of explicitly naming that sibling as the read counterpart, so it is strong but not maximally differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a real usage condition – 'usar solo con confirmación explícita por ítem' – which effectively gates invocation and functions as a when-to-use guard rail. It does not, however, name alternatives or state when-not beyond the confirmation requirement. Clear context without explicit alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_actualizar_publicacionActualizar publicaciónA

MODIFICA una publicación real: precio, stock o estado (pausar/activar). Usar solo con confirmación explícita del usuario.

NameRequiredDescriptionDefault
stockNo
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
estadoNo
precioNo
item_idYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false; the description adds that the operation modifies a real publication and requires explicit user confirmation. It does not disclose whether changes are reversible, what side effects occur, or permission requirements, so behavioral detail remains thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One concise sentence with the verb front-loaded in caps and the usage condition appended. No filler or redundant restatement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-param mutation tool with low schema coverage and no output schema, the description is too sparse: it does not explain item_id, the cuenta parameter, or the return/effect of the change. It covers purpose and confirmation but leaves key invocation details missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 20%, so the description carries more weight. It names precio, stock, and estado as modifiable fields and clarifies estado via pausar/activar, but omits item_id (required) and cuenta, leaving two parameters without added meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (MODIFICA) and resource (publicación real) and enumerates the modifiable fields. It does not name any sibling tool to distinguish from ml_crear_publicacion or ml_publicaciones, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to use only with explicit user confirmation, which is a clear usage condition. It does not mention alternatives or when-not-to-use beyond that confirmation gate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_auditar_publicacionesAuditar mis publicacionesA
Read-only

Lista las publicaciones del vendedor con un semáforo de calidad y cómo mejorar cada una: título corto o con relleno, pocas fotos, sin descripción, sin envío gratis, stock crítico, catálogo perdido, publicación pausada. Devuelve las peores primero con la acción concreta. Ideal para "¿qué publicaciones tengo que mejorar?".

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
estadoNodefault active
limiteNoCuántas auditar (default 10)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already signals a safe read; the description goes further by disclosing ordering ('devuelve las peores primero') and what the audit flags (short/padded title, few photos, no description, critical stock, lost catalog, paused listing). It does not disclose pagination or result limits behavior, but the output-shaping context is real added value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core capability, then the flagged conditions, then the routing cue. The condition list is long but each item earns its place by telling the agent what the audit surfaces. Minor redundancy between the semáforo phrase and the condition list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description must explain returns — and it does (worst-first ordering plus concrete remediation action per listing). With all 3 params documented and safety covered by annotations, only per-field return detail is thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and each parameter (cuenta, estado, limite) is documented with defaults. The description adds no parameter-level syntax or constraints, so the baseline 3 applies since the schema carries the full load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (auditar/listar) plus resource (publicaciones) plus a distinguishing angle: a quality 'semáforo' with remediation per listing. An agent can tell this apart from ml_publicaciones (plain list) and ml_publicacion (single-listing detail) without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The closing line 'Ideal para "¿qué publicaciones tengo que mejorar?"' gives an explicit triggering context. However, it never names an alternative (ml_publicaciones, ml_actualizar_publicacion) or states when-not to use it, so routing is contextual rather than prescriptive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_borrar_clipBorrar un clipA

Borra un clip de una publicación (por ejemplo uno rechazado, para subir la versión corregida). Funciona en cualquier estado de moderación.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
item_idYes
clip_uuidYesEl id del clip (sale de ml_clips)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=false already signals a mutating operation. The description usefully adds that the clip can be deleted regardless of moderation state, but says nothing about permanence/irreversibility, whether the clip is recoverable, or permission requirements — meaningful gaps for a delete tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero padding, with the action stated first. Efficient and front-loaded, though slightly terse given the destructive nature of the operation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete with a write annotation and no output schema, the description covers scope and use case, but omits consequences of the deletion and the partially-undocumented item_id parameter, leaving an agent with avoidable uncertainty.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: cuenta and clip_uuid are documented in the schema, but item_id is not. The description adds no parameter-level detail (syntax, ids, relationship between item_id and clip_uuid), so it neither compensates for the gap nor goes beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (borra) and resource (un clip de una publicación), plus a concrete use case. It is distinguishable from ml_subir_clip and ml_clips by the deletion semantics, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a clear when-to-use context ('uno rechazado, para subir la versión corregida') and a scope note ('funciona en cualquier estado de moderación'). No explicit alternatives or exclusion conditions are given, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_buscarBuscar en MercadoLibreB
Read-only

Busca publicaciones públicas en MercadoLibre (para espiar competencia y precios de mercado).

NameRequiredDescriptionDefault
sitioNo
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
limiteNo
consultaYesQué buscar, ej "termo acero 1 litro"

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description usefully adds that it searches only 'públicas' listings, but says nothing about pagination behavior, how 'limite' bounds results, whether a site must be specified, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no waste; the verb and resource come first and the parenthetical earns its place by signaling intent. It is perhaps slightly too terse for a 4-parameter tool, but structurally efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 4 parameters (2 undocumented), no output schema, and only a readOnly annotation, the description is too thin. It does not explain the shape of results, whether 'sitio' defaults to a specific country, or how 'limite' interacts with result pages — context an agent needs to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%: 'consulta' and 'cuenta' are documented in the schema, while 'sitio' and 'limite' carry no descriptions anywhere. The description adds no parameter meaning at all, so it fails to compensate for the half of the schema that is undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Busca) and resource (publicaciones públicas en MercadoLibre), plus the intended purpose (competitor and price reconnaissance). However, it does not distinguish itself from similarly competition-oriented siblings such as ml_novedades_competencia, ml_historial_competencia, or ml_descubrir_ganadores, leaving the agent to infer the difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical '(para espiar competencia y precios de mercado)' implies a use context, so usage is suggested rather than absent. But there is no explicit when-to-use rule, no exclusions, and no routing to alternatives among the many competitor-tracking siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_clipsClips de las publicacionesA
Read-only

Consulta los Clips (videos verticales cortos) de tus publicaciones por la API y dice cuáles sirven: con item_id muestra cada clip y su estado de moderación (publicado ✅, en revisión ⏳ 24-48 hs, rechazado ❌ con el motivo y cómo corregirlo); sin item_id recorre tus publicaciones activas y arma el mapa de video de la tienda (clips + video clásico) con cuáles priorizar.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
item_idNoUna publicación puntual; sin indicarlo, mapa de toda la tienda (hasta 10)

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With readOnlyHint=true already covering the read-only nature, the description adds substantial behavioral context: moderation states (published, under review for 24-48 hours, rejected with reason and correction guidance) and the store-wide video map behavior when item_id is omitted. This goes well beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but front-loaded and organized around the item_id condition. It uses one long sentence with parenthetical details and emoji status markers, which is efficient though slightly heavy for a single sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with two optional parameters and no output schema, the description gives enough detail about what is returned in both modes, including moderation outcomes and store video map prioritization. No critical invocation context appears missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds meaning for item_id by explaining that including it returns per-clip moderation status, while omitting it returns a store-wide video map, which supplements the schema's 'una publicación puntual; sin indicarlo, mapa de toda la tienda (hasta 10)'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Consulta los Clips ... de tus publicaciones' and explains the two behavioral modes based on item_id. It is clear what the tool does, though it does not explicitly name sibling tools like ml_subir_clip or ml_borrar_clip to differentiate the read-only consultation role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for when to pass item_id versus omit it: with item_id it shows each clip and moderation status; without it, it scans active publications and builds a store video map. It does not, however, explicitly state when to choose this tool over alternatives such as ml_publicacion or ml_publicaciones.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_comisionesComisiones y costos de ventaA
Read-only

Cuánto cobra MercadoLibre por vender a un precio dado (comisión por tipo de publicación), para calcular márgenes.

NameRequiredDescriptionDefault
sitioNo
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
precioYes
categoriaNoID de categoría, ej MLA1055

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already signals a safe read/compute operation, so the description need not restate safety. It adds that the output is a commission broken down by listing type, which is useful context, but it says nothing about whether all costs (shipping, fees) are included or what the result shape is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with the core purpose stated first and the intended use appended cheaply. No filler, every clause carries meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should describe the return more fully; it names the returned quantity (commission by listing type) but omits the format and whether other costs are included. For a 4-parameter compute tool this is adequate but leaves the return underspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 50% schema description coverage, the schema documents 'cuenta' and 'categoria' but leaves 'sitio' and the required 'precio' undocumented. The description hints that precio is the sale price and that a listing-type dimension affects the result, but adds no syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb+resource: it tells you how much MercadoLibre charges in commission for selling at a given price. It even scopes the result (commission per listing type) and the intent (to compute margins). It's clear, though it doesn't explicitly differentiate itself from near-neighbors like ml_rentabilidad.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'para calcular márgenes' implies the usage context, so the agent can infer this is for margin/profit calculations. However, there is no explicit when-to-use/when-not guidance and no mention of alternatives such as ml_rentabilidad or ml_precio_catalogo.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_conectarConectar cuenta de MercadoLibreA
Read-only

Vincula una cuenta de MercadoLibre. Sin argumentos devuelve la URL para autorizar en el navegador; con code (el código que muestra la página al autorizar) completa la conexión. Requiere ML_APP_ID y ML_APP_SECRET configurados.

NameRequiredDescriptionDefault
codeNoCódigo que devolvió MercadoLibre al autorizar
sitioNoPaís: MLA (Argentina, default), MLB, MLM, MLC, MCO, etc.

TDQS

A3.5/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses behavior beyond the annotations (two distinct modes, the auth-code round-trip, the required env vars), but it describes a state-changing operation ("Vincula una cuenta", "completa la conexión") while the annotation declares readOnlyHint=true. Linking an account persists credentials and mutates the connector's state, so the readOnly annotation is contradicted. Per the rubric, a contradiction caps this dimension at 1.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the purpose, then the branch behavior, then the prerequisite. Every sentence carries information and there is no padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an OAuth tool with full schema coverage and no output schema, the description covers both invocation modes and the configuration prerequisite, which is close to what an agent needs to call it correctly. It stops short of describing the returned URL shape or failure modes, and it leaves the readOnly annotation unflagged.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds real semantics the schema lacks: it explains that omitting `code` returns an authorization URL and that supplying it completes the connection, which clarifies the optional-parameter interplay. The `sitio` parameter is not mentioned, but the schema documents it sufficiently.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("Vincula una cuenta de MercadoLibre") and immediately explains the two operating modes, so the agent knows exactly what the tool accomplishes. It never names the natural counterpart (ml_desconectar) or any other sibling, so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit when-to-use guidance for both branches: call with no arguments to get the browser authorization URL, call with `code` to finish the connection. It also states the prerequisite (ML_APP_ID and ML_APP_SECRET must be configured), but it does not point to alternative tools for related tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_crear_publicacionCrear publicaciónA

CREA una publicación real en la tienda. Con copiar_de clona una publicación existente (título, categoría, atributos, fotos, descripción) y permite pisar título/precio/stock — ideal para duplicar entre tus propias cuentas. Usar solo con confirmación explícita del usuario.

NameRequiredDescriptionDefault
tipoNolisting_type_id, ej gold_special (Clásica)
stockNo
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
precioNo
tituloNoTítulo (≤60 caracteres). Obligatorio si no hay copiar_de
imagenesNoURLs de fotos propias
categoriaNoID de categoría ML (obligatorio sin copiar_de)
condicionNo
copiar_deNoitem_id a clonar (ej MLA123...). Solo copiar fotos/textos si son propios
descripcionNo

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false; the description adds substantial context beyond that: the operation creates a REAL listing, clone mode copies title/category/attributes/photos/description (with an IP caution about only copying own content), and overriding title/price/stock is permitted. A user-confirmation requirement is stated. It does not describe failure modes or what the response returns, but the mutation semantics are well disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the verb and the high-stakes nature of the operation, then the clone mechanic, then the safety constraint. No filler; each sentence carries distinct information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter mutation with no output schema, the description covers the two operation modes (fresh create vs clone-and-override) and the confirmation requirement. It leaves the required-parameter logic partly to the schema descriptions, but nothing critical to correct invocation is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 60%, so several params (tipo, cuenta, condicion, descripcion) rely on the schema alone. The description nonetheless adds real meaning: it explains what copiar_de clones and that titulo/precio/stock can override the cloned values, and the schema itself already flags which fields are 'Obligatorio si no hay copiar_de'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Starts with an emphatic specific verb+resource ('CREA una publicación real en la tienda'), making clear this is a genuine write to the listing store, not a draft. The clone mode is spelled out precisely ('clona una publicación existente... permite pisar título/precio/stock'), so an agent can tell it apart from the sibling ml_actualizar_publicacion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit usage constraint ('Usar solo con confirmación explícita del usuario') and a positive use case ('ideal para duplicar entre tus propias cuentas'). It does not name an alternative tool for the case where the user wants to modify an existing listing, which would have made routing unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_cuentasCuentas conectadasB
Read-only

Lista las cuentas de MercadoLibre conectadas (soporta varias tiendas). Con predeterminada fija cuál usar cuando no se indica cuenta.

NameRequiredDescriptionDefault
predeterminadaNouser_id de la cuenta a fijar como predeterminada

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations declare readOnlyHint=true, but the description says 'Con predeterminada fija cuál usar cuando no se indica cuenta' and the parameter is a user_id 'a fijar como predeterminada', implying a persistent write operation. This directly contradicts the read-only annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no wasted words: the first establishes the listing scope, the second explains the optional parameter. It is front-loaded and appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool this is mostly adequate, but there is no output schema and the description does not describe what a returned 'cuenta' contains or whether listing is paginated. The dual read/write ambiguity also leaves context incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds the contextual meaning that predeterminada sets which account to use when no account is specified. This goes beyond the schema's plain 'user_id de la cuenta a fijar como predeterminada'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Lista las cuentas de MercadoLibre conectadas' and adds multi-store context. It does not explicitly compare itself to sibling tools like ml_conectar or ml_desconectar, but the listing purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool instead of alternatives such as ml_conectar or ml_desconectar. The description only explains the effect of the optional parameter, not tool selection or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_desconectarDesconectar cuentaA

Elimina los tokens guardados de una cuenta (deja de estar conectada en esta computadora).

NameRequiredDescriptionDefault
cuentaYesuser_id de la cuenta a desconectar

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=false already signals a mutating operation, and the description usefully adds what is destroyed (saved tokens) and the scope of the effect (connection on this computer only). It does not say whether reconnection requires re-authentication or whether the change is reversible, but it adds real context beyond the annotation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the action first and the consequence in parentheses; nothing is padded or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description gives the essential effect and its scope. Minor gap: it leaves ambiguous whether the token revocation is purely local or also server-side, which matters for an agent reasoning about re-authentication.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single required parameter (cuenta / user_id), so the schema carries the load. The description adds no further meaning about the parameter, which is the expected baseline when coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: deleting an account's stored tokens, with the observable effect (account is no longer connected on this machine). It is clear enough to distinguish from a generic delete, though it never names the counterpart sibling ml_conectar explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The parenthetical implies the intended scenario (you want the account to stop being connected here), but there is no explicit when-to-use or when-not-to-use statement and no pointer to the complementary ml_conectar tool. Usage is inferred rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_descubrir_ganadoresDescubrir artículos ganadoresA
Read-only

Encuentra artículos ganadores dentro de lo que permite la API: por CATEGORÍA usa el ranking oficial de más vendidos (highlights) + las tendencias de esa categoría; por BÚSQUEDA analiza el mercado de una keyword (competencia, precios, envío gratis, vendedores que dominan y ventas visibles). Indicar categoria (id tipo MLA1234) o busqueda (keyword).

NameRequiredDescriptionDefault
sitioNo
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
busquedaNoKeyword a analizar, ej "termo 1 litro"
categoriaNoID de categoría, ej MLA1055

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read, so the bar is lower, yet the description still adds substantive behavioral context: it discloses the data sources and the exact dimensions analyzed (competition, prices, free shipping, dominant sellers, visible sales). It omits rate limits, result volume and pagination, so it is not a full 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action, then two parallel clauses for the two modes, then the input instruction. Dense but every clause carries information; only slight compression loss from packing the keyword-analysis dimensions into one long sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only analytical tool with no output schema, the description covers both operating modes and what each returns conceptually. It leaves the sitio parameter and the multi-account context (only glancingly referenced via ml_cuentas) implicit, so an agent may not know how to scope the query when several accounts are connected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

At 75% schema coverage the schema already documents cuenta, busqueda and categoria, so a 3 would be defensible. The description earns above baseline by explaining the routing semantics that the schema does not: categoria activates the official ranking+trends path while busqueda activates the keyword market-analysis path, i.e. they are alternative drivers. The undocumented 'sitio' parameter is never mentioned in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (encuentra/descubrir) and resource (artículos ganadores) and even splits the behavior into two concrete modes: category mode (official best-seller highlights + trends) and search mode (market analysis of a keyword). This is far more than a restatement of the title. It falls short of a 5 because it does not name or differentiate itself from likely-overlapping siblings such as ml_tendencias, ml_novedades_competencia or ml_buscar.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The closing line ('Indicar categoria ... o busqueda') tells the agent which input selects which mode, which is genuine usage guidance. However, it never states when to choose this tool over alternatives like ml_tendencias or ml_buscar, nor any prerequisite (e.g. that a connected account is needed). Usage is implied rather than contrasted with siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_enviosEnvío de una ordenB
Read-only

Estado del envío de una orden: tracking, estado y fechas.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
orden_idYesID de la orden

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read. The description adds the useful disclosure of what the response contains (tracking, status and dates), which matters since there is no output schema, but it says nothing about permissions, the multi-account 'cuenta' context, or failure behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no padding. It is efficient, though the extreme brevity leaves useful routing information out rather than being genuinely complete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only lookup with full schema coverage the bar is modest, and without an output schema the description's mention of the returned fields partially compensates. Still, it omits the relationship to ml_ordenes and the meaning of the optional 'cuenta' parameter, leaving gaps an agent must guess at.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so both parameters are already documented in the schema. The description's tracking/estado/fechas list refers to outputs, not inputs, so it adds no parameter meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (el envío de una orden) and enumerates what it exposes (tracking, estado y fechas), so an agent knows this reads shipment status. It does not, however, distinguish itself from the sibling ml_ordenes, which could plausibly also touch order data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no when-to-use guidance, no indication of when to prefer ml_ordenes over this tool, and no mention that an orden_id is required to call it. Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_historial_competenciaHistorial de competenciaA
Read-only

La base de datos de competencia: evolución en el tiempo de un objetivo vigilado — precio y ventas de una publicación rival, líder y precio líder de una búsqueda, o cantidad de publicaciones y precio mediana de un vendedor. Se alimenta sola con cada control de ml_novedades_competencia.

NameRequiredDescriptionDefault
refYesEl objetivo tal como figura en la lista de seguimiento (item_id, nickname o keyword)

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes the read-only safety profile. Beyond that, the description adds genuinely useful behavioral context: the store is automatically populated by each ml_novedades_competencia check, so the agent knows it is a passively-maintained derived dataset rather than a user-written one, and knows its freshness depends on those checks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences that front-load the core identity ('La base de datos de competencia') before the enumeration and the provenance note. No filler, though the three-variant list is slightly dense and the trailing sentence is a bit of an aside.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the burden of describing what comes back, and it does list the tracked metrics and the time-evolution nature, so the agent can anticipate the payload. It does not specify granularity, date-range handling, or pagination, but for a read-only tool with a rich annotation and full schema coverage it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single 'ref' parameter is fully documented there (including the item_id/nickname/keyword forms). The description repeats the notion of a tracked objective but adds no syntax, format, or matching rules beyond the schema, so the baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource — a competition history database tracking the evolution over time of a watched objective — and enumerates three concrete variants (rival publication price/sales, search leader price, seller publication count/median price). It also names the sibling ml_novedades_competencia as its data source, which helps distinguishing it from that tool. It lacks an explicit action verb ('consultar'/'obtener'), but the noun-phrase scope is nonetheless unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The note that the database 'se alimenta sola con cada control de ml_novedades_competencia' implicitly tells the agent that ml_novedades_competencia drives updates while this tool serves the historical view. However, there is no explicit 'use this when / do not use this when' statement and no comparison against siblings like ml_tendencias or ml_descubrir_ganadores, leaving selection partly to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_metricasMétricas de ventasA
Read-only

Facturación, unidades y ticket promedio de un período, comparado contra el período anterior. Ideal para "¿cómo vienen las ventas?". Con cuenta="todas" consolida todas las tiendas conectadas.

NameRequiredDescriptionDefault
diasNoTamaño del período en días (default 7)
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true, so the description adds real behavioral value: it discloses that results are compared against the previous period and that cuenta="todas" consolidates all connected stores. Return format/pagination is not addressed, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with the returned metrics front-loaded and the usage hint and special parameter value last. No filler, though the quotation-style usage example is slightly informal for a tool definition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only, two-optional-parameter tool with no output schema, the description covers what comes back, the comparison baseline, and the multi-store consolidation case. It is adequate; only the absence of sibling differentiation leaves a small gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (baseline 3), and the description adds meaning beyond the schema by documenting the special value cuenta="todas", which the schema description (a user_id when multiple accounts are connected) does not mention. The dias parameter is left to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the specific resources returned (facturación, unidades, ticket promedio) plus the period-over-period comparison, so an agent knows exactly what this produces. It doesn't explicitly contrast with close siblings like ml_panel_ventas or ml_rentabilidad, but the content is far more specific than a name restatement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Ideal para ¿cómo vienen las ventas?" gives an implied usage scenario, and the cuenta="todas" note clarifies one consolidation mode. However, with ~29 siblings including ml_panel_ventas and ml_rentabilidad, no alternative is named and no when-not-to-use condition is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_novedades_competenciaNovedades de competencia y tendenciasA
Read-only

Recorre toda la lista de seguimiento y reporta SOLO lo que cambió desde la última corrida: precios que subieron/bajaron, publicaciones nuevas o dadas de baja, ventas estimadas de competidores, cambios de líder en búsquedas y keywords que entraron/salieron de tendencias. Ideal como rutina semanal.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond readOnlyHint=true, the description discloses a meaningful behavioral trait: it is a differential report that returns only changes since the prior run. It also enumerates the categories of change (price moves, listings added/removed, estimated sales, search-leader shifts, keyword trend entries/exits), giving the agent real context about what a run produces.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The delta-only constraint is front-loaded in the first clause, followed by the enumerated report contents and a short usage note. Dense but every clause carries information; no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description compensates by enumerating what the report contains, which is exactly what the agent needs to judge fit. Combined with readOnlyHint and a single optional param, the definition is complete enough to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is only one optional parameter (cuenta) with 100% schema description coverage, so the schema already documents it fully. The description adds no additional meaning about the parameter, making the baseline 3 correct.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource (recorre la lista de seguimiento y reporta cambios) and defines its scope precisely as a delta report — 'SOLO lo que cambió desde la última corrida'. An agent can distinguish it from a full-history sibling, though it never names ml_historial_competencia or ml_tendencias explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It offers a cadence cue — 'Ideal como rutina semanal' — which implies the intended usage pattern. However, it names no alternative tool and states no when-not condition, leaving the agent to infer routing versus ml_historial_competencia or ml_tendencias.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_ordenesÓrdenes de ventaA
Read-only

Lista las ventas (órdenes) del vendedor, de la más reciente a la más vieja. Filtrable por fecha y estado.

NameRequiredDescriptionDefault
diasNoÚltimos N días (default 7)
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
estadoNopaid, cancelled, etc.
limiteNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description usefully adds the descending-chronological ordering, but omits pagination/limit behavior and what the returned records contain or how they are scoped.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, no filler, with the core purpose and sort order front-loaded before the filter note. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter read tool with no output schema, the description is thin: it says nothing about the shape/count of returned orders, the limit behavior, or the account parameter's role, leaving gaps an agent must infer.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, so most parameters are already documented inline (dias, cuenta, estado). The description only echoes that filtering by date and status exists and adds no format, default, or syntax detail beyond the schema — and 'limite' is undocumented in both.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Lista') and resource ('ventas (órdenes) del vendedor') with an explicit sort order, so an agent knows it returns a seller's sales list. It does not, however, distinguish itself from the ambiguous sibling ml_panel_ventas, which likely overlaps.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'Filtrable por fecha y estado' implies when the filters apply, but there is no explicit when-to-use guidance, no mention of prerequisites (e.g., needing a connected account), and no routing to a sibling alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_panel_ventasPanel de ventasA
Read-only

El tablero del vendedor en una llamada: facturación de HOY y del MES, productos más vendidos del mes, reparto por método de envío (FULL/Flex/Colecta...) y dónde se concentran las ventas por provincia. Ideal para "¿cómo venimos hoy?" o el panel del mes.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes the operation is a safe read; beyond that the description discloses the aggregation scopes it reports (today vs. month, per-shipping-method split, per-province concentration), which is real behavioral context an agent can use. It stops short of stating auth requirements, account-switching behavior, or whether results are cached/real-time.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the substance of the dashboard before the use-case framing, and no filler. Slightly dense but every clause carries distinct content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and only a readOnlyHint, the description carries the burden of describing return content and it does so thoroughly (billing, top products, shipping breakdown, geography). What is missing is differentiation from sibling analytics tools and any note on the optional account-selection flow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single optional 'cuenta' parameter is fully documented in the schema (100% coverage), including a pointer to ml_cuentas for discovering user_ids. The description adds no further meaning to that parameter, so the schema does all the work and the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates the concrete contents of the dashboard (facturación de HOY y del MES, productos más vendidos, reparto por método de envío, concentración por provincia), so an agent knows exactly what this tool surfaces. It is specific about the resource but never contrasts itself with likely-overlapping siblings such as ml_metricas or ml_rentabilidad, so sibling differentiation is left to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear usage context with the quoted prompts '¿cómo venimos hoy?' and 'el panel del mes', which tells the agent when this tool is appropriate. However, it offers no exclusions and does not point to alternatives (e.g. ml_metricas) for more granular or time-series analysis.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_preguntasPreguntas de compradoresC
Read-only

Preguntas de compradores; por defecto las pendientes de respuesta.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
estadoNoUNANSWERED (default) o ANSWERED
limiteNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes that this is a safe, non-mutating read, so the description would need to add context to earn credit. Instead, its only behavioral claim ('por defecto las pendientes de respuesta') merely restates the schema default of estado=UNANSWERED, and it omits pagination/limit behavior and output shape.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single short sentence with the resource front-loaded and no wasted words. Brevity is appropriate in isolation, though it borders on under-specification rather than true conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a query tool with no output schema, the description should at least hint at return contents, ordering, or limit semantics. None of that is present, and the relationship to ml_responder_pregunta is unaddressed, leaving real gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, and the description adds no meaning beyond what the schema documents. Its note about the pending default duplicates the estado description, while 'cuenta' and 'limite' (the latter entirely undocumented in the schema) are not clarified at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource ('Preguntas de compradores') and a default scope (pending/unanswered), so the agent can infer it retrieves buyer questions. However, it supplies no explicit verb and does not distinguish itself from the closely related sibling ml_responder_pregunta (which answers questions), leaving purpose only implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says nothing about when to use this tool versus alternatives. The most obvious alternative, ml_responder_pregunta, is never mentioned, and no conditions or exclusions are given to help the agent choose between reading questions and answering them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_promocionesPromociones ofrecidasB
Read-only

Campañas y promociones que MercadoLibre le ofrece al vendedor; con promocion_id y tipo, lista las publicaciones elegibles con su descuento.

NameRequiredDescriptionDefault
tipoNoDEAL, DOD, MARKETPLACE_CAMPAIGN, etc. (viene en la lista)
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
promocion_idNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes the safe-read profile, so the description's added value is its hint about content (eligible listings plus their discount). It does not disclose auth requirements, whether all promotions are returned when called with no args, or any rate/pagination behavior, leaving meaningful behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence that front-loads what the tool returns and follows with the operating hint. No padding or redundant restatement of the title.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with no output schema, the description gives the shape of the return (eligible listings with discount) but omits what happens with zero arguments (all promotions?), the role of cuenta in multi-account setups, and how the result relates to accepting a promotion. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%: tipo and cuenta are documented in the schema, while promocion_id is bare. The description explains that promocion_id and tipo act together to select eligible listings, which adds real semantics for those two, but says nothing about cuenta and does not fill the promocion_id schema gap directly.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (campañas y promociones que MercadoLibre le ofrece al vendedor) and the read action (lista las publicaciones elegibles con su descuento). An agent can tell this is a read/list tool for promotions, but it never names a sibling to distinguish itself from ml_aceptar_promocion, which operates on the same domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause 'con promocion_id y tipo, lista las publicaciones elegibles' implies how and when to call it (to enumerate eligible listings for a given promotion/type), but there is no explicit when-to-use, no exclusions, and no reference to alternatives like ml_aceptar_promocion. Usage is inferable rather than stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_publicacionDetalle de una publicaciónB
Read-only

Detalle completo de una publicación: precio, stock, ventas, tipo, garantía, envío, link.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
item_idYesID del ítem, ej: MLA123456789

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this is a safe read, so the description does not need to restate safety. It does add value by enumerating the returned fields (precio, stock, ventas, garantía, envío, link), which matters because no output schema exists. It omits any note on whether item_id is resolved per marketplace (e.g., MLA prefix) or error behavior for missing items.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the field list is informative rather than padding. Slightly dense with a seven-item enumeration, but every element earns its place given there is no output schema.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only single-item fetch with two fully documented parameters, the definition covers the essentials, and listing the returned fields partially compensates for the absent output schema. The main remaining gap is routing guidance against ml_publicaciones, which is a usage rather than a completeness issue.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: item_id is documented with the MLA123456789 example and cuenta is documented with a pointer to ml_cuentas. The description adds no parameter-level meaning beyond this, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a clear resource (una publicación, singular) with the content it returns (precio, stock, ventas, tipo, garantía, envío, link), so an agent can tell this is a single-item detail fetch. It does not explicitly contrast itself with the sibling ml_publicaciones (plural listing), leaving the singular/plural distinction to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use statement, no preconditions, and no mention of alternatives such as ml_publicaciones or ml_actualizar_publicacion. Usage is only implied by the singular resource name, which is minimal guidance for a tool sitting in a cluster of listing-related siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_publicacionesMis publicacionesB
Read-only

Lista las publicaciones del vendedor con precio, stock y estado.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
estadoNoactive, paused, closed
limiteNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already tells the agent this is a safe read operation, so the description only needs to add context. It clarifies scope ('del vendedor') and the returned fields, but says nothing about pagination via 'limite', multi-account handling via 'cuenta', or result ordering/cap. Useful but thin for a listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the verb and returned data stated immediately; no filler or redundancy. Its brevity is appropriate but contributes to the under-specification noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only list tool with no output schema and annotations covering safety, a single sentence is close to adequate. Still, it omits how 'limite' bounds results and how 'cuenta' behaves with multiple connected accounts, leaving real gaps an agent would hit at call time.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%, above the 50% threshold, so the schema already documents 'cuenta' and 'estado'. The description mentions 'estado' only as a returned field, not as a filter, and never explains 'limite'. It adds little syntactic meaning beyond the schema, so the baseline 3 holds.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Lista) and resource (publicaciones del vendedor) plus the fields returned (precio, stock, estado), so an agent knows exactly what this produces. However, it gives no differentiation from the singular sibling ml_publicacion, leaving the agent to infer the list-vs-single distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no prerequisites, and no named alternatives despite many overlapping siblings (ml_publicacion, ml_buscar, ml_auditar_publicaciones). The phrase 'del vendedor' implicitly scopes it to the seller's own listings, but nothing tells the agent when to prefer this over ml_buscar or a single-publication lookup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_publicidadMétricas de Product Ads en vivoA
Read-only

Métricas de Product Ads al momento de la consulta: con item_id, el detalle del anuncio de esa publicación (inversión, impresiones, clics, CTR, CPC, ACOS, unidades y facturación por ads); sin item_id, las campañas del anunciante con su estado, presupuesto y resultados. Parámetro dias para el período (1 = hoy, default 30).

NameRequiredDescriptionDefault
diasNoPeríodo hacia atrás en días (1 = hoy). Default 30
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
item_idNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

readOnlyHint=true already establishes this is a safe read, so the description only needs to add context. 'Al momento de la consulta' usefully signals the data is live/current rather than cached, which is genuine added value. It does not address rate limits, auth scope, or aggregation latency, so it stays at a solid 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Purpose and the two modes are front-loaded in a single dense sentence, followed by a short sentence on the dias parameter. Nothing is padded, though the first sentence is quite long and packs several concepts together.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description proactively enumerates the returned fields for both modes (inversión, impresiones, clics, CTR, CPC, ACOS, unidades, facturación; estado, presupuesto, resultados), which is exactly what fills the output gap. The only omission is any mention of the cuenta parameter, which the schema already covers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 67%, and item_id has no schema description at all. The description fills that gap by explaining exactly what item_id does (listing ad detail vs. advertiser campaigns), and restates dias semantics (1 = hoy, default 30). cuenta is left to the schema, but the description compensates well for the undisclosed parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (métricas) and resource (Product Ads / publicidad) and clarifies the two operating modes: with item_id returns the ad detail for a listing, without it returns the advertiser's campaigns. This is far beyond a tautology and lets an agent predict behavior. It does not explicitly differentiate itself from nearby metrics siblings like ml_metricas or ml_rentabilidad, keeping it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by explaining that item_id switches between listing-level ad detail and advertiser-level campaigns, so an agent can infer which mode to request. However it never states when to prefer this tool over general metrics tools (ml_metricas, ml_rentabilidad) or any prerequisites/exclusions. Usage is implied, not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_rentabilidadCalculadora de rentabilidad realA
Read-only

El desglose real peso por peso de un producto: precio de venta MENOS comisión de MercadoLibre (tarifa real del tipo de publicación) MENOS publicidad por unidad (gasto de Product Ads en vivo del período) MENOS impuestos MENOS costo de envío MENOS costo del producto = ganancia neta y margen. Pide lo que falta (costo e impuestos NUNCA se inventan) y dice hasta qué ACOS aguanta el producto.

NameRequiredDescriptionDefault
costoNoCosto del producto (lo que te sale a vos) — SIEMPRE preguntarlo al usuario
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
precioNoPrecio de venta; si hay item_id se toma el de la publicación
item_idNoSi se indica, trae precio, tipo de publicación y gasto de ads reales
dias_adsNoPeríodo para promediar la publicidad (default 30)
costo_envioNoLo que paga el vendedor de envío por unidad (si ofrece envío gratis). Default 0
impuestos_pctNo% de impuestos sobre el precio (IIBB, monotributo/IVA según su situación) — SIEMPRE preguntarlo

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=true, so the description carries most of the behavioral burden and does it well: it specifies that it prompts for missing values and that cost and taxes are NEVER invented (no silent defaults), and that it reports the ACOS the product can withstand. It does not describe output formatting or failure modes, keeping it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the value (the peso-by-peso breakdown) and is dense but purposeful; the second sentence on missing-input handling and ACOS is useful. Slightly heavy for two sentences but every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only calculator with no output schema, the description adequately describes what is produced (net profit, margin, break-even ACOS) and how missing inputs are handled. A brief note on the response shape would complete it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so each of the 7 parameters is already documented. The description reinforces which factors feed the formula and the no-invention rule for costo/impuestos_pct, but adds little syntax or defaulting detail beyond what the schema states, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (compute real profitability per unit) and enumerates the exact formula: sale price minus ML commission, ads, taxes, shipping, and cost. An agent can distinguish it from ml_comisiones or ml_publicidad, which only supply a single input to this calculation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear context — it pulls real listing fees and live Product Ads spend for a period, and asks the user for missing inputs, implying it is the tool for full-margin analysis. However, it names no sibling alternatives or explicit when-not-to-use conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_reputacionReputación del vendedorC
Read-only

Color de reputación, ventas y tasas de reclamos, demoras y cancelaciones.

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

La anotación readOnlyHint=true ya comunica que es una operación de solo lectura. La descripción añade valor al enumerar las métricas de reputación que devuelve, pero no describe formato de salida, paginación ni posibles limitaciones, por lo que la transparencia conductual es básica.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Es una frase muy breve y sin relleno, con los elementos principales al inicio. No obstante, su estructura de fragmento nominal, sin verbo, sacrifica algo de claridad y podría ganar precisión sin perder concisión.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Para una herramienta simple de solo lectura con un parámetro opcional y sin esquema de salida, la descripción ofrece las métricas principales que se obtienen. Sin embargo, no cubre cuándo elegirla frente a herramientas hermanas ni detalla el formato de retorno, dejando lagunas contextuales.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

El esquema tiene un único parámetro opcional con cobertura de descripción del 100%, por lo que la semántica de cuenta ya está documentada allí. La descripción de la herramienta no añade información adicional sobre ese parámetro, lo que corresponde a la base de 3 cuando el esquema asume el detalle.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

La descripción enumera los datos que devuelve (color de reputación, ventas, tasas de reclamos, demoras y cancelaciones), pero no usa un verbo como 'obtener' ni define explícitamente el recurso. No diferencia esta herramienta de otras similares como ml_metricas o ml_panel_ventas, por lo que el propósito se infiere pero no queda plenamente claro.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No indica cuándo usar esta herramienta frente a alternativas como ml_metricas, ml_panel_ventas o ml_ordenes. Tampoco menciona condiciones previas, como la necesidad de tener una cuenta de Mercado Libre conectada, aunque el esquema sí lo sugiere para el parámetro cuenta.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_responder_preguntaResponder preguntaA

PUBLICA una respuesta real y visible a una pregunta de comprador. Irreversible: usar solo con el texto confirmado por el usuario.

NameRequiredDescriptionDefault
textoYesRespuesta a publicar (sin datos de contacto: ML lo penaliza)
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
pregunta_idYes

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare readOnlyHint=false. The description adds two meaningful traits beyond that: the answer is publicly visible ('real y visible') and the action is irreversible, a critical warning for a write tool. This is solid added value, though it omits any auth/account requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with zero waste. The action and scope are front-loaded, followed immediately by the irreversibility warning and the confirmation precondition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-param write tool with no output schema and only a readOnlyHint annotation, the description covers the essential profile: what it does, that it is public, and that it is irreversible. Minor gaps remain around permissions and account selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%; 'texto' and 'cuenta' are documented in the schema while 'pregunta_id' is not. The description only loosely echoes the 'texto confirmado' concept and adds no format or sourcing guidance, so it does not compensate for the gap. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (PUBLICA) and resource (respuesta a una pregunta de comprador) with clear scope ('real y visible'). An agent can distinguish it from the read-side sibling ml_preguntas, though the description never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides a real usage constraint: 'usar solo con el texto confirmado por el usuario', which implicitly tells the agent to require confirmation before calling. However, it names no alternative or when-not condition and does not point to ml_preguntas for reading/reviewing questions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_subir_clipSubir un clipA

Sube un Clip (video vertical corto) a una publicación por la API. Requisitos de MercadoLibre: MP4/MOV/MPEG/AVI, vertical, 10 a 61 segundos, mínimo 360x640, máximo 280 MB, publicación activa. La moderación tarda 24-48 hs (verificar después con ml_clips).

NameRequiredDescriptionDefault
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
archivoYesRuta local del video (ej /ruta/MLA123-clip.mp4)
item_idYes

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The single annotation (readOnlyHint=false) only confirms this is a write. The description adds genuinely useful behavior beyond that: uploads enter asynchronous moderation taking 24-48 hours, so there is no immediate published result and a later ml_clips check is required. It does not cover auth requirements, error modes, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly packed sentences: the action first, then the validation rules and the moderation caveat. No filler, and the most important constraint (asynchronous 24-48h moderation) is placed last where it will be read before invocation.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 3-parameter write tool with no output schema and only one annotation, the description covers the essential operational facts: acceptance criteria, required active state, and the deferred verification step. What remains thin is the return behavior (clip identifier/status) and failure handling, though the ml_clips pointer partially compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%. The description supplies domain constraints for `archivo` (accepted containers, vertical orientation, duration window, resolution floor, size ceiling) that the schema's bare "Ruta local del video" does not, and the "publicación activa" requirement implicitly qualifies `item_id`. Only the optional `cuenta` parameter gets no mention in the description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource in the user's domain ("Sube un Clip ... a una publicación") and even defines what a clip is ("video vertical corto"), which removes ambiguity against the many publication-related siblings. It also names ml_clips as the follow-up tool, so the agent can place it precisely in the workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It states the concrete preconditions for successful use (active publicación plus MP4/MOV/MPEG/AVI, vertical, 10-61s, min 360x640, max 280 MB) and tells the agent to verify moderation later with ml_clips. There is no explicit "when not to use" or alternative upload path, but the prerequisites are unusually complete for a tool of this type.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_tendenciasTendencias de búsquedaC
Read-only

Las búsquedas más populares del sitio o de una categoría: qué está queriendo comprar la gente.

NameRequiredDescriptionDefault
sitioNo
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
categoriaNo

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so safety is covered, but the description adds nothing beyond scope: no data source, timeframe, refresh cadence, or result size. For a trends/analytics read with zero annotation depth beyond read-only, this is a notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence with the resource front-loaded and no filler. It is appropriately sized for a simple read, though the brevity leaves gaps rather than waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema and no required parameters keep the bar low, and the description conveys what the tool returns conceptually. Missing timeframe, result limits, and the meaning of the 'cuenta' parameter leave it adequate but not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33% (only 'cuenta' is documented), so the description carries meaningful weight: 'del sitio o de una categoría' maps directly to sitio and categoria and explains their effect on results. However it says nothing about 'cuenta', the undocumented parameter, so the compensation is partial.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource ('las búsquedas más populares') and its two scopes (site or category), plus the business meaning (what people want to buy). It is clear and distinguishable from most siblings, but never names a sibling it should not be confused with (e.g. ml_buscar, ml_descubrir_ganadores).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as ml_buscar or ml_novedades_competencia. Usage must be inferred purely from the one-line purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_versionVersión del conectorA
Read-only

Muestra la versión instalada del conector, chequea si hay una actualización publicada y explica cómo actualizar.

NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already establishes that this is a safe read operation. The description adds useful behavioral context by stating that it checks for a published update and explains how to update, which goes beyond the annotation. It does not mention authentication or rate limits, but those are minor for a zero-parameter version-check tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that covers the tool's three behaviors without any redundant or filler text. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple zero-parameter, read-only tool with no output schema, the description fully communicates what the tool does and what information it returns (installed version, update availability, update instructions). Nothing essential is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no input parameters, so the empty schema is complete and the description does not need to explain parameter semantics. The baseline for zero parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it shows the installed connector version, checks for a published update, and explains how to update. This is clear and distinct from most siblings, though it does not explicitly differentiate itself from update-related sibling tools such as ml_actualizar_publicacion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when the tool is useful (when the user needs version or update information), but it does not explicitly state when to use it versus alternatives or provide any exclusions. Usage context is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_vigilarLista de seguimientoB
Read-only

Administra la lista de seguimiento de competencia y tendencias (se guarda local). Tipos: vendedor (nickname o id de un competidor), publicacion (item_id ajeno o propio), busqueda (keyword para vigilar su top 10) y tendencias (sitio o categoría). Acciones: listar, agregar, quitar.

NameRequiredDescriptionDefault
refNoNickname/id del vendedor, item_id, keyword, o categoría para tendencias
notaNoRecordatorio de por qué se vigila
tipoNo
accionYesQué hacer
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)

TDQS

B3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=true, yet the description explicitly advertises 'agregar' and 'quitar' actions that mutate a locally stored watchlist ('se guarda local'). The description contradicts the read-only annotation, which is the most serious defect here.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two dense sentences that front-load the resource, then the types, then the actions, with no filler. The structure is easy to parse even though it packs a lot of enum detail into one paragraph.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a watchlist manager with no output schema, the description covers the type taxonomy, the action set and the storage locality, which is enough for correct invocation. The missing piece is the read/write safety profile, which it actively misstates rather than omits.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 80%, so the baseline is 3, but the description adds genuine meaning by tying each 'tipo' value to what 'ref' must contain (nickname/id of a seller, item_id, keyword whose top 10 will be watched, site/category). This mapping goes beyond the collapsed schema description of 'ref'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Administra la lista de seguimiento de competencia y tendencias') and enumerates both the supported types and actions, so an agent understands exactly what domain this covers. It does not, however, differentiate itself from related siblings such as ml_tendencias, ml_novedades_competencia or ml_historial_competencia.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says what the tool manages but gives no when-to-use or when-not guidance, and never mentions the closely related siblings (ml_tendencias, ml_novedades_competencia). The agent must infer that 'vigilar' means persisting a target for later monitoring rather than fetching results now.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ml_visitasVisitas de publicacionesA
Read-only

Visitas de una publicación en una ventana de días, para medir tráfico y conversión.

NameRequiredDescriptionDefault
diasNodefault 30
cuentaNouser_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas)
item_idYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, confirming a safe read operation. The description adds the temporal window concept and purpose, but it does not disclose rate limits, authentication needs, or return format details beyond what the name implies.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the resource and purpose with no wasted words. It is appropriately sized for the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only metric query, the description covers the basic what and why. But it omits alternative tools (e.g., ml_metricas), does not explain the return shape (no output schema exists), and gives no guidance on the cuenta parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description indirectly clarifies that item_id refers to a publication and 'ventana de días' maps to the dias parameter. However, it says nothing about the cuenta parameter, and schema coverage is only 67%, leaving one parameter undocumented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource (visits of a publication) and a window of days, making the tool's purpose clear. However, it does not differentiate from similar metric-oriented siblings like ml_metricas or ml_publicacion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'para medir tráfico y conversión' implies the tool's intended use case, but there is no explicit guidance on when to choose it over alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 32 tool updatesv1.12.0
    • First observedml_aceptar_promocion
    • First observedml_actualizar_publicacion
    • First observedml_auditar_publicaciones
    • First observedml_borrar_clip
    • First observedml_buscar
    • First observedml_clips
    • First observedml_comisiones
    • First observedml_conectar
    • First observedml_crear_publicacion
    • First observedml_cuentas
    • First observedml_desconectar
    • First observedml_descubrir_ganadores
    • First observedml_envios
    • First observedml_historial_competencia
    • First observedml_metricas
    • First observedml_novedades_competencia
    • First observedml_ordenes
    • First observedml_panel_ventas
    • First observedml_precio_catalogo
    • First observedml_preguntas
    • First observedml_promociones
    • First observedml_publicacion
    • First observedml_publicaciones
    • First observedml_publicidad
    • First observedml_rentabilidad
    • First observedml_reputacion
    • First observedml_responder_pregunta
    • First observedml_subir_clip
    • First observedml_tendencias
    • First observedml_version
    • First observedml_vigilar
    • First observedml_visitas

TDQS

B3.2/5.0

Scored across 32 tools

Disambiguation4/5

Most tools have clearly distinct purposes, especially around publications, orders, promotions, ads, clips, and competition tracking. Some analytical tools (ml_panel_ventas, ml_metricas, ml_rentabilidad, ml_publicidad) and market-research tools (ml_buscar, ml_descubrir_ganadores, ml_tendencias) have adjacent scopes, but the descriptions generally distinguish them well.

Naming Consistency4/5

All tools use a consistent ml_ prefix and lower snake_case, which is easy to scan. The main deviation is that read tools are mostly noun-only (ml_ordenes, ml_publicaciones) while mutating tools use verb_noun (ml_actualizar_publicacion, ml_responder_pregunta), but this pattern is still fairly predictable.

Tool Count2/5

With 32 tools, the server is well beyond the ideal 3-15 range and exceeds the 25+ threshold for being heavy. The domain is broad, so not every tool is unjustified, but the set would benefit from consolidation or grouping.

Completeness4/5

The surface covers connection, accounts, sales, shipping, publication lifecycle, questions, promotions, ads, profitability, clips, and competition research. It is very broad, with only minor gaps such as a dedicated order-detail tool or hard-delete publication operation.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Connects Claude to your MercadoLibre seller account, enabling natural language management of listings, orders, and shipments.
    -
  • 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