sessionario
Sessionario is a planning tool for people who run workshops, trainings and conferences.
What it can do
- Sessions Suchen: Findet die Workshops und Seminare des Nutzers in Sessionario. Nimm dieses Werkzeug immer zuerst, wenn der Nutzer von "meiner Session", "dem Workshop bei X" oder einem Termin spricht -
- Session Lesen: Liefert eine Session vollständig: alle Tage, Module mit Uhrzeit und Dauer, Ziel, Inhalt, Material und - falls vorhanden - parallel laufende Kleingruppen. Die ID kommt aus sessions_suche
- Session Anlegen: Legt eine neue Session an (Workshop, Seminar, Training) und füllt auf Wunsch gleich den ganzen Ablauf. Der Nutzer wird Besitzer. Nimm das bei "leg mir … an", "plane einen Workshop", "
What data it sees
Do you need an account
No: the server works without sign-in
Sessionario is a planning tool for people who run workshops, trainings and conferences. Its MCP server gives your assistant the live agenda — not a pasted copy.
"Turn module 4 into a pair exercise, 20 minutes, and move the break." It happens, and every following time recalculates itself. Nobody retypes a column of clock times again.
Thirteen tools cover searching and reading sessions, creating them, adding and rewriting modules, moving them, parallel tracks, inviting colleagues with a role, attachments and cover images. Deleting is deliberately absent: an assistant may build and rearrange, but nothing disappears without a human.
OAuth per user — the assistant only ever sees the sessions of whoever signed in, with that person's permissions.
How to connect
How to connect sessionario to Claude
The server address to paste into Claude settings:
https://sessionario--staf.run.tools
- Open Claude (claude.ai or the desktop app).
- Go to Settings → Connectors.
- Click Add custom connector.
- Paste the server address copied below into Remote MCP server URL and click Add.
- In a chat, click + → Connectors and switch the new connector on.
Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.
Authorization
After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.
How to connect sessionario to ChatGPT
The server address to paste into ChatGPT settings:
https://sessionario--staf.run.tools
- Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
- Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
- Open Settings → Connectors and click Create.
- Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
- Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
- In a new chat open + → Apps/Connectors and enable the connector.
OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.
Authorization
On first use ChatGPT opens the service's sign-in window. Sign in and approve access.
How to connect sessionario to Cursor
The server address to paste into Cursor settings:
https://sessionario--staf.run.tools
Fastest: click Open in Cursor below and confirm the prompt.
Manually:
- In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
- Paste the JSON copied below into
~/.cursor/mcp.json(per project:.cursor/mcp.jsonin the repo root). - Save the file. The server appears in the MCP list; authorize it there if asked.
Authorization
If the service needs sign-in, an authorize button appears next to the server in the MCP list.
Server tool list (13)
Raw names from tools/list. Only developers need these.
| sessions_suchen | Findet die Workshops und Seminare des Nutzers in Sessionario. Nimm dieses Werkzeug immer zuerst, wenn der Nutzer von "meiner Session", "dem Workshop bei X" oder einem Termin spricht - es liefert die IDs, die session_lesen braucht. Ohne Suchbegriff kommen die zuletzt geänderten. |
| session_lesen | Liefert eine Session vollständig: alle Tage, Module mit Uhrzeit und Dauer, Ziel, Inhalt, Material und - falls vorhanden - parallel laufende Kleingruppen. Die ID kommt aus sessions_suchen. Trainerhinweise, „zusatz" und „nachbereitung" sind nur enthalten, wenn der Nutzer die Session bearbeiten darf. Unter „anhaenge" stehen die Dateien - Name und Größe, nicht der Inhalt. Je Modul die seinen, oben im Kopf die der ganzen Session. Heruntergeladen wird in der App; hinzufügen kannst du mit anhang_hinzufuegen. Läuft ein Modul parallel zu anderen, trägt es ein Feld "parallel": "gruppe" ist die Gruppen-ID (die brauchst du für das Werkzeug parallelgruppe), "schiene" der Name dieser einen Gruppe, "schienen" die Zahl der gleichzeitig laufenden, "gemeinsam" die Felder, die für alle gelten und deshalb oben über dem Block stehen. WICHTIG beim Rechnen: Parallele Schienen laufen GLEICHZEITIG. Vier Kleingruppen zu 40 Minuten kosten 40 Minuten, nicht 160. Ein Block kostet immer so lange, wie seine LÄNGSTE Schiene dauert - zähle die "minuten" derselben "gruppe" also nie zusammen. Die fertige Tagessumme steht ohnehin bei jedem Tag unter "dauer_minuten"; nimm die, statt selbst zu addieren. Passt eine Summe nicht zum Tagesrahmen, ist das fast immer der Grund. Nimm dieses Werkzeug auch NACH jeder Änderung noch einmal, bevor du das nächste Modul ansprichst: Die "nummer" der Module verschiebt sich beim Einfügen, Verschieben und Auflösen von Gruppen. |
| session_anlegen | Legt eine neue Session an (Workshop, Seminar, Training) und füllt auf Wunsch gleich den ganzen Ablauf. Der Nutzer wird Besitzer. Nimm das bei "leg mir … an", "plane einen Workshop", "erstelle eine Session". WICHTIG: Rechne die Uhrzeiten NICHT selbst aus. Gib je Modul nur die Dauer in Minuten an - Sessionario setzt die Uhrzeiten lückenlos hintereinander, ab dem Tagesbeginn. Das ist zuverlässiger als jede Rechnung im Kopf und bleibt richtig, wenn der Nutzer später etwas einschiebt. Pausen gehören als eigene Module in den Ablauf, mit art="break". Kommt der Ablauf aus einer Vorlage (SessionLab, ein Trainer-Macro, ein Leitfaden) und hat die eigene Farbgruppen oder eigene Spaltennamen, dann übernimm sie mit "arten" und "spalten". Der Nutzer erkennt seine Vorlage sonst nicht wieder. Laufen mehrere Kleingruppen GLEICHZEITIG, nimm bei allen dasselbe "parallel" - sonst zählt Sessionario ihre Zeiten hintereinander und der Tag wird zu lang. |
| session_kopieren | Macht eine eigene Kopie einer Session - mit allen Modulen. Die Kopie gehört dem Nutzer, er darf sie also ändern. Nimm das IMMER, wenn ein Schreibversuch meldet, dass die Session jemand anderem gehört. Sage dem Nutzer dann, dass du mit einer Kopie weiterarbeitest - das Original der Kollegin bleibt unberührt. |
| module_hinzufuegen | Hängt Module an einen Tag einer bestehenden Session an. Nur bei eigenen Sessions; gehört sie jemand anderem, nimm zuerst session_kopieren. Auch hier: nur Dauer in Minuten, keine Uhrzeiten. Alles Folgende rückt automatisch nach. Gleichzeitig laufende Kleingruppen bekommen alle dasselbe "parallel". |
| session_aendern | Ändert die Angaben ZUR Session selbst - Titel, Kunde, Ort, Datum, Sprache, Tageszählung. Nicht den Ablauf; dafür gibt es modul_aendern und module_hinzufuegen. Nimm das bei "nenn die Session anders", "der Kunde heißt jetzt …", "nimm den Kundennamen raus", "die findet doch in Köln statt", "verschieb sie auf den 3.". WICHTIG: Leg dafür KEINE neue Session an. Eine zweite Session mit fast demselben Inhalt ist für den Nutzer kein Ergebnis, sondern Aufräumarbeit - löschen kann er nur selbst in der App. Ein Feld LEEREN: leeren String senden. "kunde": "" entfernt den Kundennamen. Nur die Felder senden, die sich ändern sollen; alles andere bleibt. Gehört die Session jemand anderem, nimm zuerst session_kopieren. Auch die ANSICHT gehört hierher: Zeitformat (12 oder 24 Stunden), Zeitzone, Spaltennamen, Modularten und ihre Farben, Anzahl der Tage. Nimm das bei „zeig mir das in AM/PM", „die Session ist in New York", „mach die Pausen grau" oder „wir brauchen noch einen dritten Tag". ZEITEN: "beginn_uhrzeit" und "ende_uhrzeit" gelten für ALLE Tage. Soll ein einzelner Tag anders laufen ("Tag 2 fangen wir erst um 9:30 an"), nimm "tageszeiten". Der Ablauf wird danach automatisch neu getaktet: Die Module behalten ihre Dauer und rücken geschlossen mit. Rechne die Uhrzeiten also nicht selbst aus - sag nur, wann der Tag beginnt. |
| person_einladen | Lädt eine Person per E-Mail zu einer Session ein - mit einer Rolle: ansehen, kommentieren oder mitarbeiten. WICHTIG: Das geht nur, wenn der Nutzer es in Sessionario ausdrücklich erlaubt hat, und er entscheidet dabei auch, WEN du einladen darfst - nur seine Freundesliste, dazu seine Kontakte, oder jede Adresse. Fehlt die Erlaubnis, bekommst du eine Antwort, die das sagt. Gib sie weiter, statt es noch einmal zu versuchen: Du kannst die Erlaubnis nicht selbst erteilen, und er muss dazu in die App. Frag im Zweifel vorher nach. Eine Einladung ist eine E-Mail an einen anderen Menschen; sie lässt sich nicht zurücknehmen, auch wenn der Zugang danach entzogen wird. |
| notiz_setzen | Schreibt eine persönliche Notiz an ein Modul oder markiert eine Stelle im Text - für den Nutzer allein. NIEMAND SONST SIEHT DAS, auch nicht in derselben Session. Nimm das für alles, was eine Erinnerung ist und keine Änderung am Ablauf: „hier bin ich letztes Mal aus der Zeit gelaufen", „Flipchart vorbereiten", „diesen Absatz kürzen". Der Ablauf selbst bleibt unangetastet - wer ihn ändern will, nimmt modul_aendern. Markierungen tragen eine Farbe mit fester Bedeutung: gelb = aufpassen, rosa = offen/noch zu klären, blau = merken. Markiert wird über den TEXT, den du anstreichen willst - er muss genau so im Feld stehen. Findet er sich später nicht mehr, weil jemand das Modul umgeschrieben hat, verschwindet die Markierung still. Das geht auch bei fremden Sessions, an denen der Nutzer beteiligt ist: Eine Notiz ändert dort nichts, sie kommt hinzu. |
| modul_aendern | Ändert ein einzelnes Modul einer eigenen Session - Titel, Dauer, feste Uhrzeit, Ziel, Inhalt, Material, Trainerhinweis, Zusatz, Nachbereitung oder Art. Angegeben wird es über Tag und die "nummer" aus session_lesen. Nur die Felder senden, die sich ändern sollen; alles andere bleibt, wie es ist. Gehört die Session jemand anderem, nimm zuerst session_kopieren. Löschen kann dieses Werkzeug nicht - das macht der Nutzer in der App. |
| modul_verschieben | Verschiebt ein Modul an eine andere Stelle - innerhalb eines Tages oder auf einen anderen Tag. Nichts wird kopiert und nichts gelöscht; es ist dasselbe Modul mit allen Texten und Anhängen, nur woanders. Beide Tage werden danach neu getaktet: Am alten Tag rücken die folgenden Module auf, am neuen rücken sie nach. Die "nummer" aller Module verschiebt sich dadurch - lies die Session mit session_lesen neu, bevor du das nächste Modul ansprichst. Gehört die Session jemand anderem, nimm zuerst session_kopieren. |
| parallelgruppe | Parallele Gruppen: mehrere Module zur SELBEN Zeit - fünf Kleingruppen, dieselbe Stunde, verschiedene Themen. Warum es dieses Werkzeug braucht und nicht mehrere Module mit derselben Uhrzeit: Fünf Kleingruppen zu 45 Minuten sind 45 Minuten im Tagesablauf, nicht 225. Ohne echte Gruppe rechnet Sessionario stur weiter und der Tag endet Stunden zu spät. Die Aktionen: • bilden - macht aus einem Modul eine Gruppe. Es entstehen SOFORT zwei Schienen; eine Schiene allein wäre keine Gruppe. • schiene - eine weitere Gruppe in denselben Zeitraum. • benennen - der Name einer Schiene („Marktanalyse-Team" statt „Gruppe 2"). • feld - legt fest, ob ein Feld für ALLE Gruppen gilt (steht dann oben über dem Block) oder jede Gruppe ihr eigenes hat. Umschalten löscht nichts: Die eigenen Texte der Schienen bleiben im Hintergrund und sind wieder da, wenn das Feld zurück auf „separat" geht. • aufloesen - wieder einzelne Module untereinander. Nichts wird gelöscht, aber der Tag wird dadurch LÄNGER, weil die Zeiten wieder hintereinander zählen. Sag das dem Nutzer, bevor du es tust. Die "gruppe" bekommst du aus session_lesen: Jedes Modul einer Gruppe trägt dort ein Feld "parallel" mit der Gruppen-ID und dem Schienennamen. |
| session_bild_setzen | Setzt das Bild, das auf der Kachel und in der Liste vor der Session steht - ein Kundenlogo, ein Motiv zum Thema, eine Skizze. Wofür das da ist: Wer zwanzig Sessions hat, sucht in einer Liste aus Text. Ein Logo findet das Auge schneller als jede Überschrift - und bei vier Durchgängen desselben Trainings ist es oft das einzige, was sie unterscheidet. Schick das Bild als „bild" in Base64 (mit oder ohne "data:image/..."-Vorspann). PNG, JPEG oder WebP. Zu große Bilder werden verkleinert, nicht abgewiesen - du musst nichts ausrechnen. Ein LOGO wird mit "modus": "fit" ganz gezeigt, mit Luft am Rand - sonst schneidet die Kachel dem Schriftzug die Seiten ab. Ein Foto füllt mit "modus": "crop" besser. Lässt du es weg, entscheidet die Form: breiter als 1,5:1 gilt als Logo. Mit „entfernen": true nimmst du das Bild wieder weg. Was gerade gesetzt ist, steht nicht in session_lesen - frag den Nutzer, wenn du es wissen musst. |
| anhang_hinzufuegen | Hängt eine Datei an ein Modul oder an die ganze Session - eine Rollenkarte, einen Beobachtungsbogen, die ausformulierten Prompts eines KI-Rollenspiels, eine Präsentation. Wofür das da ist: Ein importierter Leitfaden verweist an zehn Stellen auf Dateien, die je mehrere hundert Zeilen lang sind. Die gehören nicht ins Feld „material" - dort machen sie den Ablauf für die Leitung unlesbar. Als Anhang liegen sie an dem Modul, zu dem sie gehören, und der Ablauf bleibt kurz. Ohne „tag" und „nummer" hängt die Datei an der Session statt an einem Modul. Was schon danebenliegt, steht in session_lesen unter „anhaenge" - sieh dort nach, bevor du dieselbe Datei ein zweites Mal schickst. Höchstens 50 Anhänge je Session und 50 MB je Datei; reicht der Platz des Tarifs nicht, sagt das Werkzeug es im Klartext. Entfernt wird ein Anhang in der App. |