intervals-mcp
intervals-mcp
Ein eigenständiger MCP-Server, CLI und Claude-Code-Plugin für lokales Intervals-Zeiterfassung. Beim Starten eines Timers oder Protokollieren eines Zeiteintrags wird zuerst eine lokale SQLite-Datenbank beschrieben; Einträge werden im Hintergrund oder auf Abruf mit Intervals synchronisiert. Berichte und Abfragen sind immer rein lokal und rufen nie die Intervals-API auf.
Installation (Claude-Code-Plugin)
/plugin marketplace add sixfeetup/intervals-mcp
/plugin install intervals@intervals-mcpEs gibt keinen Build-Schritt: Das dist/-Bundle ist im Repository
eingecheckt. Einzige Anforderung ist Node >= 22.5.
Related MCP server: Productivity Tracker MCP Server
Installation (beliebiger MCP-Host)
Klonen Sie das Repository und richten Sie Ihren MCP-Host auf den gebündelten Server aus:
git clone https://github.com/sixfeetup/intervals-mcp.git{
"command": "node",
"args": ["/path/to/intervals-mcp/dist/server.mjs"]
}Konfiguration
Anmeldedaten und Einstellungen werden in dieser Reihenfolge aufgelöst:
Umgebungsvariablen
config.jsoninINTERVALS_HOME(oder~/.intervals/)
Umgebungsvariablen
Variable | Beschreibung |
| Intervals-API-Schlüssel für HTTP-Basic-Auth |
| Intervals-API-Basis-URL (Standard: |
| Ihre Intervals-Personen-ID (für die Zeiterfassungssynchronisierung erforderlich) |
| Überschreibt den standardmäßigen lokalen Speicherpfad ( |
config.json-Schlüssel
Wenn Sie eine dateibasierte Konfiguration bevorzugen, erstellen Sie config.json in INTERVALS_HOME (oder ~/.intervals/):
Schlüssel | Typ | Beschreibung |
|
| Intervals-API-Schlüssel für HTTP-Basic-Auth |
|
| Intervals-API-Basis-URL (Standard: |
|
| Ihre Intervals-Personen-ID (für die Zeiteintrags-Synchronisierung erforderlich) |
|
| Hintergrund-Synchronisierungsintervall in Millisekunden |
Wenn Sie intervals setup (oder den Schrägstrich-Befehl /intervals-setup)
ausführen, wird diese Datei mit Berechtigungen 0600 geschrieben und der
API-Schlüssel erscheint nie im Modellkontext – der Schlüssel wird in einer
interaktiven, verborgenen Eingabeaufforderung in Ihrem eigenen Terminal
eingegeben.
CLI
Das Bundle enthält eine abhängigkeitsfreie CLI (dist/cli.mjs, über
package.json#bin als intervals verfügbar, wenn als Paket installiert):
Befehl | Beschreibung |
| Anmeldedaten konfigurieren und die erste Projektsynchronisierung durchführen |
| DB-Pfad, Anmeldedatenquelle, Timer und ausstehende Synchronisierungen anzeigen |
| Lokalen Projektkatalog aktualisieren |
| Ausstehende Zeiteinträge jetzt an Intervals übertragen |
| Timer anzeigen, bearbeiten oder löschen |
| Zeiteinträge melden ( |
| Standard-Worktype und optionales Modul für ein Projekt festlegen |
Führen Sie node dist/cli.mjs help aus, um die vollständige Nutzungshilfe anzuzeigen.
Agent-Tools
Wenn sie als Claude-Code-Plugin installiert ist, erscheinen die MCP-Tools
unter dem Präfix mcp__plugin_intervals_intervals__:
Tool | Beschreibung |
| Lokalen Projektkatalog nach übereinstimmenden Namen/IDs durchsuchen |
| Lokalen Worktype-Katalog durchsuchen |
| Lokalen Modulkatalog durchsuchen (module sind projektbezogen) |
| Lokalen Timer mit Beschreibung starten; optionale |
| Timer stoppen und entweder einen Zeiteintrag anhängen (wenn Projekt/Worktype angegeben) oder einen unvollständigen Timer hinterlassen; Entwürfe werden mit |
| Aktive und kürzlich gestoppte Timer auflisten. Bei Angabe von |
| Aktiven Timer oder gestoppten Timer ohne verknüpften Zeiteintrag löschen |
| Zeiteinträge nach Datumsbereich anzeigen (Standard: heute). Optional mit Projektfilter |
| Abgeschlossenen Zeiteintrag erfassen (Dauer in Minuten, wenn |
| Lokalen Zeiteintrag per ID aktualisieren (z. B. project_id, worktype_id, module_id, |
| Lokalen oder synchronisierten Zeiteintrag per ID löschen |
| Eine Projekt-ID angeben, um die konfigurierten Standardeinstellungen für Worktype/Modul zu erhalten |
| Standard-Worktype bzw. -Modul für ein Projekt konfigurieren; nur aus dem lokalen Katalog gültig |
| Lokalen Projektkatalog mit der Intervals-API aktualisieren |
| Lokale Zeiteinträge mit der Intervals-API synchronisieren |
| Anzahl der ausstehenden (nicht synchronisierten) Zeiteinträge und Zeitpunkt der letzten Synchronisierung anzeigen |
| Zeitbereichsstatistiken über Zeiteinträge liefern (Benutzer-ID pro Zeiteintrag übernehmen) |
Alle Toolnamen sind mit mcp__plugin_intervals_intervals__ versehen, wenn
sie über das /intervals-Plugin verfügbar gemacht werden.
Funktionsweise
Timer sind rein lokal. Das Starten eines Timers schreibt eine lokale Zeile nur mit einer Beschreibung. Projekt-, Worktype- und Modul-Hinweise sind optional.
Laufende Timer können neu klassifiziert werden. Ändern Sie die Projekt-, Worktype- oder Modul-Hinweise eines Timers, bevor Sie ihn stoppen; die Klassifizierung wird beim Anlegen des Zeiteintrags angewendet.
Stoppen/Anwenden erstellt einen Zeiteintrag. Beim Stoppen eines Timers geben Sie das Projekt an (oder nutzen Standardwerte), und Sie können
worktype_id/module_idoptional setzen. Wenn keines angegeben ist, werden Standardwerte aus den Projekteinstellungen verwendet – und nur erzwungen, wenn keine Standardwerte vorhanden sind.Unerledigte Timer werden erhalten. Wenn Sie einen Timer stoppen, ohne Aufgabe/Worktype/Modul anzugeben, wird der Timer nicht gelöscht. Er wird als „unvollständig" markiert und beim nächsten Start eines neuen Timers automatisch mit Standard-Hinweisen befüllt, wobei
start_timeundduration_secondsauf 0 gesetzt werden.Zeiteinträge sind lokal-first. Beim Stoppen wird ein Zeiteintrag erstellt und sofort versucht, ihn mit Intervals zu synchronisieren. Wenn das fehlschlägt, bleibt er in der Warteschlange und wird bei der nächsten Server-Synchronisierung erneut versucht.
Das Löschen eines Timers ist sicher. Aktive Timer oder gestoppte Timer ohne erstellten Zeiteintrag können bedenkenlos gelöscht werden. Wenn ein Timer einen zugehörigen lokalen Zeiteintrag hat, schlägt das Löschen fehl und verweist auf die Zeiteintrags-ID. Der Zeiteintrag selbst kann über
delete_time_entrygelöscht werden, was den abgeschlossenen Timer ebenfalls entfernt.Eine Aktualisierung ist nie automatisch. Der Projektkatalog wird bei der Einrichtung abgerufen und kann jederzeit mit einer Aktualisierung synchronisiert werden – nicht bei jedem Toolaufruf.
Zeiteinträge werden serverseitig gespeichert. Das Stoppen eines Timers erstellt einen lokalen Zeiteintrag und versucht, ihn sofort zu synchronisieren. Fehlgeschlagene Einträge werden bei späteren Aufrufen erneut versucht.
Sicherheit. API-Schlüssel werden über eine Umgebungsvariable oder die Konfigurationsdatei bereitgestellt, nie über Toolargumente. Der lokale Speicherort ist
~/.intervals/.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables recording, querying, and summarizing daily work entries with tags using a local SQLite database. Supports work logging, search, timeline queries, tag management, and automated reminders for tracking daily tasks.
- FlicenseNot gradedqualityDmaintenanceEnables natural language task management including logging, updating, and summarizing productivity activities across multiple categories using a local SQLite database. It allows users to manage workflows and generate time-based summaries through standardized Model Context Protocol tools.1
- AlicenseAqualityAmaintenanceEnables tracking work time with start/stop timers, logging entries, and generating reports.48MIT
- AlicenseNot gradedqualityBmaintenanceEnables multi-project workspaces to share structured notes, API contracts, and handoff messages via a local SQLite database, with versioning and read tracking.GPL 3.0
Related MCP Connectors
Track time on usetimebook.com - start/stop timers, log entries, list projects/clients.
Business-day, SLA, cron and recurrence calculations — offline, holiday-aware, no network.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sixfeetup/intervals-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server