Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LOOM_PLAN_CONFIGNoPath to the loom-plan.toml configuration file. If not set, the server looks in the current directory.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
nextA

État global de la journée en un seul appel : (1) En retard — tout ce qui est passé et toujours ouvert ; (2) événements de la fenêtre ; (3) créneaux libres ; (4) tâches ouvertes, y compris sans date, triées par échéance puis durée estimée. À appeler pour toute question du type « qu'est-ce que j'ai aujourd'hui / à faire ». Présenter le résultat en markdown, en trois blocs — En retard, Aujourd'hui, À faire — chacun sous forme de tableau (heure ou échéance, titre, durée estimée, agenda/liste). Les créneaux libres s'intercalent dans le tableau Aujourd'hui. Ne pas omettre le bloc En retard s'il est vide : l'indiquer explicitement. Ne pas afficher les ids sauf si Denis les demande. hours : fenêtre en heures à partir de maintenant ; par défaut jusqu'à la fin des horaires de travail du jour (ou minuit si on est déjà après).

overdueA

Tout ce qui est passé et toujours ouvert (tâches à échéance dépassée, événements terminés non marqués faits), du plus ancien au plus récent. Sert seul pour « qu'est-ce que je n'ai pas fait » ; sinon son contenu est déjà dans next. Les occurrences d'événements récurrents sont exclues sauf include_recurring=true — à l'exception des séries dont le titre commence par « [suivi] » (convention posée par Denis dans Google Agenda : chaque occurrence est une chose à faire), toujours incluses.

agendaA

Événements et tâches datées fusionnés et triés sur une fenêtre (31 jours maximum). start/end : format « AAAA-MM-JJ HH:MM » en heure locale Europe/Paris, ou « AAAA-MM-JJ » (minuit). end absent : start + 1 jour. containers : noms d'agendas ou de listes pour restreindre (voir containers). status : open (défaut), done ou cancelled. Présenter en tableau markdown.

tasksA

Tâches Google Tasks, datées ou non — le seul tool qui remonte les tâches sans date en dehors de next. list_name : nom d'une liste (défaut : toutes). status : open (défaut), done ou cancelled.

findA

Recherche texte (titre, notes) sur événements et tâches, tous statuts. Sans fenêtre : 90 jours en arrière et 90 en avant. start/end : format « AAAA-MM-JJ HH:MM » en heure locale Europe/Paris.

free_slotsA

Créneaux libres entre start et end, calculés à partir des événements uniquement (les tâches ne bloquent pas de temps), sur les jours ouvrés, dans les horaires de travail (9h-18h par défaut ; work_start/work_end en « HH:MM »). format « AAAA-MM-JJ HH:MM » en heure locale Europe/Paris. min_minutes : durée minimale d'un créneau.

containersA

Agendas Google Calendar et listes Google Tasks disponibles (nom, id, principal, lecture seule). Sert à ranger correctement à l'écriture (container / list_name).

add_eventA

ÉCRITURE : uniquement sur demande explicite de Denis. Ne jamais appeler de sa propre initiative, ni pour « aider », ni pour corriger. Renvoie l'objet résultant au format unifié. Crée un événement. start/end : format « AAAA-MM-JJ HH:MM » en heure locale Europe/Paris ; avec all_day=true, « AAAA-MM-JJ » du premier et du dernier jour (inclus). container : nom de l'agenda (défaut : agenda principal). recurrence : règle RRULE sans le préfixe, start/end donnant la première occurrence (ex. FREQ=WEEKLY;BYDAY=WE, FREQ=MONTHLY;BYMONTHDAY=1, FREQ=WEEKLY;BYDAY=MO,FR;COUNT=8). tracked=true (récurrence seulement) pose « [suivi] » : chaque occurrence est une chose à faire et remonte en retard si elle n'est pas marquée faite.

add_taskA

ÉCRITURE : uniquement sur demande explicite de Denis. Ne jamais appeler de sa propre initiative, ni pour « aider », ni pour corriger. Renvoie l'objet résultant au format unifié. Crée une tâche. due : « AAAA-MM-JJ », optionnel. list_name : nom de la liste (défaut : liste configurée) ; une liste inexistante est refusée, jamais créée. Convention : « ~30min » ou « ~1h30 » dans notes donne une durée estimée.

update_eventA

ÉCRITURE : uniquement sur demande explicite de Denis. Ne jamais appeler de sa propre initiative, ni pour « aider », ni pour corriger. Renvoie l'objet résultant au format unifié. Modifie un événement (titre, horaire, notes, lieu). scope obligatoire pour un événement récurrent : « this » (cette occurrence) ou « series » (toute la série) — absent sur un récurrent, le serveur refuse. start et end vont ensemble ; format « AAAA-MM-JJ HH:MM » en heure locale Europe/Paris.

update_taskA

ÉCRITURE : uniquement sur demande explicite de Denis. Ne jamais appeler de sa propre initiative, ni pour « aider », ni pour corriger. Renvoie l'objet résultant au format unifié. Modifie une tâche : titre, notes, échéance (due « AAAA-MM-JJ », ou clear_due=true pour la retirer), liste (list_name : déplacement).

set_statusA

ÉCRITURE : uniquement sur demande explicite de Denis. Ne jamais appeler de sa propre initiative, ni pour « aider », ni pour corriger. Renvoie l'objet résultant au format unifié. Change le statut d'un événement ou d'une tâche : open, done, cancelled. Idempotent. Pour un événement récurrent, agit sur l'occurrence seulement. C'est le tool à utiliser pour « c'est fait » / « je ne le ferai pas » (préférer cancelled à delete : on garde la trace).

deleteA

ÉCRITURE : uniquement sur demande explicite de Denis. Ne jamais appeler de sa propre initiative, ni pour « aider », ni pour corriger. Renvoie l'objet résultant au format unifié. Suppression définitive, réservée aux erreurs de saisie. Pour « ne plus faire », utiliser set_status(cancelled). scope obligatoire pour un événement récurrent (this / series).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
next-viewVue interactive de la journée (MCP App), rendue par l'hôte dans la conversation.

TDQS

A4.1/5.0

Scored across 13 tools

Disambiguation4/5

The read tools overlap in scope: `next` aggregates `overdue`, `agenda`, `tasks`, and `free_slots`, while `agenda`, `tasks`, and `find` cover intersecting data. The descriptions explicitly clarify intended use cases (daily overview vs. unfinished items vs. arbitrary window vs. search), so an agent can usually choose correctly, but the boundaries require careful reading.

Naming Consistency3/5

Read tools use bare nouns or adjectives (`next`, `agenda`, `tasks`, `overdue`, `containers`, `free_slots`) while write tools use verb_noun or verb patterns (`add_event`, `update_task`, `set_status`, `delete`). This is readable and arguably intentional as a read/write split, but it is not a single predictable naming convention.

Tool Count5/5

13 tools is well within the ideal 3–15 range for a personal calendar and task assistant. Each tool covers a distinct operation—daily overview, search, availability, CRUD for events and tasks—so none feels superfluous.

Completeness5/5

The surface provides full lifecycle coverage: create, read, update, delete, and status changes for both events and tasks, plus search, free-slot calculation, and container discovery. No obvious domain operation is missing for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues