projectx-mcp
projectx-mcp
Protokolliere Stunden in ProjectX, indem du mit Claude Desktop sprichst.
"Logge 8 Stunden für Ontrac für heute" "Fülle die fehlenden Tage dieser Woche mit Ontrac aus" "Für welche Tage fehlen mir diesen Monat Stunden?"
Installation
macOS (automatisiert)
git clone git@github.com:agustindiezdb/projectx-mcp.git
cd projectx-mcp
bash scripts/install.shDas Skript wird:
Abhängigkeiten installieren
Das Projekt bauen
Claude Desktop automatisch konfigurieren
Ein Backup deiner bestehenden Konfiguration erstellen
Starte danach Claude Desktop neu. Chrome öffnet sich automatisch für die Anmeldung mit deinem Dualboot-Google-Konto.
Das war's! Du kannst Claude jetzt bitten, deine Stunden zu protokollieren.
Windows
git clone git@github.com:agustindiezdb/projectx-mcp.git
cd projectx-mcp
npm install
npm run buildBearbeite dann manuell die Claude Desktop-Konfiguration:
Öffne: %APPDATA%\Claude\claude_desktop_config.json
Füge hinzu:
{
"mcpServers": {
"projectx": {
"command": "node",
"args": ["C:\\full\\path\\to\\projectx-mcp\\dist\\src\\server.js"]
}
}
}Ersetze C:\vollständiger\pfad\zu\ durch deinen tatsächlichen Pfad (verwende \ für Windows-Pfade).
Starte danach Claude Desktop neu. Chrome öffnet sich automatisch für die Anmeldung.
Manuelle Installation
Wenn du die Konfiguration lieber manuell vornehmen möchtest:
Klonen und bauen:
git clone git@github.com:agustindiezdb/projectx-mcp.git
cd projectx-mcp
npm install
npm run buildClaude Desktop-Konfiguration bearbeiten:
Öffne~/Library/Application Support/Claude/claude_desktop_config.jsonund füge hinzu:
{
"mcpServers": {
"projectx": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/projectx-mcp/dist/src/server.js"]
}
}
}Ersetze /ABSOLUTER/PFAD/ZU/ durch den vollständigen Pfad zu deinem geklonten Repository.
Claude Desktop neu starten
Verwendung mit Cursor
Cursor verwendet eine projektbezogene MCP-Konfiguration. Erstelle .cursor/mcp.json in deinem Projektstammverzeichnis:
{
"$schema": "https://json.schemastore.org/mcp.json",
"mcpServers": {
"projectx": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/projectx-mcp/dist/src/server.js"]
}
}
}Ersetze /ABSOLUTER/PFAD/ZU/ durch den vollständigen Pfad zu deinem geklonten Repository.
Starte dann Cursor neu. Beim ersten Mal öffnet sich Chrome für die Anmeldung.
Verwendung
Sprich einfach natürlich mit Claude:
Log 8 hours of Ontrac for today with description "Sprint planning"Check my entries for this week and fill the missing days with 8h of OntracDelete yesterday's entry and log 4h of Internal — AdministrativeWhich days am I missing hours for April?Verfügbare Tools
Tool | Beschreibung |
| Einträge für einen Datumsbereich anzeigen |
| Verfügbare Projekte auflisten |
| Einen Eintrag erstellen |
| Einen Eintrag nach ID löschen |
Wenn die Anmeldung fehlschlägt oder die Sitzung abläuft
Starte einfach Claude Desktop neu. Chrome öffnet sich erneut, damit du dich anmelden kannst.
Nützliche Skripte
Du kannst die API auch direkt ohne Claude Desktop verwenden:
# Test the API (creates and deletes a test entry)
npm run test:entry
# Check which days you're missing hours in April
npx ts-node scripts/check-april.ts
# Manually refresh your session (if expired)
npm run save-sessionFür Entwickler
Architektur
Claude Desktop → MCP Server (stdio) → fetch() + _interslice_session cookie → ProjectX APIDas Sitzungs-Cookie wird unter ~/Library/Application Support/projectx-mcp/auth.json gespeichert (gitignored).
Wenn beim Start keine gültige Sitzung gefunden wird, öffnet sich Chrome automatisch für die Anmeldung via Playwright.
Entwicklungsmodus
npm run devDies führt den Server mit ts-node für eine schnelle Entwicklung aus (kein Build-Schritt erforderlich).
Funktionsweise
Authentifizierung: Verwendet Playwright, um Chrome zu öffnen und automatisch zu erkennen, wann die Anmeldung erfolgreich war, indem
/api/v1/current_userabgefragt wirdSitzungspersistenz: Speichert Cookies in
auth.jsonunter Verwendung von PlaywrightsstorageState()API-Client: Liest das
_interslice_session-Cookie und führt authentifizierte Anfragen an ProjectX ausMCP-Protokoll: Stellt Claude Desktop 4 Tools über den stdio-Transport zur Verfügung
Claude Desktop-Konfiguration (manuell)
Wenn du die Konfiguration lieber manuell bearbeiten möchtest:
{
"mcpServers": {
"projectx": {
"command": "node",
"args": ["/path/to/projectx-mcp/dist/src/server.js"]
}
}
}Fehlerbehebung
Sitzung abgelaufen → starte Claude Desktop neu, Chrome öffnet sich automatisch
Chrome nicht gefunden → installiere Google Chrome (muss im System-PATH sein)
Projekt nicht gefunden → bitte Claude,
get_projectsauszuführen, um die genauen Namen zu sehenPfadprobleme (macOS/Linux) → verwende absolute Pfade, nicht
~oder relative PfadePfadprobleme (Windows) → verwende
\(doppelter Backslash) in JSON-Pfaden, z. B.C:\\Users\\...Speicherort der Auth-Datei:
macOS:
~/Library/Application Support/projectx-mcp/auth.jsonWindows:
%APPDATA%\projectx-mcp\auth.jsonLinux:
~/.config/projectx-mcp/auth.json
Anforderungen
Betriebssystem: macOS, Windows oder Linux
Node.js: 20+
Browser: Google Chrome (erforderlich für die automatische Anmeldung)
Claude Desktop
Dualboot-Google-Konto
Lizenz
Internes Tool für Dualboot Partners.
This server cannot be deployed
Maintenance
Related MCP Connectors
Manage projects, tasks, time tracking, and team collaboration through natural language.
Track time, log expenses, manage projects and draft or send Keito invoices from AI agents.
Manage Avaza projects, tasks, timesheets, expenses, invoices, and scheduling from AI assistants.
Track time on usetimebook.com - start/stop timers, log entries, list projects/clients.