Zacatrus

Juegos de mesa Zacatrus: busca por jugadores, edad y duración; stock en tiendas, eventos y Club.

使うべきか

品質と安全性

B
説明の品質
76%
スキーマの完全性
94%
命名の品質
87%
ポイズニングのリスク
100%
権限の一致
90%
プロトコルへの準拠
100%

検出事項(10)

  • LOWTool 'list_stores' description lacks action verblist_stores 内
  • LOWTool 'ludoteca_slots' description lacks action verbludoteca_slots 内
  • LOWTool 'list_events' description lacks action verblist_events 内
  • LOWTool 'club_and_box' description lacks action verbclub_and_box 内
  • LOWTool 'community_top_games' description lacks action verbcommunity_top_games 内
  • LOWTool 'game_comments' description lacks action verbgame_comments 内
  • LOWTool 'my_account' description lacks action verbmy_account 内
  • LOWTool 'my_orders' description lacks action verbmy_orders 内
  • LOWTool 'my_fichas' description lacks action verbmy_fichas 内
  • LOWTool 'fetch' suggests web access but openWorldHint=falsefetch 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~5,377トークン数(ツール定義)
~1.3 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 4.20%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "zacatrus": {
      "url": "https://zacatrus.es/mcp"
    }
  }
}

リモートエンドポイント

https://zacatrus.es/mcpstreamable-http

できること

ツール一覧

ツール(21)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢search_games(query, players, age, min_minutes, max_minutes, ...)

