# Juntamos: organizar grupos

> Crear amigo invisible, votaciones y repartos de gastos para un grupo

- name: es.juntamos/grupos
- version: 0.1.0
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/es.juntamos%2Fgrupos
- tools: https://api.protogrid.dev/v1/servers/es.juntamos%2Fgrupos/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "grupos": {
      "type": "http",
      "url": "https://juntamos.es/grupos/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-9d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- warn `tools.description_length`: 1 tools have descriptions over 1,024 characters, which crowds the context
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,264 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 7, about 3,264 tokens to load them all
- tool set hash: 739916e923c4d8b47b6e60464de82153
- badge: [![protogrid quality](https://protogrid.dev/badge/es.juntamos/grupos.svg)](https://protogrid.dev/servers/es.juntamos/grupos)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://juntamos.es/grupos/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (7)

- `anadir_gasto`: Añade un gasto a un grupo de gastos compartidos creado con crear_gastos (quién pagó, cuánto y entre quiénes se reparte) y devuelve quién debe a quién. Úsala para: "Ana pagó 60 € de la cena entre todos", "añade que Luis pagó 24,50 de gasolina entre Luis y Marta". Devuelve: los pagos para quedar en paz y el total, con el enlace del grupo. Límites: necesita el enlace o token de administración (id_admin); los nombres deben estar en el grupo; si entre_quienes va vacío, se reparte entre todos.

Adds an expense to a shared expenses group created with crear_gastos (who paid, how much and who shares it) and returns who owes whom. Use it for: "Ann paid 60 euros for dinner for everyone", "add that Luke paid 24.50 for fuel shared by Luke and Mary". Returns: the payments to settle up and the total, with the group link. Limits: needs the admin link or token (id_admin); names must be in the group; empty entre_quienes means everyone.
- `crear_amigo_invisible`: Hace el sorteo del amigo invisible en el servidor y crea un enlace privado por participante, donde cada uno ve solo a quién le regala. Respeta exclusiones (parejas que no pueden tocarse). Úsala para: "organiza un amigo invisible con Ana, Luis, Marta y Pablo, presupuesto 20 €", "sorteo de amigo invisible para la oficina sin que Ana y Luis se toquen", "haz el amigo invisible de la familia para el 24 de diciembre". Devuelve: un enlace privado por participante (para repartir a cada uno el suyo), un enlace público para el grupo y el enlace de administración del organizador. El resultado completo no se devuelve nunca. Límites: de 3 a 100 participantes con nombres distintos; sin emails; se borra 90 días después de la fecha.

Draws Secret Santa names on the server and creates one private link per participant, where each person only sees who they give to. Supports exclusions (couples who must not draw each other). Use it for: "organise a Secret Santa with Ann, Luke, Mary and Peter, budget 20 euros", "office Secret Santa where Ann and Luke cannot get each other". Returns: one private link per participant (send each person their own), a public page for the group and the organiser admin link. The full result is never returned. Limits: 3 to 100 participants with different names; no emails; deleted 90 days after the date.
- `crear_eleccion_fecha`: Crea una página para que un grupo elija fecha: cada persona marca en cada día propuesto si puede, si hace falta o no, y se destaca la mejor fecha. Úsala para: "ayúdame a elegir fecha para la cena de Navidad entre el 12, 13, 19 y 20 de diciembre", "qué fin de semana de noviembre podemos quedar todos", "busca fecha para la reunión de antiguos alumnos". Devuelve: el enlace para que cada uno marque su disponibilidad y el enlace de administración. Límites: de 2 a 31 días, en formato AAAA-MM-DD y no pasados; hasta 100 personas.

Creates a page for a group to pick a date: everyone marks yes, if needed or no on each suggested day and the best date is highlighted. Use it for: "help me pick a date for the Christmas dinner: Dec 12, 13, 19 or 20", "which November weekend can we all meet". Returns: the link for everyone to mark availability and the admin link. Limits: 2 to 31 days, YYYY-MM-DD, not in the past; up to 100 people.
- `crear_encuesta`: Crea una encuesta o votación con opciones de texto para compartir con un grupo; voto único o múltiple, resultados en tiempo real y cierre opcional. Úsala para: "haz una votación para elegir restaurante: italiano, japonés o asador", "crea una encuesta de qué día hacemos la reunión", "votación con varias respuestas para elegir actividades del viaje". Devuelve: el enlace para votar (compartirlo en el grupo) y el enlace de administración (para cerrarla y ver resultados). Límites: de 2 a 30 opciones distintas; hasta 100 votantes; el cierre debe ser futuro.

Creates a poll with text options to share with a group; single or multiple choice, live results and optional closing time. Use it for: "make a poll to choose a restaurant: Italian, Japanese or steakhouse", "create a multiple-choice vote for trip activities". Returns: the voting link (share it with the group) and the admin link (to close it and see results). Limits: 2 to 30 different options; up to 100 voters; closing time must be in the future.
- `crear_gastos`: Crea un grupo de gastos compartidos (viaje, piso, cena) donde se apunta quién pagó qué y se calcula quién debe a quién con el mínimo de pagos. Úsala para: "crea un grupo de gastos para el viaje a Asturias con Ana, Luis y Marta", "quiero repartir los gastos de la casa rural entre 6", "apunta gastos compartidos del piso". Devuelve: el enlace del grupo (todos pueden apuntar gastos) y el enlace de administración, que sirve para anadir_gasto y ver_resultados. Límites: de 2 a 100 personas con nombres distintos; importes en euros.

Creates a shared expenses group (trip, flat, dinner) to record who paid what and work out who owes whom with the fewest payments. Use it for: "create an expense group for the trip with Ann, Luke and Mary", "split the holiday cottage costs between 6 people". Returns: the group link (everyone can add expenses) and the admin link, used by anadir_gasto and ver_resultados. Limits: 2 to 100 people with different names; amounts in euros.
- `crear_lista_quien_trae`: Crea una lista de cosas que hacen falta (bebidas, postre, carbón…) para que cada persona del grupo se apunte a lo que va a traer, sin repetir. Úsala para: "haz una lista de quién trae qué para la barbacoa del sábado", "organiza qué lleva cada uno a la cena de Nochevieja", "lista para el viaje: tienda, hornillo, nevera". Devuelve: el enlace para que cada uno se apunte y el enlace de administración. Límites: de 1 a 100 cosas; cualquiera del grupo puede añadir más.

Creates a list of things needed (drinks, dessert, charcoal…) so everyone in the group signs up for what they will bring, without duplicates. Use it for: "make a who-brings-what list for Saturday's barbecue", "organise what everyone brings to the New Year's dinner". Returns: the sign-up link and the admin link. Limits: 1 to 100 items; anyone in the group can add more.
- `ver_resultados`: Muestra el estado de un evento de Juntamos: votos de la encuesta, mejor fecha, quién trae qué, quién debe a quién o cuántos han abierto su sobre del amigo invisible. Úsala para: "¿cómo va la votación del restaurante?", "¿quién debe a quién en el viaje?", "¿cuántos han abierto ya su amigo invisible?". Devuelve: un resumen de los resultados y el enlace a la página del evento. Límites: necesita el enlace o token de administración (id_admin); nunca revela quién le regala a quién en el amigo invisible.

Shows the status of a Juntamos event: poll votes, best date, who brings what, who owes whom or how many opened their Secret Santa envelope. Use it for: "how is the restaurant poll going?", "who owes whom from the trip?". Returns: a summary of the results and the event link. Limits: needs the admin link or token (id_admin); never reveals who got whom in Secret Santa.
