WorkTracker MCP Server
Enables natural language time tracking and booking for WorkTracker via MCP tools, allowing users to assign time, list projects, and manage daily schedules through conversational commands.
README
WorkTracker – MCP-Server
Ein MCP-Server für WorkTracker, der die
lokale HTTP-API der App (127.0.0.1, Token-geschützt) als Tools bereitstellt.
MCP (Model Context Protocol) ist ein offener Standard — nicht an einen Anbieter gebunden. Derselbe Server funktioniert daher in jedem MCP-fähigen Agent: Claude Code, ChatGPT Desktop, Cursor, Codex CLI, Windsurf, Zed u. a. Damit kannst du überall natürlichsprachlich buchen:
„Buch mir von 14 bis 15:30 Figma-Arbeit für JUMO in WorkTracker." „Die Zeit von 12:30 bis 13 war Pause." „09–10 Uhr war das Jumo Daily, war ein Meeting."
Nachfolger des früheren Claude-Skills. Dieser MCP-Server deckt alles ab, was der einstige
worktracker-Claude-Skill konnte — in Claude Code bindest du ihn jetzt einfach als MCP-Server ein (siehe unten) statt als Skill.
Zwei Transports — ein Server
| Transport | Wann | Wie der Client startet |
|---|---|---|
| stdio (Default) | lokale Agents, die den Prozess selbst spawnen | Client ruft python server.py |
Streamable HTTP (--http) |
URL-basierte Connectors (ChatGPT Desktop) | ./run.sh → http://127.0.0.1:8765/mcp |
Voraussetzungen
- WorkTracker läuft und Einstellungen → API ist aktiviert (erzeugt Port + Token). Der Server liest beides bei jedem Aufruf automatisch aus der Config.
- Python 3.10+.
API + MCP-Server hören ausschließlich auf 127.0.0.1.
Einrichtung (einmalig)
cd worktracker-mcp
./setup.sh # legt .venv an, installiert Abhängigkeiten, gibt die Pfade aus
setup.sh druckt den absoluten python-Pfad und den server.py-Pfad, die du unten in
den Client-Configs einträgst.
Einbindung pro Client
In allen stdio-Beispielen
ABS= Ausgabe vonsetup.sh, alsocommand = <repo>/.venv/bin/python,args = [<repo>/server.py].
Claude Code (stdio)
claude mcp add worktracker -- /ABS/.venv/bin/python /ABS/server.py
oder in ~/.claude.json bzw. projektlokaler .mcp.json:
{
"mcpServers": {
"worktracker": {
"command": "/ABS/.venv/bin/python",
"args": ["/ABS/server.py"]
}
}
}
Cursor / Windsurf / Zed (stdio)
~/.cursor/mcp.json (bzw. das jeweilige MCP-Config-File):
{
"mcpServers": {
"worktracker": {
"command": "/ABS/.venv/bin/python",
"args": ["/ABS/server.py"]
}
}
}
Codex CLI (stdio)
In ~/.codex/config.toml:
[mcp_servers.worktracker]
command = "/ABS/.venv/bin/python"
args = ["/ABS/server.py"]
ChatGPT Desktop (HTTP)
- Server starten — Terminal offen lassen:
./run.sh # → http://127.0.0.1:8765/mcp - ChatGPT Desktop → Settings → Connectors → Developer Mode aktivieren → Custom Connector.
- MCP Server URL:
http://127.0.0.1:8765/mcp· Authentication: None. - Connector aktivieren, im Chat z. B.: „Buch mir 13:00–17:00 WCMS-2639 für JUMO-Website-CMS in WorkTracker."
Custom-MCP-Connector im Developer Mode setzt einen passenden ChatGPT-Plan voraus (Plus/Pro/Team). Ohne das: stdio-Variante über Codex CLI nutzen.
Tools
| Tool | Zweck | API-Route |
|---|---|---|
health |
Erreichbarkeit + Version | GET /api/health |
list_projects |
gültige Projektnamen + Farben | GET /api/projects |
get_day |
Tag lesen (alle Segmente) | GET /api/day |
assign_time |
einen Zeitbereich setzen (ausschneiden + belegen) | POST /api/assign |
set_day |
ganzen Tag ersetzen | POST /api/day |
reset_day |
Tag auf Auto-Erfassung zurücksetzen | POST /api/reset |
Datenmodell
- date:
YYYY-MM-DD(leer = heute) - from/to:
"HH:MM" - kind:
"work"(Standard) oder"break"(Pause) - ticket: Ticket/Titel, z. B.
"WCMS-2155"oder"Figma Hero" - project: exakter Name aus
list_projects(bringt die Farbe) - meeting:
true→ als Meeting markiert; darf einproject(Kunde) tragen → abrechenbar
assign_time ist das Mittel der Wahl für punktuelle Buchungen. set_day nur, wenn der ganze
Tag neu aufgebaut wird. Zeiten möglichst auf 15-Min-Raster, außer du nennst exakte Werte.
Troubleshooting
- „Keine Verbindung zu 127.0.0.1:8787" → WorkTracker läuft nicht oder API ist aus.
- „Unauthorized" → App neu gestartet → neues Token; der Server liest es bei jedem Call frisch, ein Client-Reload genügt (kein Server-Neustart nötig).
- stdio-Client findet den Server nicht → absolute Pfade aus
setup.shverwenden, nicht relative;pythonmuss der venv-Python sein. - ChatGPT erreicht den Server nicht →
run.sh-Terminal offen? URL exakt…/mcp? Developer Mode an?
Lizenz
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.