Busca en el catálogo de Zacatrus (juegos de mesa, rol, cartas y accesorios) con el mismo buscador que la web. Se puede combinar texto libre con filtros: número de jugadores, edad, duración, temática y precio. Devuelve precio, disponibilidad web (in_stock, out_of_stock o preorder), jugadores, edad, duración y el enlace a la ficha. Si no hay resultados, prueba con menos filtros antes de decir que no lo tenemos.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Texto libre: nombre del juego, estilo, mecánica… Ej: \"cooperativo\", \"catan\", \"juego de cartas rápido\"."
    },
    "players": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Número de personas que van a jugar. Solo devuelve juegos que se pueden jugar con ese número exacto."
    },
    "age": {
      "type": "integer",
      "minimum": 0,
      "maximum": 99,
      "description": "Edad del jugador más pequeño. Solo devuelve juegos cuya edad mínima sea esa o menor."
    },
    "min_minutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "Duración mínima de la partida, en minutos (duración típica: si el juego indica un rango, su punto medio)."
    },
    "max_minutes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 600,
      "description": "Duración máxima de la partida, en minutos (duración típica: si el juego indica un rango, su punto medio). Ej: 30 para \"algo rápido\"."
    },
    "theme": {
      "type": "string",
      "description": "Temática. Ej: fantasía, ciencia ficción, mitología, terror, piratas, medieval, animales, misterio, trenes, vikingos, zombies."
    },
    "price_min": {
      "type": "number",
      "minimum": 0,
      "description": "Precio mínimo en euros."
    },
    "price_max": {
      "type": "number",
      "minimum": 0,
      "description": "Precio máximo en euros."
    },
    "in_stock_only": {
      "type": "boolean",
      "description": "true para dejar fuera lo agotado en la web."
    },
    "sort": {
      "type": "string",
      "enum": [
        "relevance",
        "price_asc",
        "price_desc"
      ],
      "description": "Orden. Por defecto relevance."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Cuántos resultados (por defecto 10)."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢get_game(sku, country)

Ficha completa de un juego de Zacatrus: descripción, precio (y precio sin oferta si lo hay), disponibilidad en la web (in_stock, out_of_stock o preorder; en preventa, la fecha prevista), jugadores, edad, duración, temáticas, autores y editorial. Identifícalo con el sku que devuelve search_games, o con la URL de la ficha.

入力スキーマ

{
  "type": "object",
  "properties": {
    "sku": {
      "type": "string",
      "description": "SKU del juego (el campo sku de search_games), o la URL de su ficha en zacatrus.es / zacatrus.fr."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "required": [
    "sku"
  ],
  "additionalProperties": false
}
🟢store_stock(sku, store, country)

Unidades de un juego en cada tienda física de Zacatrus (in_stock, low_stock o out_of_stock) y disponibilidad en la web. Úsalo cuando alguien quiera comprar en tienda o recoger hoy. Las unidades llegan hasta 10 y pueden cambiar en minutos; para una reserva segura, que confirme con la tienda.

入力スキーマ

{
  "type": "object",
  "properties": {
    "sku": {
      "type": "string",
      "description": "SKU del juego (campo sku de search_games) o URL de su ficha."
    },
    "store": {
      "type": "string",
      "description": "Opcional: solo una tienda. Código (M, P, S, V, B, I, A) o nombre (Valencia, Chamberí…). Ver list_stores."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "required": [
    "sku"
  ],
  "additionalProperties": false
}
🟢list_stores(country)

Tiendas físicas de Zacatrus con dirección, horario declarado (el mismo que se muestra al elegir recogida en tienda), próximos días de cierre y si tienen ludoteca (mesas para jugar en la tienda). El horario es el declarado en la web: no garantiza que la tienda esté abierta en este momento.

入力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢ludoteca_slots(store, date, days, country)

Franjas con mesa libre en la ludoteca de las tiendas de Zacatrus (mesas para jugar en la tienda con los juegos de la ludoteca) por tienda y día. Sin reservar nada: para reservar hay que entrar en la web con la cuenta (enlace en url). Los clientes sin Zaca+ Club solo pueden reservar con pocos días de antelación; más allá el día sale como club_only.

入力スキーマ

{
  "type": "object",
  "properties": {
    "store": {
      "type": "string",
      "description": "Tienda: código (M, P, V, B…) o nombre (Valencia, Chamberí…). Sin indicarla se miran todas las que tienen ludoteca."
    },
    "date": {
      "type": "string",
      "description": "Día en formato AAAA-MM-DD. Por defecto, hoy."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 7,
      "description": "Cuántos días seguidos mirar desde date (por defecto 1)."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢list_events(store, days, limit, country)

Próximos eventos publicados en la web de Zacatrus (ligas, torneos, encuentros) en las tiendas físicas: tienda, fecha y hora, duración, plazas libres y descripción. Los eventos que se repiten (cada semana o cada 15 días) salen con su próxima fecha. La inscripción se hace en la web con la cuenta (enlace en url).

入力スキーマ

{
  "type": "object",
  "properties": {
    "store": {
      "type": "string",
      "description": "Solo una tienda: código (M, P, V…) o nombre (Valencia, Chamberí…)."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 180,
      "description": "Mirar los próximos N días (por defecto 30)."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 30,
      "description": "Máximo de eventos (por defecto 15)."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢club_and_box(country)

Qué incluyen Zaca+ Club (socios con descuentos, prioridad en la ludoteca y promociones anticipadas) y Zaca+ Box (suscripción a cajas sorpresa de juegos), con precios y enlaces para suscribirse. El contenido de la caja del mes solo aparece cuando ya está desvelado; antes no se puede contar.

入力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢community_top_games(metric, limit, country)

Ranking de juegos según la comunidad de Zacatrus: los más deseados (marcados como "lo quiero") o los favoritos de sus clientes. Solo datos agregados: número de clientes por juego, nunca quién. Sirve para recomendar "lo que más gusta" o "lo que más se desea".

入力スキーマ

{
  "type": "object",
  "properties": {
    "metric": {
      "type": "string",
      "enum": [
        "wanted",
        "favorite"
      ],
      "description": "wanted = los más deseados (por defecto); favorite = los más marcados como favoritos."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Cuántos juegos (por defecto 10)."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢game_comments(sku, limit, country)

Comentarios que clientes de Zacatrus han dejado como públicos sobre un juego, tal como están en la web, y cuántos clientes lo desean o lo tienen como favorito. Salen sin nombre ni perfil. Pueden ser pocos o ninguno: si no hay, no lo inventes.

入力スキーマ

{
  "type": "object",
  "properties": {
    "sku": {
      "type": "string",
      "description": "SKU del juego (campo sku de search_games) o URL de su ficha."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "description": "Cuántos comentarios (por defecto 10)."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "required": [
    "sku"
  ],
  "additionalProperties": false
}
🟢my_account(country)

Comprueba qué cuenta de Zacatrus tiene conectada el cliente a este asistente (solo el nombre de pila) y desde cuándo. Úsala para saludar al cliente o para comprobar que la conexión funciona. Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢my_collection(list, limit, country)

La colección del cliente en Zacatrus: los juegos que tiene (owned) y los que quiere (wanted), cada uno con su ficha resumida. Úsala para recomendar a partir de lo que ya tiene («tengo estos, ¿qué me llevo para 6?») y para no recomendarle lo que ya posee. Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "list": {
      "type": "string",
      "enum": [
        "owned",
        "wanted"
      ],
      "description": "owned = los que tiene, wanted = los que quiere. Sin indicar: ambas listas."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Máximo de juegos (por defecto 30)."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢mark_game(sku, mark, country)

Añade un juego a la colección del cliente marcándolo como «lo tengo» (owned) o «lo quiero» (wanted). Solo añade la marca: no quita ninguna ni cambia nada más de la cuenta. Pídele confirmación al cliente antes de marcar. Identifica el juego con el sku de search_games o la URL de su ficha. Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "sku": {
      "type": "string",
      "description": "SKU del juego (campo sku de search_games), o la URL de su ficha."
    },
    "mark": {
      "type": "string",
      "enum": [
        "owned",
        "wanted"
      ],
      "description": "owned = lo tengo, wanted = lo quiero."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "required": [
    "sku",
    "mark"
  ],
  "additionalProperties": false
}
🟢my_bookings(country)

Las reservas de mesa en la ludoteca que el cliente tiene a partir de hoy: tienda, día, franjas y mesas, con el booking_id que pide cancel_booking. Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
⚪book_table(store, date, slots, tables, phone, ...)

Reserva mesa en la ludoteca de una tienda de Zacatrus para el cliente. Busca antes las franjas libres con ludoteca_slots. Pídele al cliente que confirme tienda, día y franjas, y pregúntale SIEMPRE su teléfono de contacto para esta reserva (no lo supongas ni lo reutilices de otra). Zacatrus le envía por correo la confirmación con el QR. Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "store": {
      "type": "string",
      "description": "Tienda: código (M, P, V, B…) o nombre (Valencia, Chamberí…), como en ludoteca_slots."
    },
    "date": {
      "type": "string",
      "description": "Día en formato AAAA-MM-DD."
    },
    "slots": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "maxItems": 4,
      "description": "Hora de inicio de cada franja, HH:MM, tal como sale en \"from\" de ludoteca_slots (p. ej. [\"17:00\", \"19:00\"])."
    },
    "tables": {
      "type": "integer",
      "minimum": 1,
      "maximum": 4,
      "description": "Mesas por franja (por defecto 1)."
    },
    "phone": {
      "type": "string",
      "description": "Teléfono de contacto que el cliente te da para esta reserva."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "required": [
    "store",
    "date",
    "slots",
    "phone"
  ],
  "additionalProperties": false
}
🔴cancel_booking(booking_id, country)

Cancela una reserva de mesa en la ludoteca del cliente (solo las suyas, y solo las que aún no han pasado). Obtén el booking_id con my_bookings y pídele confirmación al cliente antes de cancelar. Zacatrus le envía el correo de cancelación. Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "integer",
      "minimum": 1,
      "description": "booking_id de la reserva, de my_bookings."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "required": [
    "booking_id"
  ],
  "additionalProperties": false
}
🟢my_orders(order, limit, country)

Los últimos pedidos del cliente en Zacatrus: número, fecha, estado, juegos, total y seguimiento del envío (transportista y número de seguimiento) cuando ya ha salido. Con "order" (el número de pedido) devuelve solo ese. Es solo lectura: no muestra direcciones ni datos de pago. Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "order": {
      "type": "string",
      "description": "Número de pedido (campo order de un resultado anterior). Sin indicar: los últimos."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 10,
      "description": "Cuántos pedidos (por defecto 5)."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢my_club(country)

Si el cliente es socio de Zaca+ Club: plan, desde cuándo, hasta cuándo está pagado y si se renueva solo (próxima renovación). Solo lectura: no da de alta ni de baja ni cambia la renovación (eso lo hace el cliente en su cuenta, enlace manage_url). Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢my_fichas(country)

El saldo de fichas del cliente (el programa de puntos de Zacatrus) y su equivalente en euros, el mismo que ve en «Tu cuenta». Solo lectura. Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢my_box(country)

Si el cliente está suscrito a Zaca+ Box: qué modalidades tiene activas (Familiar, Para 2, Outlet…) y, de cada una, la próxima caja (nombre, fecha de envío y precio máximo). Los juegos de la caja solo salen cuando ya están desvelados, igual que en «Tu cuenta > BOX»; antes se dice desde qué día. Solo lectura: no da de alta ni de baja ni cambia la modalidad (eso lo hace el cliente en su cuenta, enlace manage_url). Necesita que el cliente haya iniciado sesión.

入力スキーマ

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "additionalProperties": false
}
🟢search(query, country)

Búsqueda de texto libre en el catálogo de Zacatrus (juegos de mesa). Devuelve id, título y enlace; usa fetch con el id para ver la ficha. Equivale a search_games sin filtros, pensada para clientes que solo conocen search y fetch.

入力スキーマ

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Qué buscar, en lenguaje natural. Ej: \"juegos cooperativos para 4\", \"catan\"."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
🟢fetch(id, country)

Ficha completa (texto, precio, disponibilidad, enlace) de un resultado de search, a partir de su id. Equivale a get_game.

入力スキーマ

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "El id que devolvió search."
    },
    "country": {
      "type": "string",
      "enum": [
        "es",
        "fr"
      ],
      "description": "Tienda web: \"es\" = zacatrus.es (por defecto), \"fr\" = zacatrus.fr. Define idioma, precios y enlaces."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 21 件