Collective, moderated event photo spaces: read status, list media, save a guest photo, react, star.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Identidad y estado público de un Pixever: nombre (si está disclosed), privacidad, estado de ciclo de vida, y la vida free — `state` ('open'|'closed'), `open_until` (hasta cuándo sigue abierto a contenido nuevo) y `risk_counter_active` (true solo en los 7 días previos a un corte de extensión, fin de mes 3/4/5). Si está cerrado, lo dice junto con desde cuándo (`closed_since`) — sin ofrecer subida. Solo lectura.
Slug del Pixever, p.ej. 'boda-maria'.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Identidad y estado público de un Pixever: nombre (si está disclosed), privacidad, estado de ciclo de vida, y la vida free — `state` ('open'|'closed'), `open_until` (hasta cuándo sigue abierto a contenido nuevo) y `risk_counter_active` (true solo en los 7 días previos a un corte de extensión, fin de mes 3/4/5). Si está cerrado, lo dice junto con desde cuándo (`closed_since`) — sin ofrecer subida. Solo lectura.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Slug del Pixever, p.ej. 'boda-maria'. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Slug del Pixever, p.ej. 'boda-maria'."
}
}
}Agregado de interacciones de un media: `star` (count, recent_actors, starred_by_me), `reactions` (chips con conteos, recent_actors) y `views` (count). `token` es opcional en espacios públicos; en closed/semi_private se requiere identidad (x-guest-token) o un x-view-secret válido ya resuelto por el host. Solo lectura, devuelve el agregado tal cual.
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| token | string | Token de invitado (x-guest-token) opcional — nunca se guarda ni se loguea. |
| media_id* | string |
{
"type": "object",
"required": [
"slug",
"media_id"
],
"properties": {
"slug": {
"type": "string"
},
"token": {
"type": "string",
"description": "Token de invitado (x-guest-token) opcional — nunca se guarda ni se loguea."
},
"media_id": {
"type": "string"
}
}
}Lista paginada (cursor-based) de media visible del feed de un Pixever. Pixevers públicos no requieren `token`; cerrados/semi-privados sí (el x-guest-token de un invitado ya registrado). Usa `pageInfo.endCursor` de la respuesta como `after` para pedir la siguiente página. Solo lectura.
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| after | string | Cursor opaco de `pageInfo.endCursor` de una llamada previa. |
| limit | integer | Default 20, máximo 50. |
| token | string | Token de invitado (x-guest-token) ya emitido — nunca se guarda ni se loguea. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
},
"after": {
"type": "string",
"description": "Cursor opaco de `pageInfo.endCursor` de una llamada previa."
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "Default 20, máximo 50."
},
"token": {
"type": "string",
"description": "Token de invitado (x-guest-token) ya emitido — nunca se guarda ni se loguea."
}
}
}Reacciona a un media con un emoji del catálogo, o quita la reacción propia (`remove:true`). Requiere `token` (x-guest-token) — sin identidad de invitado no hay reacción. `emoji` es requerido salvo con `remove:true` (uno de ❤️ 😂 😮 😢 🔥 👏). Con `remove:true` se ignora `emoji` y se usa DELETE. Errores reales de la API (429 `REACTION_RATE_LIMITED`, etc.) se devuelven como `ok:false` con su `code`, nunca como éxito inventado.
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| emoji | string | Requerido si remove no es true. Uno de: ❤️ 😂 😮 😢 🔥 👏 |
| token* | string | Token de invitado (x-guest-token) ya emitido — requerido. Nunca se guarda ni se loguea. |
| remove | boolean | true quita la reacción propia (DELETE) en vez de crearla/actualizarla; ignora emoji. |
| media_id* | string |
{
"type": "object",
"required": [
"slug",
"token",
"media_id"
],
"properties": {
"slug": {
"type": "string"
},
"emoji": {
"type": "string",
"description": "Requerido si remove no es true. Uno de: ❤️ 😂 😮 😢 🔥 👏"
},
"token": {
"type": "string",
"description": "Token de invitado (x-guest-token) ya emitido — requerido. Nunca se guarda ni se loguea."
},
"remove": {
"type": "boolean",
"description": "true quita la reacción propia (DELETE) en vez de crearla/actualizarla; ignora emoji."
},
"media_id": {
"type": "string"
}
}
}Pone o quita la estrella de un media — funciona como un 'like': el toggle la pone si no estaba, o la quita si ya estaba. Requiere `token` (x-guest-token) — sin identidad de invitado no hay estrella. Devuelve `starred` (estado después del toggle) y `count` (total de estrellas del media). Errores reales de la API se devuelven como `ok:false` con su `code` cuando la API lo tipa, nunca como éxito inventado.
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| token* | string | Token de invitado (x-guest-token) ya emitido — requerido. Nunca se guarda ni se loguea. |
| media_id* | string |
{
"type": "object",
"required": [
"slug",
"token",
"media_id"
],
"properties": {
"slug": {
"type": "string"
},
"token": {
"type": "string",
"description": "Token de invitado (x-guest-token) ya emitido — requerido. Nunca se guarda ni se loguea."
},
"media_id": {
"type": "string"
}
}
}Construye la URL pública de la puerta de subida (/p/:slug) de un Pixever, agregando el acceso del invitado como ?access= si se provee `token`. Si el espacio está cerrado (vida free agotada), no ofrece el enlace: devuelve `ok:false` con `code: FREE_LIFE_CLOSED` y un mensaje en positivo (sigue visible para siempre, ya no entra contenido nuevo, Obtén Pro). No emite ni valida el token — solo lo adjunta cuando el espacio está abierto; la validación ocurre al abrir el enlace. Solo lectura.
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| token | string | Acceso (puerta×alcance) ya emitido por el host — nunca se guarda ni se loguea. |
{
"type": "object",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string"
},
"token": {
"type": "string",
"description": "Acceso (puerta×alcance) ya emitido por el host — nunca se guarda ni se loguea."
}
}
}ÚNICA tool de escritura: descarga una imagen pública desde `source_url` y la sube a `POST /api/v1/pixevers/:slug/media` a nombre del invitado dueño de `token` (x-guest-token, requerido — sin token no hay escritura). Solo imágenes (jpeg/png/webp/heic/heif, máx 20 MB); no video, no creación de Pixevers, no moderación. `source_url` debe ser https pública y no resolver a una red interna — se rechaza si no cumple, sin tocar la red. Si el espacio ya cerró su vida free, rechaza con `ok:false` y `code: FREE_LIFE_CLOSED` (mensaje en positivo: sigue visible para siempre, ya no entra contenido nuevo, Obtén Pro) — nunca por un reloj de 48h (retirado, ya no existe).
| Argument | Type | Description |
|---|---|---|
| slug* | string | |
| token* | string | Token de invitado (x-guest-token) ya emitido — requerido. Nunca se guarda ni se loguea. |
| source_url* | string | URL https pública de la imagen a guardar. Nunca se loguea. |
{
"type": "object",
"required": [
"slug",
"token",
"source_url"
],
"properties": {
"slug": {
"type": "string"
},
"token": {
"type": "string",
"description": "Token de invitado (x-guest-token) ya emitido — requerido. Nunca se guarda ni se loguea."
},
"source_url": {
"type": "string",
"description": "URL https pública de la imagen a guardar. Nunca se loguea."
}
}
}