MCP de MercadoLibre Colombia
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MCP de MercadoLibre Colombia¿cómo vienen las ventas hoy?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP de MercadoLibre Colombia para TYL — conecta tu tienda a Claude sin servidor
Fork adaptado para Colombia (MCO) del conector original de Algoritmo Digital. Licencia MIT.
Palabras clave: MCP MercadoLibre Colombia · MercadoLibre Claude · conectar MercadoLibre a Claude · API MercadoLibre IA · Model Context Protocol MercadoLibre · vendedores MercadoLibre Colombia · automatizar MercadoLibre con IA · TYL Herramientas
Conecta tu cuenta de MercadoLibre Colombia a Claude y maneja 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 — fork para Colombia por TYL Herramientas y Seguridad, basado en el conector de Algoritmo Digital.
Claude ──MCP──► este conector ──OAuth 2.0 + PKCE──► API oficial de MercadoLibre⭐ ¿Te sirve el conector original? Dejale una estrella a Algoritmo Digital — este fork existe gracias a su trabajo.
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 ( | 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: Mercado Livre MCP Server
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 instalarEl 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.co (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-DigitalVí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.co con tu cuenta de vendedor → Mis aplicaciones → Crear nueva aplicación y completá así:
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.htmlScopes: marcá
read,writeyoffline_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:
⚠️ 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.jsony Enter (se abre con el Bloc de notas).Mac: Claude Desktop → Settings → Developer → Edit Config.
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-DigitalPaso 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.
Claude te da un link → abrilo e iniciá sesión con tu cuenta de vendedor.
Tocá Autorizar → la página te muestra un código.
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 |
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 |
¿Sigues trabado? Revisa la guía del conector original o contacta a TYL.
📋 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 ( | 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á MCO123 contra mi MCO456 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 instalarEstado:
... 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 MCO123" 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.LTSen 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í |
"¿cómo venimos hoy?" — facturación de hoy y del mes, top productos, envíos FULL/Flex/Colecta y provincias | |
"reporte de ventas" — el resumen de 4 líneas apto WhatsApp | |
"respondamos las preguntas" — todas las respuestas propuestas juntas, publica solo lo que apruebes |
🔍 Optimización de publicaciones
Skill | Pedila así |
"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 | |
"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) | |
"¿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 | |
"actualizá Mi página" — banner del evento y tus productos destacados, aplicado en tu navegador con tu OK (y sacarlo cuando termina) | |
"abrí el tablero" — el parte del día visual: lo que funciona, lo que necesita atención y tus números de un vistazo | |
"quiero vender más este mes" — le das un objetivo y reparte el trabajo entre los 11 trabajadores, con el plan en orden | |
"¿qué tengo que despachar?" — despachos del día con horario, demorados, devoluciones y cuidado de la reputación | |
"¿cuánto gané este mes?" — el resultado neto del mes y el cierre mensual para vos o tu contador | |
"¿qué tengo que reponer?" — días de stock por producto, qué pedir y cuánto antes del quiebre | |
"me hicieron un reclamo" — responder bien y antes del plazo, mediaciones incluidas | |
"¿cómo está mi reputación?" — qué mueve tu color y qué hacer con cada opinión negativa | |
"me pausaron una publicación" — el motivo en castellano y cómo corregirla para reactivarla | |
"vigilá a mi proveedor" — precio y stock del proveedor atados a tu precio y tu stock | |
"armame el visualizador" — tablero interactivo con foto y semáforo: tocás cuáles mejorar y te genera el pedido | |
"copiá esta publicación a la otra tienda" — clona entre tus cuentas; lo ajeno se redacta, nunca se clona | |
"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í |
"armame las imágenes de MCO..." — el set fijo de 4 infografías con tus fotos reales (abajo hay ejemplos) | |
"hacé un video para Reels de MCO..." — guion por escenas y producción con HyperFrames desde datos reales | |
"¿qué clips tengo?" — mapa de Clips de la tienda, estado de moderación con motivos, y subida por API validando los requisitos de 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í |
"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 | |
"¿qué conviene vender?" — más vendidos oficiales por categoría, tendencias y análisis de mercado por keyword, validado por margen | |
"¿qué encontró el equipo?" — los 19 trabajadores 24/7 y su jefe: darles tareas, leer sus alertas y despachar cada una a su skill | |
"¿qué cambió en la competencia?" — solo novedades: precios movidos, publicaciones nuevas, ventas estimadas del rival, keywords en alza | |
"¿estoy ganando el catálogo?" — semáforo de precios y buy box, con recomendaciones validadas por margen | |
"revisemos la publicidad" — Product Ads con regla ACOS vs margen y promociones separando tu aporte del de 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á | |
"¿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" — 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 |
|
|
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 |
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 |
ml_crear_publicacion ✏️ | Crear una publicación nueva, o clonar una existente ( |
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 |
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 |
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 |
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.jsoncon 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
43 toolsml_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.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | Yes | Tipo de la promoción (DEAL, DOD, etc.) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| item_id | Yes | ||
| precio_final | No | deal_price; si falta, ML usa el sugerido | |
| promocion_id | Yes |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| stock | No | ||
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| estado | No | ||
| precio | No | ||
| item_id | Yes |
TDQS
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.
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.
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.
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.
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.
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_agendaAgenda comercial y cronograma de MercadoLibreARead-only
La agenda de Clara (del equipo de trabajadores): las fechas cruciales del año (Hot Sale, CyberMonday, Black Friday, Día de la Madre/Padre/Infancias, Navidad…) y el cronograma de campañas y promociones que MercadoLibre te ofrece, con cierre de inscripción, candidatas y si ya participás. Por cada una pregunta SIEMPRE si querés participar y guarda tu decisión (no se inscribe sola: inscribir es con ml_aceptar_promocion y tu OK). Acciones: calendario (lo que viene), decidir (sí/no a una campaña o fecha), fecha (confirmar una fecha estimada o agregar una propia), pagina (el kit para actualizar Mi página: banner y productos a destacar del evento).
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | decidir: el id que muestra el calendario (ej: P-HOT, cybermonday:2026, propia:aniversario) · fecha: la clave de la fecha estimada a confirmar (ej: cybermonday:2026) | |
| dias | No | calendario: cuántos días hacia adelante (default 60, máx 365) | |
| nota | No | decidir: por qué (ej: "solo con los termos") | |
| fecha | No | fecha: AAAA-MM-DD | |
| accion | Yes | Qué hacer | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| nombre | No | fecha: nombre de una fecha propia (ej: "Aniversario de la tienda") | |
| participar | No | decidir: true = sí participo, false = no participo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds genuinely useful behavior: the tool never self-enrolls, it only records the user's decision, and enrolment requires ml_aceptar_promocion plus explicit user OK. But annotations declare readOnlyHint=true while the description says it 'guarda tu decisión', i.e. it persists state — a read-only claim for a tool with a write action. The contradiction is partial (calendario/fecha are reads, decidir writes) and the description is transparent about it, but it conflicts with the structured hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with what the agenda contains, then the mandatory ask-and-record rule, then the four actions — a sensible order. It is dense and parenthesis-heavy (persona 'Clara', date lists), but nearly every clause carries actionable information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, multi-action tool with no output schema, the description covers all four actions, the required user-confirmation flow, and the hand-off to ml_aceptar_promocion. Remaining gaps (return shape of calendario, whether decidir is idempotent or how cuenta-scoped decisions persist) are minor given the action enum is fully documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already documents its action (ref, dias, nota, fecha, nombre, participar, cuenta). The description only restates the action names and hints at inputs like 'confirmar una fecha estimada o agregar una propia', adding no formats, defaults or constraints beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States concretely what the resource is (the commercial agenda: key dates like Hot Sale/CyberMonday/Black Friday and the campaign schedule with sign-up windows, candidates and participation status) and then enumerates its four actions (calendario, decidir, fecha, pagina). An agent can distinguish it from ml_promociones or ml_aceptar_promocion, though the multi-action nature makes it a slightly sprawling purpose rather than a single verb+resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit behavioral rule: 'pregunta SIEMPRE si querés participar y guarda tu decisión (no se inscribe sola: inscribir es con ml_aceptar_promocion y tu OK)' — it names the alternative tool and the condition that selects it. It also maps each action to its purpose. It does not, however, say when to prefer this over ml_promociones or ml_tablero for general promo questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ml_aplicar_mejoraMejorador de publicaciones (aplicar)A
MODIFICA la descripción real de una publicación (de cualquiera de tus tiendas: encuentra sola de cuál es) con la estructura que convierte: el RESUMEN en los 5 primeros renglones (3 a 5 renglones), después MEDIDAS, CARACTERÍSTICAS PRINCIPALES, QUÉ VIENE EN LA CAJA, lo extra que haya que conservar, y al final las PREGUNTAS FRECUENTES: las 20 de los últimos 90 días con las respuestas reales del vendedor (se calculan solas). Con mismo_sku=true la aplica también a TODAS las publicaciones con el mismo SKU en todas tus tiendas conectadas, cada una con el FAQ de SUS propias preguntas. Los textos los escribe Claude con datos reales (ml_mejorar_publicacion trae el material): nunca inventar medidas ni características. Sin confirmar=true solo muestra cómo quedaría; con confirmar=true la escribe (solo con OK explícito del vendedor) y guarda antes un respaldo de cada descripción anterior. Valida: sin HTML, sin datos de contacto ni links, medidas con número y unidad.
| Name | Required | Description | Default |
|---|---|---|---|
| faq | No | false = no agregar las preguntas frecuentes | |
| extra | No | Texto de la descripción actual que haya que conservar (garantía, uso, cuidados) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| incluye | Yes | Qué viene en la caja, un renglón por cosa | |
| item_id | Yes | La publicación (MCO...) | |
| medidas | Yes | Renglones de medidas (ej "Alto: 27 cm") | |
| resumen | Yes | 3 a 5 renglones: el resumen de todo el producto | |
| confirmar | No | true = escribirla en MercadoLibre (solo con OK explícito del vendedor) | |
| mismo_sku | No | true = aplicarla también a las publicaciones con el mismo SKU en todas tus tiendas | |
| caracteristicas | Yes | Características principales, un renglón cada una |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=false, so the description carries the burden and does: it discloses dry-run preview, the backup taken before each overwrite, multi-store propagation with mismo_sku, and the validation rules (no HTML, no contact info/links, measurements with number and unit). This is exactly the mutation context an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph, but front-loaded with the action and every sentence carries new information (structure, scope, sourcing, dry-run/confirm, backup, validation). Slightly overlong and would scan better as a few short lines, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 10 parameters, no output schema, and a destructive write, the description still covers everything an agent needs: input provenance, preview vs. commit, backup, replication scope, and validation constraints. Nothing essential for a correct call is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description still adds meaning by linking confirmar to the explicit seller OK, explaining that mismo_sku applies per-listing FAQs from each listing's own questions, and noting faq is auto-computed from the last 90 days. It does not cover cuenta or extra in detail, keeping it just below top marks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb+resource ('MODIFICA la descripción real de una publicación') and then spells out the exact target structure (resumen, medidas, características, incluye, FAQ). It clearly separates itself from ml_mejorar_publicacion by naming it as the material source and from ml_actualizar_publicacion by describing the structured rewrite.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the two modes: 'Sin confirmar=true solo muestra cómo quedaría; con confirmar=true la escribe (solo con OK explícito del vendedor)'. It also points to the companion tool ml_mejorar_publicacion for source data, so the agent knows the workflow order.
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 publicacionesARead-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 — y si está ACTUALIZADA: días sin tocar, precio congelado, precio fuera de mercado, fotos de baja resolución, marca/modelo y garantía. (Lucía, la auditora del equipo de trabajadores, lo hace sola cada 15 días.) Devuelve las peores primero con la acción concreta. Ideal para "¿qué publicaciones tengo que mejorar?".
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| estado | No | default active | |
| limite | No | Cuántas auditar (default 10) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already establishes the safety profile, and the description adds genuinely new behavior: results are ordered worst-first, each item carries a concrete recommended action, and the same audit is run automatically by the Lucía worker. Missing only output shape/pagination detail, which annotations don't cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core statement, then the detected-issue list, then ordering and the ideal use case. The issue enumeration is long but each item is a concrete signal, so it earns its space; only the parenthetical note about the automated worker is mildly tangential.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Three optional parameters, no output schema, read-only annotation: the description sufficiently explains what comes back (ranked publications with severity and action) and what conditions are checked. Minor gaps are the return structure and whether all accounts are audited when cuenta is omitted.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so cuenta, estado and limite are already documented, and the description adds nothing about them — notably no mention of the limit controlling how many publications get audited. Baseline 3 applies when the schema carries all parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Concrete verb + resource: lists the seller's publications with a quality scorecard and per-item improvement action, enumerating the exact problem categories it detects. It is clearly distinct from the raw-listing sibling ml_publicaciones and from ml_mejorar_publicacion, which acts rather than audits.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names the triggering question ('¿qué publicaciones tengo que mejorar?') and notes the in-house auditor agent runs it automatically every 15 days, which frames when it is appropriate. It does not explicitly say when NOT to use it or point to the alternative tools (ml_mejorar_publicacion, ml_aplicar_mejora) for acting on the findings.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| item_id | Yes | ||
| clip_uuid | Yes | El id del clip (sale de ml_clips) |
TDQS
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.
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.
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.
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.
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.
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 MercadoLibreBRead-only
Busca publicaciones públicas en MercadoLibre (para espiar competencia y precios de mercado).
| Name | Required | Description | Default |
|---|---|---|---|
| sitio | No | ||
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| limite | No | ||
| consulta | Yes | Qué buscar, ej "termo acero 1 litro" |
TDQS
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.
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.
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.
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.
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.
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_cerebroEl cerebro del conector (memoria del negocio)ARead-only
La base de datos local del negocio: guarda lo que el vendedor le enseña (costo de cada producto, % de impuestos, costo de envío, medidas, qué incluye, notas) y las demás herramientas lo usan solas — la calculadora de rentabilidad deja de preguntar lo que ya sabe. EL COSTO VA POR SKU: si la publicación tiene SKU, el costo queda guardado en el SKU y lo usan todas las publicaciones con ese mismo SKU (también las nuevas). Se puede guardar directo por SKU (item_id="TER-1L"). Todo queda en un archivo local de la máquina del vendedor, nunca sale de ahí. Acciones: guardar, ver, olvidar. Para datos del negocio entero (ej impuestos de todas las ventas), guardar sin item_id.
| Name | Required | Description | Default |
|---|---|---|---|
| nota | No | Cualquier cosa que el vendedor quiera que Claude recuerde de este producto o del negocio | |
| costo | No | Costo del producto | |
| accion | Yes | guardar conocimiento, ver lo que sabe, u olvidar un producto | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| incluye | No | Qué incluye el paquete, separado por comas | |
| item_id | No | Producto (MCO...) o SKU. Sin item_id, el dato es del negocio entero | |
| medidas | No | Medidas reales, ej "27 cm alto, 8,5 cm diámetro, 480 g" | |
| costo_envio | No | Costo de envío por unidad a cargo del vendedor | |
| impuestos_pct | No | % de impuestos sobre la venta |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description states the tool saves data ('guarda lo que el vendedor le enseña') and deletes it ('olvidar'), while annotations declare readOnlyHint=true. This is a direct contradiction between the described write/delete behavior and the declared read-only nature. The otherwise useful disclosure that data stays in a local file on the seller's machine cannot offset the contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the purpose statement and ends with a compact action list, but the middle section is a dense run-on of dashes and capitalized emphasis that mixes guarantees, SKU rules, and privacy notes. Each sentence carries information, yet the formatting makes it slower to parse than needed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, no output schema, and a contradictory annotation, the description should carry more weight. It covers storage scope, SKU behavior, and privacy well, but never says what 'ver' returns, what 'olvidar' removes (one SKU, one product, all notes?) or whether deletion is recoverable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds genuinely new semantics: costs are keyed by SKU and propagate to all listings sharing that SKU, including future ones, and item_id may itself be a SKU (e.g. "TER-1L"). That inheritance rule is not derivable from the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence defines a specific resource (a local business memory database) with concrete stored fields (costo, % impuestos, envío, medidas, incluye, notas), and the closing 'Acciones: guardar, ver, olvidar' enumerates the operations. It is clearly distinguishable from siblings like ml_rentabilidad, which it explicitly positions as a consumer of this data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It tells the agent when to save (costs, taxes, shipping, measurements) and even gives a conditional rule for business-wide data ('para datos del negocio entero... guardar sin item_id'). It stops short of stating when NOT to use the tool or how 'ver'/'olvidar' differ in scope, but the context for use is clear.
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 publicacionesARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| item_id | No | Una publicación puntual; sin indicarlo, mapa de toda la tienda (hasta 10) |
TDQS
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.
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.
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.
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.
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.
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 ventaBRead-only
Cuánto cobra MercadoLibre por vender a un precio dado (comisión por tipo de publicación), para calcular márgenes.
| Name | Required | Description | Default |
|---|---|---|---|
| sitio | No | ||
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| precio | Yes | ||
| categoria | No | ID de categoría, ej MCO1055 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already covers the safety profile, so the description only needs added context, and it does add one useful fact: the fee varies by tipo de publicación. However, it doesn't say whether multiple connected accounts or sites affect the result, nor what the return looks like (a single fee or a breakdown).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence with the core action front-loaded and no filler. It is appropriately sized, though the mention of listing type without a matching parameter costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 should signal what comes back (fee amount, breakdown by listing type/installments). That return shape is only gestured at, but the core semantics needed to call it are present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% (sitio and precio are undocumented), so the description should compensate, but it only echoes 'precio dado' and mentions 'tipo de publicación' — a dimension that has no corresponding parameter in the schema, which can mislead an agent. It adds no meaning for sitio or categoria beyond what the schema already says.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action and resource: computing what MercadoLibre charges in fees for a given sale price, broken down by listing type, for margin calculation. Clear enough to distinguish from generic sales tools, though it doesn't explicitly contrast with the closest sibling, ml_rentabilidad, which also deals with margins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'para calcular márgenes' implies the use case (cost side of a margin calculation) but gives no explicit when-to-use/when-not guidance and never names alternatives like ml_rentabilidad or ml_precio_catalogo. The agent must infer the routing decision from tool names alone.
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 MercadoLibreARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Código que devolvió MercadoLibre al autorizar | |
| sitio | No | País: MCO (Colombia, default), MLA, MLB, MLM, MLC, etc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly says the tool links an account and 'completa la conexión' — a credential/token write — while annotations declare readOnlyHint=true. That is a direct contradiction that could mislead an agent about side effects. Valuable context it does add (env-var prerequisites, browser-based flow) is overshadowed by the inconsistency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences: the two-mode behavior first, then the environment prerequisite. No filler, and the most decision-relevant information (no-arg vs. code) is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-optional-parameter, no-output-schema tool it covers the essential flow and the return of the no-arg case (the URL). It leaves out the `sitio` option and what confirms a successful connection, small gaps given the low complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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; baseline 3 applies. The description adds flow-level meaning to `code` (it comes from the authorization page) but never mentions `sitio` at all, so it adds little beyond structured fields.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Vincula una cuenta de MercadoLibre') and immediately distinguishes its two operating modes (no-arg returns an auth URL; with `code` completes the link). An agent can tell it apart from siblings like ml_desconectar or ml_cuentas without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear conditional routing: call without arguments to obtain the browser authorization URL, call with `code` once the user has authorized. It also names the prerequisite (ML_APP_ID / ML_APP_SECRET must be configured). It does not name a sibling alternative to use instead when already connected, which keeps it 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_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. COSTO POR SKU: si la publicación tiene SKU (parámetro sku, o el que trae copiar_de) y ese SKU ya tiene costo en el cerebro, la nueva publicación usa ese costo sola. Si no hay costo para ese SKU, la herramienta NO publica y pide el costo: preguntárselo al vendedor y volver a llamar con costo=… (o sin_costo=true si no lo quiere cargar).
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | SKU del producto (se carga en la publicación). Las publicaciones con el mismo SKU comparten el costo | |
| tipo | No | listing_type_id, ej gold_special (Clásica) | |
| costo | No | Costo del producto (lo que te sale a vos). Solo si el SKU no tiene costo guardado o el vendedor lo quiere cambiar | |
| stock | No | ||
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| precio | No | ||
| titulo | No | Título (≤60 caracteres). Obligatorio si no hay copiar_de | |
| imagenes | No | URLs de fotos propias | |
| categoria | No | ID de categoría ML (obligatorio sin copiar_de) | |
| condicion | No | ||
| copiar_de | No | item_id a clonar (ej MLA123...). Solo copiar fotos/textos si son propios | |
| sin_costo | No | true = publicar sin cargar costo (el vendedor no lo quiere dar ahora) | |
| descripcion | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false in annotations, the description carries the behavioral load and does so well: it discloses the COSTO POR SKU gating logic, the fact that the tool refuses to publish and returns a request for cost, and the retry contract ("volver a llamar con costo=…"). That non-obvious failure/retry behavior is exactly what an agent cannot infer from structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The essential constraint (real creation, confirmation required) is front-loaded, followed by clone mode and the cost gate. Dense but every clause carries information; the parenthetical asides are slightly heavy but not wasteful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 13-parameter mutation tool with no output schema, it covers the critical decision paths (clone vs. build, cost gate, confirmation). It does not say what the call returns on success (e.g., the new item_id) or what `cuenta`/`tipo` defaults are when multiple accounts are connected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 69% schema coverage the description meaningfully supplements it: it explains that SKU and cost are shared across publications, that `copiar_de` supplies título/categoría/atributos/fotos/descripción, and that título/precio/stock can override the clone. It leaves several params (stock, precio, tipo, condicion, imagenes) without added semantics, so not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource ("CREA una publicación real en la tienda") and immediately distinguishes two modes: creation from scratch vs. cloning via `copiar_de`. This separates it cleanly from siblings like ml_actualizar_publicacion, ml_publicacion, and ml_publicaciones without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the confirmation requirement ("Usar solo con confirmación explícita del usuario") and the condition selecting clone mode ("ideal para duplicar entre tus propias cuentas"). It also routes between `costo` and `sin_costo`. It stops short of naming a sibling tool as the alternative for the non-create path, so it's not a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ml_cuentasCuentas conectadasBRead-only
Lista las cuentas de MercadoLibre conectadas (soporta varias tiendas). Con predeterminada fija cuál usar cuando no se indica cuenta.
| Name | Required | Description | Default |
|---|---|---|---|
| predeterminada | No | user_id de la cuenta a fijar como predeterminada |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | Yes | user_id de la cuenta a desconectar |
TDQS
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.
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.
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.
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.
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.
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 ganadoresARead-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 MCO1234) o busqueda (keyword).
| Name | Required | Description | Default |
|---|---|---|---|
| sitio | No | ||
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| busqueda | No | Keyword a analizar, ej "termo 1 litro" | |
| categoria | No | ID de categoría, ej MCO1055 |
TDQS
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 description's job is lighter. It usefully discloses the data sources behind each mode ('ranking oficial de más vendidos (highlights) + tendencias') and hedges scope with 'dentro de lo que permite la API', but says nothing about volume of output, latency or what happens if the API lacks coverage for a category.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, mode information front-loaded, no filler or marketing language. The parenthetical enumeration of market signals is dense but each item earns its place by signalling the analytic depth of the search mode.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and zero required parameters, the description should say what comes back (a ranked list? candidate products?) and what the default behaviour is when neither categoria nor busqueda is passed. It explains the analysis inputs well but leaves the return shape and the no-argument case undefined.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75% and both 'busqueda' and 'categoria' already carry descriptions with examples (MCO1055), so the schema does most of the work. The description adds the genuinely useful mutual-exclusivity rule ('o'), but leaves 'sitio' completely undocumented and does not clarify behaviour when neither parameter is supplied (0 required params).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Encuentra'), the resource ('artículos ganadores') and enumerates the two operating modes (CATEGORÍA vs BÚSQUEDA) with the signals each one uses (highlights, competencia, precios, envío gratis, ventas visibles). An agent can tell what the tool produces. It does not, however, distinguish itself from close siblings such as ml_nichos, ml_tendencias or ml_buscar, which overlap with the 'análisis de mercado por keyword' mode.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Indicar categoria (id tipo MCO1234) o busqueda (keyword)' gives a concrete selection rule between the two modes, which is real guidance beyond the schema. It stops short of stating when to prefer this tool over ml_nichos/ml_tendencias/ml_buscar, and there are no exclusions ('no uses esta herramienta para...').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ml_despachosDespachos y envíos (logística)BRead-only
La lista de Leo, el coordinador de logística del equipo: envíos de las ventas de los últimos días — qué tenés que despachar y hasta cuándo (FULL lo despacha MercadoLibre), envíos demorados, no entregados o devueltos, por tipo de envío (FULL/Flex/Colecta) y destino, más tu tasa de despachos con demora de la reputación.
| Name | Required | Description | Default |
|---|---|---|---|
| dias | No | Días hacia atrás (default 7, máx 30) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already declares this is a safe read, so the bar is lower. The description adds useful domain context — that FULL shipments are handled by MercadoLibre and that it also reports the delay-rate reputation metric — but says nothing about pagination, limits, or empty-result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Everything is packed into one long sentence opened by a persona framing ('La lista de Leo, el coordinador de logística del equipo'), which delays the actual content. The enumeration of shipment states and dimensions is informative but not front-loaded or scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does carry some of the return burden by naming the shipment states, types, destinations, and the reputation delay rate. However, it leaves the boundary with ml_envios undefined and gives no sense of result shape or volume for a two-parameter listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both dias and cuenta documented inline (default 7, max 30; user_id per ml_cuentas). The description adds no additional parameter meaning beyond what the schema provides, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (envíos de ventas recientes) and enumerates the relevant subsets: pendientes de despachar, demorados, no entregados, devueltos, por tipo (FULL/Flex/Colecta) y destino. It is clear what the tool returns, though it never distinguishes itself from the close sibling ml_envios, leaving overlap ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied through the framing 'qué tenés que despachar y hasta cuándo', which suggests operational triage. There is no explicit when-to-use vs ml_envios/ml_ordenes, no prerequisites, and no statement of when this is the wrong tool to reach for.
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 ordenBRead-only
Estado del envío de una orden: tracking, estado y fechas.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| orden_id | Yes | ID de la orden |
TDQS
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.
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.
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.
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.
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.
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_faq_descripcionPreguntas frecuentes en la descripciónA
Contempla las preguntas que te hacen los compradores en una publicación y las agrega a su descripción como "PREGUNTAS FRECUENTES", con TUS respuestas reales (nunca inventa). Agrupa las parecidas, prioriza las que más se repiten, descarta lo que cambia con el tiempo (stock, precio, cuotas, envíos) y toda respuesta con datos de contacto, y no repite lo que la descripción ya cubre. El bloque queda marcado: se puede actualizar cada quincena sin duplicar. Sin aplicar=true solo MUESTRA la propuesta; con aplicar=true modifica la descripción real (pedir confirmación antes). Con todas=true toma las publicaciones que Lucía marcó en su última auditoría.
| Name | Required | Description | Default |
|---|---|---|---|
| todas | No | Todas las publicaciones que Lucía marcó con preguntas repetidas faltantes en su última auditoría | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| maximo | No | Máximo de preguntas en el bloque (default 8) | |
| aplicar | No | true = escribir la descripción nueva en MercadoLibre (solo con confirmación explícita del vendedor) | |
| item_id | No | La publicación (MCO...) | |
| min_veces | No | Mínimo de veces que se repitió una pregunta para entrar (default 2; 1 = todas las respondidas) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond readOnlyHint=false: it discloses the mutation only happens with aplicar=true and requires explicit confirmation, that the written block is delimited so it can be refreshed biweekly without duplication, and what is deliberately excluded from the block (stock, price, installments, shipping, contact data, anything already in the description). This is exactly the kind of pre-call context a mutation tool needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action and packs the filtering rules, idempotent block behavior and dry-run/write switch into a tight run of clauses with no filler. It is a single dense paragraph, though, so the safety-critical confirmation rule sits mid-sentence rather than being visually separated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter, zero-required mutation tool with no output schema, the description covers selection scope, defaults-driven filtering intent, write safety and re-run behavior. The only residual gap, the exact shape of the proposal returned in preview mode, is minor given that no output schema exists and preview text is self-describing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 earns above that by explaining the semantic difference between the aplicar modes and by clarifying that todas targets Lucía's last-audit flagged listings rather than an arbitrary set. It leaves maximo and min_veces' effect on filtering entirely to the schema, and does not say what happens when neither item_id nor todas is supplied despite zero required parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb chain (take buyer questions, group, prioritize, filter, insert as a marked FAQ block into the listing description) plus the distinctive constraint that answers must be the seller's real ones and never invented. An agent can distinguish this from ml_preguntas (reads questions), ml_responder_pregunta (answers them) and ml_actualizar_publicacion (generic description edit) 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Sin aplicar=true solo MUESTRA la propuesta; con aplicar=true modifica la descripción real (pedir confirmación antes)" gives an explicit when-to-use rule for the dry-run vs write path, and todas=true is scoped to Lucía's flagged listings. No sibling tool is named as an alternative, so an agent gets conditions but not a routing decision against ml_mejorar_publicacion or ml_actualizar_publicacion.
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 competenciaARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | Yes | El objetivo tal como figura en la lista de seguimiento (item_id, nickname o keyword) |
TDQS
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.
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.
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.
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.
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.
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_jefeJefe de equipo (le das un objetivo y reparte el trabajo)ARead-only
El jefe del equipo de trabajadores: le das un OBJETIVO en una frase ("vender más este mes", "¿por qué gano poco?", "preparame para el CyberMonday", "mejorar la reputación") y él elige qué trabajadores tienen que ver, los pone a trabajar ahora mismo, junta lo que encontraron y devuelve el plan en orden: cada paso con el trabajador responsable, lo que encontró y la skill para hacerlo. Lo que modifica la tienda queda marcado para hacerlo con tu OK. Sin objetivo claro, trabaja con todo el equipo. El vendedor le puede poner NOMBRE (y emoji) al jefe: cuando diga "el jefe se llama Roberto", "ponele Don Ramón al jefe" o similar, llamar con nombre="…" (sin objetivo); nombre="" lo vuelve a "El jefe". Después, si el vendedor le habla al jefe por su nombre ("Roberto, ¿cómo vendo más?"), es un objetivo para esta herramienta.
| Name | Required | Description | Default |
|---|---|---|---|
| emoji | No | Emoji del jefe (ej: 🎩, 👑, 🦁) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| nombre | No | Ponerle nombre al jefe (hasta 30 letras). "" = volver a "El jefe" | |
| objetivo | No | El objetivo en tus palabras | |
| sin_correr | No | true = armar el plan con lo último que sabe el equipo, sin hacerlo trabajar ahora |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint=true, and the description adds real behavioral context: work runs now, store modifications are flagged for the seller's approval, and sin_correr builds a plan from cached knowledge. The one tension is that setting nombre/emoji persists configuration state inside an allegedly read-only tool, which the description does not reconcile.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core objective-to-plan behavior, then examples and the naming rules; every sentence carries usable information. It is somewhat long and the naming block is dense, but nothing is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the return burden, describing the plan's shape (ordered steps, responsible worker, finding, skill) plus the approval marker for store changes. An agent can call this correctly without opening any other artifact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description still adds meaning the schema lacks: nombre is tied to concrete trigger phrases and the empty-string reset, objetivo is illustrated with examples, and the name-only (no objetivo) invocation pattern is spelled out. emoji and sin_correr get no extra prose beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States concretely what the tool does: takes a one-sentence objective, picks which workers (ml_trabajadores) are relevant, runs them immediately, and returns an ordered plan with responsible worker, finding and skill. This distinguishes it clearly from the individual worker/metric siblings in the list, and it is not a restatement of the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit invocation conditions with concrete objective examples ('vender más este mes', '¿por qué gano poco?'), the no-objective fallback (runs with the whole team), the naming flow (name-only call, empty string to reset) and the rule that addressing the boss by name counts as an objective. When-to-use vs. alternatives is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ml_mejorar_publicacionMejorador de publicaciones (revisión)ARead-only
El mejorador de publicaciones, MULTICUENTA: con item_id revisa UNA publicación de cualquiera de tus tiendas conectadas (encuentra sola de qué tienda es, no hace falta decir la cuenta) contra la receta que convierte y devuelve el checklist con lo que falta. (1) FOTOS CON MEDIDAS: te muestra las fotos para que las mires — revisá cada imagen y decí si alguna tiene las medidas dibujadas (cotas con cm/mm/L/kg); si ninguna, es un ❌ (se arregla con la skill imagenes-ml). (2) VIDEO: video clásico o clips publicados. (3) DESCRIPCIÓN en este orden: los 5 primeros renglones con el RESUMEN de todo el producto, después MEDIDAS, CARACTERÍSTICAS PRINCIPALES y QUÉ VIENE EN LA CAJA. (4) PREGUNTAS DE LOS ÚLTIMOS 90 DÍAS: las audita (cuántas, cuántas sin responder, de qué temas preguntan) y las resume en un FAQ de 20 preguntas con las respuestas reales del vendedor. Avisa si el mismo producto (mismo SKU) está en tus otras tiendas. SIN item_id hace un BARRIDO de todas tus tiendas (o de la indicada en cuenta): las publicaciones activas de cada una, de la que más le falta a la que menos, y agrupa el mismo producto entre tiendas. No modifica nada: para aplicar, ml_aplicar_mejora con el OK del vendedor.
| Name | Required | Description | Default |
|---|---|---|---|
| fotos | No | false = no traer las fotos (más rápido) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| maximo | No | Barrido: publicaciones activas por tienda (default 15, máx 50) | |
| item_id | No | La publicación (MCO...). Sin item_id: barrido de todas tus tiendas |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description is consistent with that ('No modifica nada'). Beyond annotations, it discloses concrete behavior: auto-detection of which store an item_id belongs to, cross-store grouping by SKU, and the shape of the checklist returned. It does not cover failure modes, limits on single-item mode, or latency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core distinction between the two modes is front-loaded in the first sentence, but the text then sprawls into a dense numbered bundle of checklist details with nested parentheticals. Much of that detail is genuinely useful given there is no output schema, yet the phrasing is repetitive and could be tightened considerably.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no required parameters, no output schema, and a genuinely complex return, the description does the heavy lifting by enumerating the four checklist sections and the sweep ordering. Remaining gaps are error/edge-case behavior (item not found, empty store) and the exact response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents all four parameters, setting a baseline of 3. The description adds meaningful semantics beyond the schema: item_id presence switches between single-publication review and store-wide sweep, and the cuenta parameter scopes which stores are swept. The maximo and fotos parameters are only implicitly touched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: it reviews/audits one publication against a conversion recipe and returns a checklist, or sweeps all stores when no item_id is given. It also differentiates itself from ml_aplicar_mejora (the mutating sibling). However, the very close sibling ml_auditar_publicaciones is never mentioned, leaving that boundary to be inferred.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The two operating modes are stated explicitly and keyed to item_id: with item_id it reviews one publication across any connected store; without item_id it sweeps the stores and ranks them by what is missing. It also names the follow-up alternative: 'No modifica nada: para aplicar, ml_aplicar_mejora con el OK del vendedor.'
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 ventasARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| dias | No | Tamaño del período en días (default 7) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) |
TDQS
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.
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.
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.
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.
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.
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_nichosDescubrir nichos (API oficial)ARead-only
Descubre y valida NICHOS con la API oficial de MercadoLibre (sin Nubimetrics ni planillas). Con UNA búsqueda (o una categoría) da el análisis completo: (1) ordena las publicaciones de mayor a menor ROTACIÓN (unidades por mes = vendidos ÷ antigüedad); (2) si el producto SE VENDE HOY o vendió en el pasado (visitas de los últimos 5 meses contra su promedio histórico); (3) si hay OPORTUNIDAD o MONOPOLIO (cuota del líder, top 3 y HHI entre vendedores); (4) el TECHO DE DEMANDA (unidades por mes del nicho) y cuánto vende hoy alguien que entró en los últimos 90 días; (5) si es TENDENCIA, ESTACIONAL o EVERGREEN; (6) con costo, si los NÚMEROS CIERRAN al precio de mercado (comisión real de ML e impuestos del cerebro). Con VARIAS búsquedas (hasta 5) arma el RANKING DE OPORTUNIDADES con puntaje 0-100. Las ventas de terceros que informa ML pueden ser aproximadas: los resultados son estimaciones sobre una muestra, nunca inventa datos.
| Name | Required | Description | Default |
|---|---|---|---|
| costo | No | Tu costo por unidad (solo con una búsqueda): para ver si los números cierran | |
| sitio | No | ||
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| muestra | No | Publicaciones a analizar por nicho (default 100 con una, 60 con varias; máx 300) | |
| busqueda | No | Una keyword, ej "organizador de cocina" | |
| busquedas | No | Varias keywords (hasta 5) para el ranking de oportunidades | |
| categoria | No | ID de categoría (ej MCO1574) en vez de keyword | |
| costo_envio | No | Envío por unidad a tu cargo (default 0) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true is consistent with the framing as an analysis/discovery operation. Beyond the annotation it discloses a real behavioral trait: results are estimates over a sample, ML-reported third-party sales may be approximate, and the tool "nunca inventa datos" – material context for trusting the output. It stops short of covering rate limits or latency for a tool that crawls up to 300 listings per niche.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded in the first clause, but the six-item numbered enumeration is dense and partly restates what the tool computes in marketing register ("si los NÚMEROS CIERRAN", "impuestos del cerebro"). It is readable but longer than needed to route an agent correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, no-required-parameter analysis tool with no output schema, the description carries the burden of explaining what is returned and does so via the six analysis dimensions plus the 0-100 ranking score. Missing only edge behavior – what happens when neither busqueda, busquedas nor categoria is supplied, and whether error vs empty results differ from low-demand niches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 88% schema description coverage the schema already documents busqueda, busquedas, muestra, categoria, costo and cuenta, so the baseline is 3. The description reinforces the exclusivity of busqueda vs busquedas and the costo-with-one-search constraint, but adds no formats, ranges or defaults not already present in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("descubre y valida NICHOS") and enumerates the six analyses produced, so an agent knows exactly what comes back. It does not name or distinguish itself from plausible siblings such as ml_descubrir_ganadores, ml_buscar or ml_tendencias, which keeps it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly splits the two usage modes – "Con UNA búsqueda (o una categoría)" for a full niche analysis versus "Con VARIAS búsquedas (hasta 5)" for the opportunity ranking – and ties the cost parameter to the single-search mode. It gives no guidance on when to prefer this over the many sibling discovery tools, so no exclusions or alternatives are stated.
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 tendenciasARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) |
TDQS
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.
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.
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.
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.
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.
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_numerosNúmeros del mes (contabilidad)ARead-only
Los números de Carmen, la contadora del equipo: resultado de un mes — facturación, cantidad de ventas, comisiones reales de MercadoLibre, publicidad, impuestos (% guardado en el cerebro), costo de mercadería (costos del cerebro) y envíos a cargo → resultado neto y margen, comparado con el mes anterior. Si faltan costos o impuestos lo marca como parcial y dice qué falta (nunca inventa). mes: "actual" (default, hasta hoy), "anterior" o AAAA-MM.
| Name | Required | Description | Default |
|---|---|---|---|
| mes | No | "actual", "anterior" o AAAA-MM | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, and the description adds real behavioral value beyond that: it will flag the result as 'parcial' when costs or taxes are missing, names what is missing, and explicitly promises it never invents data. It also discloses that tax percentages and costs come from 'el cerebro' (ml_cerebro), which matters for interpreting the output.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and output shape are front-loaded before the parameter note, and every clause about missing costs/taxes earns its place. The 'Carmen, la contadora' framing is a small flavor cost and the single sentence is long, but nothing is truly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 the return: it enumerates the components, the computed net result and margin, the previous-month comparison, and the partial-result flag. An agent knows what it will get back; only the multi-account ('cuenta') case is left to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters. The description restates the 'mes' formats but usefully adds that 'actual' is the default and means 'hasta hoy'; the 'cuenta' parameter is not mentioned in the description at all beyond the schema's pointer to ml_cuentas. That lands at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (monthly accounting summary: billing, sales count, real ML commissions, ads, taxes, COGS, shipping → net result and margin) and states the comparison scope. That is far more than a restatement of the name, and it implicitly sits above the more granular siblings (ml_comisiones, ml_publicidad, ml_envios), though it never explicitly contrasts itself with them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains the 'mes' argument values including the default, which implies when the tool is relevant, but never states when to call this versus ml_rentabilidad, ml_tablero or ml_panel_ventas. Usage is inferable from the data list, not spelled out.
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 ventaARead-only
Lista las ventas (órdenes) del vendedor, de la más reciente a la más vieja. Filtrable por fecha y estado.
| Name | Required | Description | Default |
|---|---|---|---|
| dias | No | Últimos N días (default 7) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| estado | No | paid, cancelled, etc. | |
| limite | No |
TDQS
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.
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.
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.
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.
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.
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 ventasARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) |
TDQS
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.
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.
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.
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.
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.
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_precio_catalogoPrecio para ganar el catálogoBRead-only
Para publicaciones de catálogo: si estás ganando la buy box y qué precio necesitás para ganarla.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| item_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true already tells the agent this is a safe read, lowering the burden. The description usefully adds what the response conceptually contains (buy box status, target price), but says nothing about auth/account selection behavior or that 'cuenta' may be needed when multiple accounts are connected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single compact sentence that front-loads the applicable scope ('publicaciones de catálogo') before the returned value. Efficient, though quite terse for a tool whose required parameter is undocumented.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter read-only query with no output schema, the description adequately conveys the return semantics (buy box status + required price). Missing detail is mostly about the item_id parameter and multi-account context rather than the tool's core purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%: 'item_id' has no description at all, and the tool description never explains what a valid catalog item_id looks like. The description does not compensate for the gap, and the 'cuenta' hint lives only in the schema, not the prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (catalog listings / buy box) and precisely what the tool reports: whether you're winning the buy box and the price needed to win it. It is distinguishable from siblings like ml_publicacion or ml_promociones, though it never names them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The Spanish phrasing 'Para publicaciones de catálogo' implicitly scopes usage to catalog listings, so an agent can infer when it applies. However, there is no explicit when-to-use/when-not, no prerequisite (e.g. valid item_id must be a catalog item), and no named alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ml_preguntasPreguntas de compradoresCRead-only
Preguntas de compradores; por defecto las pendientes de respuesta.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| estado | No | UNANSWERED (default) o ANSWERED | |
| limite | No |
TDQS
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.
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.
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.
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.
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.
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 ofrecidasBRead-only
Campañas y promociones que MercadoLibre le ofrece al vendedor; con promocion_id y tipo, lista las publicaciones elegibles con su descuento.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | DEAL, DOD, MARKETPLACE_CAMPAIGN, etc. (viene en la lista) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| promocion_id | No |
TDQS
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.
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.
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.
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.
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.
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ónARead-only
Detalle completo de una publicación: precio, stock, ventas, tipo, garantía, envío, link.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| item_id | Yes | ID del ítem, ej: MCO123456789 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
readOnlyHint=true is consistent with a pure detail read, so annotations carry the safety profile. Beyond that, the description discloses the specific data payload returned (price, stock, sales, type, warranty, shipping, link), which is genuinely useful since there is no output schema. It says nothing about error behavior for invalid item IDs or cross-account access.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence whose field enumeration earns its place. The opening phrase 'Detalle completo de una publicación' partially restates the title, a minor redundancy, but nothing else is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with annotations and full schema coverage, the field list compensates reasonably for the absent output schema. It lacks guidance on multi-account disambiguation (when to pass cuenta) and on how it relates to the sibling list/update tools, which keeps it short of a 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% — item_id has a format example (MCO123456789) and cuenta points to ml_cuentas — so the schema does the heavy lifting. The description adds no parameter-level meaning of its own, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Detalle completo de una publicación') and enumerates the fields returned (precio, stock, ventas, tipo, garantía, envío, link), which lets an agent tell it apart from the plural list tool ml_publicaciones. It never names a sibling explicitly, so differentiation relies on the singular-vs-plural naming convention.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: the required item_id plus 'detalle' suggests calling it when you already have a single item ID and need a full record. There is no explicit when-to-use, no exclusion, and no pointer to ml_publicaciones for listing or ml_actualizar_publicacion for changes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ml_publicacionesMis publicacionesBRead-only
Lista las publicaciones del vendedor con precio, stock y estado.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| estado | No | active, paused, closed | |
| limite | No |
TDQS
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.
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.
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.
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.
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.
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 vivoARead-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).
| Name | Required | Description | Default |
|---|---|---|---|
| dias | No | Período hacia atrás en días (1 = hoy). Default 30 | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| item_id | No |
TDQS
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.
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.
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.
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.
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.
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 realARead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| costo | No | Costo del producto (lo que te sale a vos) — SIEMPRE preguntarlo al usuario | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| precio | No | Precio de venta; si hay item_id se toma el de la publicación | |
| item_id | No | Si se indica, trae precio, tipo de publicación y gasto de ads reales | |
| dias_ads | No | Período para promediar la publicidad (default 30) | |
| costo_envio | No | Lo que paga el vendedor de envío por unidad (si ofrece envío gratis). Default 0 | |
| impuestos_pct | No | % de impuestos sobre el precio (IVA 19% + ICA según municipio, para régimen común) — SIEMPRE preguntarlo |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, so safety is covered. The description adds real behavioral context: it discloses that it will prompt for missing inputs, that cost and taxes are never fabricated, and that it reports the maximum ACOS a product can bear — useful traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The formula is front-loaded in one sentence and the behavioral caveat follows, with zero filler. It is dense and heavy on all-caps emphasis, but every clause maps to a distinct part of the calculation or behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description does explain the return values (net profit, margin, tolerable ACOS). Combined with 100% parameter documentation and a readOnly annotation, an agent has enough to call it correctly; the only gap is the absence of sibling comparisons.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, including the 'SIEMPRE preguntarlo' notes for costo and impuestos_pct. The description reinforces that item_id pulls live price and ads spend but adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: breaks down peso-by-peso profitability of a product, with the exact formula chain (price minus commission, ads, taxes, shipping, cost = net profit and margin). This is clearly distinguishable from siblings like ml_comisiones or ml_precio_catalogo, which cover only a piece of the calculation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context (per-unit profitability of a product, with item_id pulling real price/publication type/ads) and warns that missing cost and taxes must be asked, never invented. However, it never states when to prefer this over ml_comisiones, ml_metricas, or ml_panel_ventas, so sibling routing 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_reputacionReputación del vendedorCRead-only
Color de reputación, ventas y tasas de reclamos, demoras y cancelaciones.
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| texto | Yes | Respuesta a publicar (sin datos de contacto: ML lo penaliza) | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| pregunta_id | Yes |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| archivo | Yes | Ruta local del video (ej /ruta/MCO123-clip.mp4) | |
| item_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With only readOnlyHint=false available, the description carries real weight: it discloses the accepted media constraints, the 280 MB cap, and critically that moderation is asynchronous (24-48 hs) and must be re-checked with ml_clips. It does not say whether an existing clip is replaced, what happens on moderation rejection, or auth/account scoping rules.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler. The core action is front-loaded and the constraint block plus the follow-up pointer are packed into the second sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a write tool with no output schema, the description covers the media preconditions, the async moderation behavior, and the verification sibling. It leaves the item_id format and any return/confirmation payload implicit, which is a small but real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%; archivo and cuenta are already documented in the schema. The description only implies the meaning of the undocumented item_id ('a una publicación'), without stating it is the publication identifier or the expected format (e.g. MCO123). Baseline 3 given partial schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Sube) plus resource (un Clip, video vertical corto) and the target (una publicación), and even names ml_clips as the follow-up verification tool. An agent can distinguish it from ml_borrar_clip and ml_clips 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Requisitos de MercadoLibre' block effectively states the preconditions for use (publicación activa, format, duration, resolution, size), and it routes the agent to ml_clips afterwards to check moderation. It stops short of explicitly saying when not to use it or contrasting it with ml_borrar_clip/ml_actualizar_publicacion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ml_tableroTablero del día (parte diario visual)ARead-only
Arma el tablero visual del día con todo lo que saben los 19 trabajadores (incluido el ranking de nichos de Emma): la frase del día, lo que está funcionando, lo que necesita atención (urgente primero, con la skill para resolverlo), tus números (facturación, neto, ganancia, publicidad, reputación, pendientes), la planilla del equipo (tocás un trabajador y ves su tabla), lo que viene, la evolución de 30 días y la bitácora. Es una página local (sin servidor, funciona sin internet) con tutorial guiado; después se actualiza sola con cada control del equipo. Con abrir=true la abre en el navegador.
| Name | Required | Description | Default |
|---|---|---|---|
| abrir | No | true = abrirla en el navegador de esta computadora |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond readOnlyHint=true, the description discloses meaningful behavior: it is a local page, works without internet, has a guided tutorial, and updates automatically with each team control. It does not specify what is returned when abrir is false or whether a file is written, leaving minor behavioral ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and nearly all content is relevant, but the first sentence is an extremely long run-on enumeration. It would be more scannable if the dashboard sections were structured or shortened instead of packed into one dense clause chain.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a simple one-parameter tool with no output schema, the description is rich about what the dashboard contains and how it behaves offline. It still does not clarify the return/result when abrir is false, which matters slightly because no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema already explains that 'abrir' opens the page in the browser. The description repeats this ('Con abrir=true la abre en el navegador') but adds no new meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Arma el tablero visual del día' and then enumerates the dashboard contents. It is clearly a daily visual dashboard, but it does not explicitly distinguish itself from siblings such as ml_panel_ventas, ml_metricas, or ml_numeros.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the daily overview content and by 'Con abrir=true la abre en el navegador', but there is no explicit when-to-use guidance or comparison with alternative summary/metrics tools. An agent can infer the purpose, but must decide on its own when this is preferable to sibling dashboard tools.
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úsquedaCRead-only
Las búsquedas más populares del sitio o de una categoría: qué está queriendo comprar la gente.
| Name | Required | Description | Default |
|---|---|---|---|
| sitio | No | ||
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| categoria | No |
TDQS
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.
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.
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.
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.
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.
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_trabajadoresEquipo de trabajadores (vigilancia constante)CRead-only
El equipo de 19 trabajadores que vigilan solos y constantemente (más 💰 Ramiro rentabilidad, 📣 Ana anuncios, 🚚 Leo logística, 🧾 Carmen contabilidad, 📦 Nico días de stock antes del quiebre, 💬 Paula preguntas y mensajes sin responder, 🛡️ Iván reclamos y plazos, ⭐ Valen reputación y opiniones, 🏷️ Gabi catálogo/buy box, 🚫 Sole moderaciones, 🔄 Fede precio y stock de tus proveedores — a Fede se le asigna ref=TU publicación y fuente=publicación o URL del proveedor): 🕵️ Vera (precios), 📦 Tomás (ventas de rivales y quiebres de stock), 🏆 Martina (ranking en búsquedas y tu puesto), 🎯 Bruno (rivales nuevos), 🩺 Lucía (audita TODAS tus publicaciones cada 15 días: desactualizadas, precio congelado o fuera de mercado, fotos, stock, ficha), 🗓️ Clara (agenda comercial: fechas cruciales y cronograma de promociones de ML — siempre pregunta si querés participar; Mi página al día) 📈 Sofía (tendencias) y 🧭 Emma (cada semana analiza tus nichos candidatos con la API oficial y arma el ranking de oportunidades: a Emma se le asigna ref=la búsqueda del nicho; sin tareas toma tus búsquedas seguidas o las tendencias del sitio). Cada uno tiene sus skills a cargo y cada alerta recomienda qué skill correr. Guardan todo en una base de datos SQLite local (equipo.db, viene con Node: cero instalación, ideal Windows) y envían sus resultados a Google Drive (planilla en vivo o carpeta de Drive). Acciones: equipo (estado de todos), asignar (darle una tarea), quitar, pausar, activar, frecuencia (minutos), correr (que trabajen ya), informe (alertas nuevas), resultados (tablas con todo lo que sabe cada uno), historial (evolución día por día de un rival/keyword), base (la base de datos: estado y backup), drive (conectar Google Drive). Se puede nombrar al trabajador por su nombre (Vera) o puesto (precios). Si un trabajador no tiene tareas propias vigila tus seguidos de ml_vigilar de su tipo.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | item_id rival, nickname/id del vendedor, palabra clave, o categoría (tendencias) | |
| url | No | drive: URL de la app web de Apps Script de tu planilla (https://script.google.com/macros/s/.../exec) | |
| dias | No | historial: cuántos días hacia atrás (default 30, máx 400) · frecuencia: cada cuántos días (ej: Lucía dias=15) | |
| nota | No | ||
| tipo | No | Se deduce solo según el trabajador; Vera acepta vendedor o publicacion | |
| todas | No | informe: incluir también las alertas ya leídas | |
| accion | Yes | Qué hacer. historial = evolución día por día de un objetivo (precio, ventas por día, puesto, líder) desde la base de datos. base = estado de la base de datos del equipo y backup. resultados = las tablas con lo que sabe cada trabajador (precio rival vs el tuyo, ritmo de ventas, tu puesto, rivales nuevos, top de tendencias). drive = conectar/ver/probar el envío a Google Drive | |
| backup | No | base: hacer una copia de seguridad de la base ahora | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| fuente | No | Fede (proveedores): la publicación del proveedor en MercadoLibre (MCO…) o la URL https del producto en su tienda; ref = TU publicación | |
| probar | No | drive: enviar ahora los resultados para probar | |
| quitar | No | drive: desconectar el envío | |
| umbral | No | Vera: % mínimo de cambio de precio para avisar · Martina: puestos mínimos de cambio · Tomás: unidades mínimas | |
| carpeta | No | drive: carpeta de Google Drive para escritorio en esta PC (ej: G:\Mi unidad) o "auto" para detectarla | |
| mi_item | No | Tu item_id para comparar: Vera avisa si un rival queda más barato, Martina te dice tu puesto en la búsqueda | |
| minutos | No | Frecuencia de control en minutos (mínimo 10) | |
| recargo | No | Fede: % que le sumás al precio del proveedor para vender (para sugerirte el precio) | |
| trabajador | No | Nombre (Vera, Tomás, Martina, Bruno, Lucía, Clara, Ramiro, Ana, Leo, Carmen, Nico, Paula, Iván, Valen, Gabi, Sole, Fede, Sofía) o puesto, o "todos" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations declare readOnlyHint=true, but the description plainly describes mutating operations: assigning tasks ('asignar (darle una tarea)'), removing, pausing, activating, connecting Google Drive ('drive (conectar Google Drive)') and taking a database backup. That is a direct contradiction of the read-only declaration, and an agent trusting the annotation would invoke it believing no state changes. Flagged as an annotation contradiction; the description itself is also silent on side effects like writing to equipo.db and pushing files to Drive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The text is a single run-on block dense with emoji, nested parentheses and a 19-name roster that precedes any statement of what the tool does. The operational information (actions, naming rules, ml_vigilar fallback) is buried at the end, so the agent must read the whole thing to find the actionable core; the roster is reference material that belongs in a schema or worker enum.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 18 parameters, 12 actions and no output schema, the description does cover the storage/transport model (local SQLite equipo.db plus Google Drive) and gives one-line glosses for each action. What it omits is what the read actions actually return (equipo state, informe alerts, resultados tables) and the fact that this single tool mixes safe reads with state-changing actions, which matters a lot for a multi-action definition.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 94%, so the baseline is 3, but the description adds cross-parameter meaning the schema cannot express: it binds specific parameters to specific workers ('a Fede se le asigna ref=TU publicación y fuente=publicación o URL del proveedor', 'a Emma se le asigna ref=la búsqueda del nicho') and explains that workers can be addressed by name or role. That pairing of worker with ref/fuente is genuinely useful routing information beyond the per-field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening states a concrete resource (a team of 19 monitoring workers) and the trailing sentence enumerates the management verbs it supports (equipo, asignar, quitar, pausar, activar, frecuencia, correr, informe, resultados, historial, base, drive), so an agent can tell this is the worker-orchestration tool. Sibling differentiation is only partial: ml_vigilar is mentioned once as the fallback source of followed targets, but overlapping siblings such as ml_jefe, ml_auditar_publicaciones and ml_novedades_competencia are never contrasted, and the long roster of personas crowds out the actual purpose statement.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Per-action hints are embedded in the description and schema ('informe (alertas nuevas)', 'correr (que trabajen ya)', 'drive (conectar Google Drive)'), and one selection rule is given (a worker with no own tasks watches your ml_vigilar follows of its type). However there is no explicit 'use this instead of X' guidance against the many overlapping monitoring siblings, and no prerequisites or ordering advice (e.g. assign before correr).
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 conectorARead-only
Muestra la versión instalada del conector, chequea si hay una actualización publicada y explica cómo actualizar.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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 seguimientoBRead-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.
| Name | Required | Description | Default |
|---|---|---|---|
| ref | No | Nickname/id del vendedor, item_id, keyword, o categoría para tendencias | |
| nota | No | Recordatorio de por qué se vigila | |
| tipo | No | ||
| accion | Yes | Qué hacer | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) |
TDQS
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.
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.
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.
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.
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.
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 publicacionesARead-only
Visitas de una publicación en una ventana de días, para medir tráfico y conversión.
| Name | Required | Description | Default |
|---|---|---|---|
| dias | No | default 30 | |
| cuenta | No | user_id de la cuenta de ML si hay varias conectadas (ver ml_cuentas) | |
| item_id | Yes |
TDQS
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.
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.
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.
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.
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.
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.
43 tool updates
v1.30.0-tyl.1- First observed
ml_aceptar_promocion - First observed
ml_actualizar_publicacion - First observed
ml_agenda - First observed
ml_aplicar_mejora - First observed
ml_auditar_publicaciones - First observed
ml_borrar_clip - First observed
ml_buscar - First observed
ml_cerebro - First observed
ml_clips - First observed
ml_comisiones - First observed
ml_conectar - First observed
ml_crear_publicacion - First observed
ml_cuentas - First observed
ml_desconectar - First observed
ml_descubrir_ganadores - First observed
ml_despachos - First observed
ml_envios - First observed
ml_faq_descripcion - First observed
ml_historial_competencia - First observed
ml_jefe - First observed
ml_mejorar_publicacion - First observed
ml_metricas - First observed
ml_nichos - First observed
ml_novedades_competencia - First observed
ml_numeros - First observed
ml_ordenes - First observed
ml_panel_ventas - First observed
ml_precio_catalogo - First observed
ml_preguntas - First observed
ml_promociones - First observed
ml_publicacion - First observed
ml_publicaciones - First observed
ml_publicidad - First observed
ml_rentabilidad - First observed
ml_reputacion - First observed
ml_responder_pregunta - First observed
ml_subir_clip - First observed
ml_tablero - First observed
ml_tendencias - First observed
ml_trabajadores - First observed
ml_version - First observed
ml_vigilar - First observed
ml_visitas
TDQS
Scored across 43 tools
Multiple tools report overlapping sales metrics: ml_numeros (Carmen's monthly P&L), ml_metricas (period revenue/units), and ml_panel_ventas (today/month dashboard) all answer "how are sales going?" with no clear boundary rule. Publication improvement is similarly fragmented across ml_mejorar_publicacion, ml_auditar_publicaciones, ml_faq_descripcion and ml_aplicar_mejora, where the FAQ generation and description-writing responsibilities blur, and ml_publicaciones vs ml_publicacion (list vs detail) invites misselection. The persona wrapper (ml_jefe, ml_trabajadores, ml_tablero) also overlaps with the standalone role tools like ml_numeros, ml_despachos and ml_agenda.
Names share a consistent ml_ prefix and snake_case, but mix noun-only labels (ml_numeros, ml_cerebro, ml_metricas, ml_tendencias) with verb_noun patterns (ml_crear_publicacion, ml_subir_clip, ml_actualizar_publicacion), so the verb tells you nothing in half the set. Singular/plural pairs (ml_publicacion/ml_publicaciones, ml_clips vs ml_borrar_clip) are easy to confuse.
At 43 tools this is far beyond a comfortable agent-facing surface, and the count is inflated by persona duplicates (ml_jefe, ml_trabajadores, ml_tablero) layered on top of the individual tools. Several tools could be consolidated or folded into actions of existing ones without losing capability.
Coverage of the MercadoLibre seller domain is genuinely broad: orders, shipping, publications CRUD, clips, questions, ads, promotions, catalog/buy box, reputation, competitor tracking, niche analysis and accounting. Minor gaps remain around buyer message threads and post-sale claims/refunds, which are referenced via the worker personas but have no dedicated tool.
Maintenance
Related MCP Connectors
Connect Amazon Seller Central to Claude or ChatGPT via MCP. Orders, inventory, pricing, fees, FBA.
Amazon brand, seller, niche & buy-box intelligence inside your own Claude or ChatGPT.
Amazon Seller Central, Ads and Vendor Central in ChatGPT & Claude. 106 tools; writes need approval.
Mercado Libre keyword & competitor intelligence for AI agents across all 18 ML markets.
Related MCP Servers
- AlicenseAqualityCmaintenanceConnects Claude to Amazon Seller Central via the SP-API for natural language queries on sales, inventory, reports, fees, reimbursements, and analytics.2049MIT
- AlicenseBqualityDmaintenanceIntegrates with the Mercado Livre API to enable management of sales, shipments, and shipping labels directly through Claude.71MIT
- FlicenseNot gradedqualityDmaintenanceConnects Claude to your MercadoLibre seller account, enabling natural language management of listings, orders, and shipments.-
- AlicenseAqualityBmaintenanceEnables 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.33MIT

