Skip to main content
Glama

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.sh

Das 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 build

Bearbeite 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:

  1. Klonen und bauen:

git clone git@github.com:agustindiezdb/projectx-mcp.git
cd projectx-mcp
npm install
npm run build
  1. Claude Desktop-Konfiguration bearbeiten:
    Öffne ~/Library/Application Support/Claude/claude_desktop_config.json und 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.

  1. 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 Ontrac
Delete yesterday's entry and log 4h of Internal — Administrative
Which days am I missing hours for April?

Verfügbare Tools

Tool

Beschreibung

get_time_entries

Einträge für einen Datumsbereich anzeigen

get_projects

Verfügbare Projekte auflisten

create_time_entry

Einen Eintrag erstellen

delete_time_entry

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-session

Für Entwickler

Architektur

Claude Desktop → MCP Server (stdio) → fetch() + _interslice_session cookie → ProjectX API

Das 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 dev

Dies führt den Server mit ts-node für eine schnelle Entwicklung aus (kein Build-Schritt erforderlich).

Funktionsweise

  1. Authentifizierung: Verwendet Playwright, um Chrome zu öffnen und automatisch zu erkennen, wann die Anmeldung erfolgreich war, indem /api/v1/current_user abgefragt wird

  2. Sitzungspersistenz: Speichert Cookies in auth.json unter Verwendung von Playwrights storageState()

  3. API-Client: Liest das _interslice_session-Cookie und führt authentifizierte Anfragen an ProjectX aus

  4. MCP-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_projects auszuführen, um die genauen Namen zu sehen

  • Pfadprobleme (macOS/Linux) → verwende absolute Pfade, nicht ~ oder relative Pfade

  • Pfadprobleme (Windows) → verwende \ (doppelter Backslash) in JSON-Pfaden, z. B. C:\\Users\\...

  • Speicherort der Auth-Datei:

    • macOS: ~/Library/Application Support/projectx-mcp/auth.json

    • Windows: %APPDATA%\projectx-mcp\auth.json

    • Linux: ~/.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.

Maintenance

ActivityNo data
ResponsivenessSyncing

Related MCP Connectors