Group scheduling: create a plan link, mark availability, get best times, lock the final time.
Inferido de los transportes que declara este listado (streamable-http). Que un cliente no aparezca aquí no significa que se haya descartado: simplemente Forge no puede confirmarlo.
La verificación confirma la identidad del publicador (la propiedad del repo), no la seguridad del código. El análisis de seguridad cubre los CVE conocidos y los scripts de instalación sospechosos.
Leído de un handshake MCP real initialize → tools/list contra el endpoint declarado. No se invocó ninguna herramienta: tools/list es la llamada de introspección de solo lectura que el protocolo define para esto. Refleja lo que el servidor anunciaba en ese momento; un endpoint alojado no está fijado a ninguna versión y puede cambiar sin avisar.
https://whenna.com/mcp7 herramientas · 640 mswhenna_create_planCreate a Whenna plan (a shareable link that finds the time everyone is free). Returns the link to share with humans or other agents, and a creator_key that authorizes locking the final time. Times are wall-clock in the given IANA timezone. For a RECURRING plan ("every Tuesday"), pass weekday names…Create a Whenna plan (a shareable link that finds the time everyone is free). Returns the link to share with humans or other agents, and a creator_key that authorizes locking the final time. Times are wall-clock in the given IANA timezone. For a RECURRING plan ("every Tuesday"), pass weekday names…
| Parámetro | Tipo | Descripción |
|---|---|---|
| title* | string | What the plan is, e.g. "Team dinner" |
| days* | array | Candidate days: YYYY-MM-DD dates; OR weekday names (Mon…Sun) for weekly; OR ["daily"]; OR for monthly a single rule like ["15"] (day of month) or ["2nd Wednesd… |
| frequency | string | How a recurring plan repeats. monthly requires days to be one rule: a day-of-month ("15") or an nth weekday ("2nd Wednesday", "last Friday"). Default weekly. |
| start_hour* | integer | Earliest hour to consider (0-23) |
| end_hour* | integer | Latest hour to consider (1-24, exclusive) |
| timezone | string | IANA timezone, e.g. America/Chicago |
| slot_minutes | integer | Time-slot precision |
| location | string | Optional place ("Nonna's, 5th Ave") — shown on the plan and embedded in everyone's calendar event |
| every_weeks | integer | Repeat interval for recurring plans (with frequency: 2+weekly = every other week, 2+monthly = every other month, 3+daily = every 3 days) |
| notify_email | string | Optional creator email: gets an alert on the first answer, digests after, a "everyone's free" moment, and the lock confirmation. Every email has one-click unsu… |
| language | string | Optional 2-letter language for emails to notify_email (en es pt fr de it nl ru tr id hi ja ko zh ar). Default en. |
whenna_get_planFetch a Whenna plan: title, window, every participant's availability, ranked best times, the locked final time if set, and a negotiation brief — state (awaiting_answers | collecting | everyone_overlaps | locked), who has answered, and suggested_next_step telling an agent the best next move. Poll th…Fetch a Whenna plan: title, window, every participant's availability, ranked best times, the locked final time if set, and a negotiation brief — state (awaiting_answers | collecting | everyone_overlaps | locked), who has answered, and suggested_next_step telling an agent the best next move. Poll th…
| Parámetro | Tipo | Descripción |
|---|---|---|
| id* | string | Plan id (the part after /o/ in the link) |
whenna_mark_availabilitySet a participant's free times on a plan (replaces that participant's previous answer). Express availability as free ranges per day; the server converts them to slots. Use the participant's human name so the group recognizes them. An EMPTY free array records an explicit "can't make any of these tim…Set a participant's free times on a plan (replaces that participant's previous answer). Express availability as free ranges per day; the server converts them to slots. Use the participant's human name so the group recognizes them. An EMPTY free array records an explicit "can't make any of these tim…
| Parámetro | Tipo | Descripción |
|---|---|---|
| id* | string | — |
| name* | string | Participant display name |
| free | array | Free ranges. Empty array = explicit "can't make any". |
| withdraw | boolean | Remove this participant's answer entirely (ignores free). |
whenna_set_placeSet where the group meets: a place name, or video_call:true to attach Whenna's built-in encrypted video room (the room link then goes on everyone's calendar automatically). Place and video room are mutually exclusive. Requires creator_key.Set where the group meets: a place name, or video_call:true to attach Whenna's built-in encrypted video room (the room link then goes on everyone's calendar automatically). Place and video room are mutually exclusive. Requires creator_key.
| Parámetro | Tipo | Descripción |
|---|---|---|
| id* | string | — |
| creator_key* | string | — |
| location | string | Place name, e.g. "Nonna's, 5th Ave". Empty string clears it. |
| video_call | boolean | true = meet on Whenna's encrypted video room instead of a physical place |
whenna_plan_nextGroup memory: start the group's next plan from a finished one. Clones the setup (title, hours, place/video, discussion), proposes the next occurrences of the locked weekday as candidate days, links old→new (the old link shows everyone "the next one is live"), and emails the people who opted in to h…Group memory: start the group's next plan from a finished one. Clones the setup (title, hours, place/video, discussion), proposes the next occurrences of the locked weekday as candidate days, links old→new (the old link shows everyone "the next one is live"), and emails the people who opted in to h…
| Parámetro | Tipo | Descripción |
|---|---|---|
| id* | string | — |
| creator_key* | string | — |
whenna_best_timesRanked best meeting times for a plan: contiguous blocks where the most participants are free, with who is free in each block.Ranked best meeting times for a plan: contiguous blocks where the most participants are free, with who is free in each block.
| Parámetro | Tipo | Descripción |
|---|---|---|
| id* | string | — |
| top | integer | — |
whenna_lock_timeLock the final time on a plan (requires the creator_key returned by whenna_create_plan). Pass use_best:true to lock the top-ranked best time automatically, or give an explicit day/start. Everyone viewing the link sees it as confirmed, with add-to-calendar buttons. Returns calendar links (Google, Ou…Lock the final time on a plan (requires the creator_key returned by whenna_create_plan). Pass use_best:true to lock the top-ranked best time automatically, or give an explicit day/start. Everyone viewing the link sees it as confirmed, with add-to-calendar buttons. Returns calendar links (Google, Ou…
| Parámetro | Tipo | Descripción |
|---|---|---|
| id* | string | — |
| creator_key* | string | — |
| use_best | boolean | Lock the current #1 best time (most participants free); day/start not needed. |
| day | string | YYYY-MM-DD date, or a weekday name for weekly plans (matching the plan's days) |
| start | string | Start time HH:MM (24h, plan timezone) |
| minutes | integer | Duration in minutes |
7 de 7 herramientas publicaron una descripción.
Los nombres y descripciones de las herramientas los escribe el publicador y se muestran literalmente como texto inerte. Son las cadenas que un cliente MCP pasa al modelo, así que Forge las analiza en busca de patrones de inyección de prompts — cualquier hallazgo aparece junto al análisis de seguridad de arriba. «Privilegiada» es una coincidencia de palabra clave en el nombre de la herramienta, no una auditoría de lo que hace: un nombre inofensivo puede hacer cualquier cosa.
Group scheduling: create a plan link, mark availability, get best times, lock the final time.
Los nombres enlazados abren el índice de Forge con todas las entradas que se observó que exponen esa herramienta. Ver todas las herramientas indexadas.
Esta entrada no publica ningún paquete de npm, así que Forge no tiene un árbol de dependencias para ella. Es una carencia de cobertura, no una afirmación de que no tenga dependencias.