@nicola5tor/openproject-timelog
@nicola5tor/openproject-timelog
MCP-Server (Model Context Protocol) zum Führen eines lokalen Stundenprotokolls und zum Synchronisieren mit OpenProject (API v3). Erfasse deine Arbeit in natürlicher Sprache über Claude Desktop (oder einen anderen MCP-Client), überprüfe sie und lade sie zu OpenProject hoch, wenn sie fertig ist.
Transport: stdio
Lokale Speicherung:
~/.openproject-timelog/entries.jsonKonfiguration: Umgebungsvariablen
OPENPROJECT_URLundOPENPROJECT_API_KEY
Installation
Es muss nichts global installiert werden: Der Server wird mit npx ausgeführt.
# probarlo directamente
npx @nicola5tor/openproject-timelogOder in einem Projekt installieren:
npm install @nicola5tor/openproject-timelog
# o
pnpm add @nicola5tor/openproject-timelogRelated MCP server: OpenProject MCP Server
Konfiguration in Claude Desktop
Bearbeite die Konfigurationsdatei (claude_desktop_config.json) und füge den Server unter mcpServers hinzu:
{
"mcpServers": {
"openproject-timelog": {
"command": "npx",
"args": ["-y", "@nicola5tor/openproject-timelog"],
"env": {
"OPENPROJECT_URL": "https://tu-openproject.example.com",
"OPENPROJECT_API_KEY": "TU_API_KEY"
}
}
}
}Starte Claude Desktop nach dem Speichern neu.
So erhältst du deinen OpenProject-API-Schlüssel
In OpenProject: Mein Konto → Zugriffstokens → API und generiere einen Schlüssel. Der Server authentifiziert sich mit Basic Auth unter Verwendung des Literal-Benutzers apikey und deines Schlüssels als Passwort.
Die nur lokalen Tools (
log_entry,list_entries,edit_entry,assign_entry,delete_entry,clear_sent) funktionieren auch ohne OpenProject-Konfiguration. Die Abfrage- und Upload-Tools erfordernOPENPROJECT_URLundOPENPROJECT_API_KEY.
Tools
Lokales Protokoll
Tool | Beschreibung |
| Erfasst einen Zeiteintrag. Parameter: |
| Listet Einträge nach Status auf. Parameter: |
| Bearbeitet einen ausstehenden Eintrag. Parameter: |
| Weist mehreren Einträgen ein Arbeitspaket zu. Parameter: |
| Löscht einen ausstehenden Eintrag. Parameter: |
| Entfernt alle bereits gesendeten ( |
OpenProject abfragen
Tool | Beschreibung |
| Listet Projekte auf ( |
| Listet Aufgaben auf. Optionale Parameter: |
| Listet Zeiterfassungsaktivitäten auf ( |
| Fragt bereits erfasste Stunden ab. Optionale Parameter: |
Synchronisierung
Tool | Beschreibung |
| Lädt Einträge zu OpenProject hoch. Optionaler Parameter |
* = erforderlich.
Verhaltenshinweise
Lokale IDs sind UUID v4. Die Stunden werden als Dezimalzahl gespeichert (
1.5= 1h30m) und beim Hochladen in die ISO-8601-Dauer (PT1H30M) umgewandelt.Die
projectIdeines Eintrags wird, falls nicht angegeben, beim Hochladen vom Arbeitspaket abgeleitet (ein zusätzlicher Aufruf an OpenProject).Die JSON-Datei wird atomar geschrieben (temporäre Datei + Umbenennung) und die Operationen werden serialisiert, um Beschädigungen zu vermeiden.
Netzwerk-/Anmelde-/Berechtigungsfehler werden als lesbare Meldungen in der Tool-Antwort zurückgegeben, ohne den Server zu beenden.
Beispiele für die Konversationsnutzung
Du: Erfasse heute 2 Stunden für die Behebung des Logins, Aufgabe 1234. Claude: (ruft
log_entrymit description="Login reparieren", hours=2, workPackageId=1234 auf)
Du: Trag mir 45 Minuten Besprechung ein, die Aufgabe weise ich später zu. Claude: (
log_entrydescription="Besprechung", hours=0.75) — bleibt bis zur Zuweisung offen.
Du: Was habe ich noch nicht hochgeladen? Claude: (
list_entriesstatus="pending")
Du: Weise diesen beiden Besprechungen Aufgabe 1234 zu. Claude: (
assign_entryentryIds=[...], workPackageId=1234)
Du: Welche Aktivitäten gibt es? Setz überall "Development" ein und lade es hoch. Claude: (
get_activities→edit_entry/assignfür activityId →upload_entries)
Du: Bereinige, was bereits hochgeladen wurde. Claude: (
clear_sent)
Entwicklung
npm install # instala deps y compila (prepare -> build)
npm run build # compila TypeScript a dist/
npm start # ejecuta dist/index.jsStruktur:
openproject-timelog/
├── src/
│ ├── index.ts # entry point, setup MCP y registro de tools
│ ├── store.ts # CRUD bitácora local (JSON atómico)
│ ├── openproject.ts # cliente API OpenProject v3
│ └── types.ts # interfaces/types
├── package.json
├── tsconfig.json
└── README.mdLizenz
MIT
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
- AlicenseAqualityCmaintenanceAn MCP server for Productive.io that enables users to log time, inspect projects, and manage time entries using natural language commands. It features fuzzy project matching, local caching, and remembers default services per project for streamlined time tracking.14MIT
- FlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for integrating with OpenProject API, enabling AI assistants to manage projects, work packages, time tracking, and users.12
- FlicenseNot gradedqualityBmaintenanceAn MCP server that enables AI assistants to interact with OpenProject, listing projects and work packages and managing resources through natural language.
- FlicenseNot gradedqualityDmaintenanceAn MCP server that connects Claude Desktop to your OpenProject instance, allowing you to manage projects, tasks, and time entries through natural language.
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
A MCP server built for developers enabling Git based project management with project and personal…
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
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/NicoLa5Tor/openMcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server