---
title: "Listar productos y servicios"
method: POST
path: "/tools/items_getItems"
tags: ["Items"]
---

# Listar productos y servicios

`POST /tools/items_getItems`

## Request

- Base URL: `https://mcp.alegra.com`
- URL: `https://mcp.alegra.com/tools/items_getItems`
- Auth: HTTP bearer

Herramienta MCP: `items_getItems`.

Devuelve la lista de productos y servicios de la compañía, con filtros opcionales y paginación (máximo 30 por página, por defecto 30).

Ejemplo de llamada JSON-RPC:

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "items_getItems",
    "arguments": { "start": 0, "limit": 30 }
  }
}
```

Úsala para descubrir productos, buscar por nombre, referencia, categoría o bodega, u obtener el ID de un ítem antes de consultar su detalle. Si ya conoces el ID del ítem, prefiere `items_getItem`: es más rápido y devuelve datos más completos.

Las consultas de stock (cantidades disponibles, existencias por bodega) se responden con `itemsStock_get_item_stock` (un ítem) o `itemsStock_get_item_stock_summary` (varios ítems), no con esta herramienta.

Filtros: `query` busca por nombre o descripción; `name` filtra por nombre exacto; `reference` por código de referencia (SKU); `idItemCategory` e `idWarehouse` filtran por categoría y bodega; `type` y `status` filtran por tipo y estado del ítem. `order_field` y `order_direction` solo se envían cuando el usuario pide explícitamente un orden específico.

`fields` añade campos extra separados por comas; inclúyelo solo con los campos que el usuario pidió explícitamente: `itemVariants` (IDs de las variantes hijas, por ejemplo antes de actualizar una variante), `inventory` (datos de stock), `images`, o `editable,deletable` (verificaciones de gestión y permisos). `idGlobal` se incluye siempre automáticamente y no debe añadirse a `fields`.

`metadata` y `mode` los inyecta el servidor automáticamente (`metadata: true`; `mode: "simple"` cuando no se piden campos extra o `mode: "advanced"` cuando se piden). Los clientes normalmente no deben enviarlos.

Paginación con `start` (desplazamiento desde 0; úsalo junto con `limit`) y `limit` (cantidad de ítems por página). Nunca envíes un `limit` mayor de 30: es el máximo permitido.

Solo lectura.

## Request body

- object
  - `limit` integer: Cantidad de ítems a devolver por página. Por defecto y máximo: 30. Solo inclúyelo si el usuario pide una cantidad específica menor de 30.
  - `start` integer: Desplazamiento de paginación (número de ítems a omitir, desde 0). Úsalo solo al recorrer los resultados.
  - `metadata` boolean: Incluye el total de resultados en la respuesta. El servidor lo inyecta automáticamente como `true`; no lo envíes manualmente.
  - `query` string: Texto libre para buscar ítems por nombre o descripción.
  - `type` 'simple' | 'kit' | 'variantParent' | 'variant' | 'surtido': Filtra los ítems por tipo. Inclúyelo solo cuando el usuario pida filtrar por un tipo específico.
  - `status` 'active' | 'inactive': Filtra los ítems por estado. Inclúyelo solo cuando el usuario pida filtrar por estado.
  - `name` string: Filtra los ítems por nombre exacto.
  - `reference` string: Filtra los ítems por código de referencia (SKU).
  - `idItemCategory` string: Filtra los ítems por ID de categoría.
  - `idWarehouse` string: Filtra los ítems por ID de bodega.
  - `order_direction` 'ASC' | 'DESC': Dirección del orden. Inclúyelo solo cuando el usuario pida explícitamente un orden.
  - `order_field` string: Campo por el que ordenar. Inclúyelo solo cuando el usuario pida explícitamente un orden.
  - `fields` string: Campos extra separados por comas. `idGlobal` se incluye siempre automáticamente y no debe añadirse aquí. Incluye solo los campos que el usuario pidió explícitamente: `itemVariants` (IDs de las variantes hijas), `inventory` (datos de stock), `images`, `editable`, `deletable`.
  - `mode` 'advanced' | 'simple': Modo de respuesta. Lo inyecta el servidor automáticamente: `simple` cuando no se piden campos extra y `advanced` cuando se piden. No lo envíes manualmente.

## Response `200`

Lista de productos y servicios

## Other responses

- `401`: No autorizado (token de Alegra inválido o expirado).

---

[API](https://skmtc.dev/alegra/apis/mcp-alegra.md) - [All operations](https://skmtc.dev/alegra/apis/mcp-alegra/llms.txt) - [OpenAPI document](https://skmtc.dev/alegra/apis/mcp-alegra/revisions/528447af020b?raw)
