Skip to main content
Glama

Work Journal MCP Server

Ein gehosteter MCP-Server, der es jedem Mitglied des Teams ermöglicht, sein Simplified HR Work Journal über Claude zu lesen – die eigenen Einträge immer und die Einträge von Kollegen, wenn die vorhandenen Work Journal-Berechtigungen dies bereits erlauben.

Schreibgeschützt. Kein Tool hier kann einen Eintrag erstellen, ändern oder löschen.

Verbinden, von jedem Claude-Client

Ein Ablauf, egal welchen Client Sie verwenden: Fügen Sie den Server per URL hinzu und melden Sie sich dann im sich öffnenden Browserfenster an.

Claude Desktop oder claude.ai — Einstellungen → Connectors → Benutzerdefinierten Connector hinzufügen →

https://wj-mcp.dev.besimplified.net/mcp

Claude Code

claude mcp add work-journal --transport http https://wj-mcp.dev.besimplified.net/mcp

In jedem Fall öffnet sich ein Browserfenster. Melden Sie sich mit Ihrer Simplified-HR-E-Mail-Adresse und Ihrem Passwort an. In dev geben Sie auch Ihren Arbeitsbereich ein, z. B. development-hr.dev.besimplified.net.

Wenn es sich um ein Gerät handelt, das der Kontodienst noch nicht gesehen hat, erhalten Sie per E-Mail oder SMS einen Verifizierungscode. Geben Sie ihn einmal ein; Sie werden vom selben Client nicht erneut danach gefragt.

Ihr Passwort gelangt nie zu Claude, und dieser Server speichert es nie.

Tools

work_journal_get_entries

Einträge mit vollständigen Aufgabendetails für ein Datum oder einen Zeitraum von bis zu 31 Tagen.

Parameter

Hinweise

date

einzelner Tag, YYYY-MM-DD

start_date, end_date

inklusiver Bereich, wird anstelle von date verwendet

type

optional, siehe Tabelle der Aliase unten; für alle Typen weglassen

member

optional, die ID eines anderen Mitglieds aus work_journal_find_member

include_tasks

optional, Standard true; false liefert nur Statusangaben in einer einzigen Anfrage

Fragen Sie: „Zeigen Sie mir meine EOD-Einträge für letzte Woche“

work_journal_get_day

Ein Datum vollständig: jede Aufgabe mit Notizen und Anhängen, benachrichtigte Empfänger, ETA und Sendezeitpunkt.

Parameter

Hinweise

date

erforderlich, YYYY-MM-DD

type

optional, schränkt auf einen Eintragstyp ein

member

optional, die ID eines anderen Mitglieds

Fragen Sie: „Was habe ich am 4. August protokolliert?“

work_journal_get_summary

Zählungen nach Typ und Status über einen beliebigen Zeitraum, ohne tagesgenaue Details. Verwenden Sie dies für alles, was länger als 31 Tage ist.

Parameter

Hinweise

start_date, end_date

inklusiver Bereich

year

ganzes Kalenderjahr, verwendet, wenn kein expliziter Bereich angegeben ist

type

optional

member

optional, die ID eines anderen Mitglieds

Fragen Sie: „Wie viele EOW-Berichte habe ich dieses Jahr verpasst?“

work_journal_find_member

Findet einen Kollegen anhand eines Teils seines Namens oder seiner E-Mail-Adresse und gibt dessen Mitglieds-ID zurück, zur Verwendung als member bei den obigen Tools.

Parameter

Hinweise

query

Teil eines Namens oder einer E-Mail-Adresse, mindestens zwei Zeichen

Fragen Sie: „Finden Sie Rahuls Mitglieds-ID“

work_journal_get_team_report

Eine Zeile pro Mitglied mit übermittelten, ausstehenden und verpassten Zählungen für einen Zeitraum.

Parameter

Hinweise

start_date, end_date

erforderlich, inklusiver Bereich

type

optional, Standard EOD

team

optionale Team-ID oder das Literal unassigned

status

optional: submitted, pending oder missed

member

optional, schränkt auf ein Mitglied ein

limit, page

optional; Standard 15 Zeilen, maximal 50

Fragen Sie: „Wer hat letzte Woche sein EOD verpasst?“

Typ-Aliase

Sie können sagen

löst auf zu

angezeigt als

eod, daily, end of day

daily

EOD

eow, weekly, end of week

weekly

EOW

group eow, group weekly

group_weekly

Group EOW

eom, monthly, end of month

monthly

EOM

Beim Abgleich wird die Groß-/Kleinschreibung ignoriert und Leerzeichen, Bindestriche und Unterstriche werden als gleichwertig behandelt.

Wer wessen Journal sehen kann

Dieser Server erzwingt keine eigenen Berechtigungen. Jede Anfrage enthält Ihre eigene Simplified-HR-Sitzung, und die Work Journal API wendet genau die Berechtigungen an, die sie in der Web-UI anwendet:

  • Instanzberechtigung – Sie können jedes Mitglied Ihres Unternehmens lesen

  • Gruppenberechtigung – Sie können Mitglieder in Ihrem Berichtsunterbaum lesen

  • Keine davon – Sie können nur Ihr eigenes Journal lesen, und jeder Versuch, auf ein anderes Mitglied zuzugreifen, wird abgelehnt

Zwei Dinge sollten Sie beim Lesen der Einträge eines Kollegen wissen: Die Anfrage kann rundweg abgelehnt werden, und eine Admin-Ansicht schließt Entwürfe, geplante und private Einträge aus. Ein fehlender Eintrag beweist daher nicht, dass nichts protokolliert wurde.

Grenzen

  • work_journal_get_entries lehnt Zeiträume länger als 31 Tage ab und verweist Sie an work_journal_get_summary

  • Pro Tool-Aufruf laufen höchstens 4 Anfragen gleichzeitig, damit ein großer Bereich die API nicht überlastet

  • Relative Datumsangaben wie „letzte Woche“ werden von Claude vor dem Aufruf aufgelöst; die Tools akzeptieren nur YYYY-MM-DD

Lokal ausführen

npm install
cp .env.example .env      # then fill in the two secrets
WJ_ENV=dev \
WJ_PUBLIC_BASE_URL=http://localhost:8080 \
WJ_TOKEN_KEY=$(openssl rand -hex 32) \
WJ_FINGERPRINT_SECRET=$(openssl rand -hex 32) \
npm start

GET /healthz sollte {"status":"ok"} zurückgeben. Beim Ausführen von node src/index.js ohne Umgebung muss das Programm sofort beendet werden und alle fehlenden Variablen auflisten.

Umgebung

Variable

erforderlich

Zweck

WJ_ENV

ja

wählt die Host-Voreinstellung: dev oder prod. Es gibt keine Standardeinstellung, sodass ein leerer Wert die Produktion nicht stillschweigend auf die Dev-Hosts ausrichten kann

WJ_PUBLIC_BASE_URL

ja

von außen erreichbare Origin, veröffentlicht in den OAuth-Discovery-Dokumenten

WJ_TOKEN_KEY

ja

64 Hexadezimalzeichen; verschlüsselt den Session-Envelope

WJ_FINGERPRINT_SECRET

ja

mindestens 32 Zeichen; leitet den Geräte-Fingerabdruck jedes Mitglieds ab

WJ_API_BASE_URL

nein

Plugin-API-Host, wenn er von der Voreinstellung für WJ_ENV abweicht

WJ_AUTH_BASE_URL

nein

Origin des Kontodienstes, wenn sie von der Voreinstellung abweicht

WJ_PORT

nein, Standard 8080

Listening-Port

WJ_REQUEST_TIMEOUT_MS

nein, Standard 15000

Zeitlimit pro Anfrage

WJ_FINGERPRINT_SECRET muss auf jeder Task identisch sein und darf nicht beiläufig rotiert werden. Es leitet den stabilen Geräte-Fingerabdruck jedes Mitglieds ab; eine Änderung stellt das gesamte Team erneut vor eine Verifizierungsanfrage.

Hinweise zur Bereitstellung

  • Cookie-Stickiness ist nur für /authorize erforderlich. Eine OTP-Übermittlung muss die Task erreichen, die die Anmeldung gestartet hat, da die laufende Anmeldung für fünf Minuten im Speicher des Prozesses gehalten wird. /mcp und /token sind zustandslos und dürfen nicht sticky sein.

  • Beide Geheimnisse gehören in den SSM Parameter Store als SecureString, referenziert aus dem secrets-Block der Task-Definition – niemals als Umgebungs-Literale. Erstellen Sie sie einmal pro Umgebung vor dem ersten Deployment; nichts anderes auf der Plattform verwendet das Präfix /hr/work-journal-mcp/, daher werden sie noch nicht existieren:

    aws ssm put-parameter --type SecureString --name /hr/work-journal-mcp/<env>/token_key           --value "$(openssl rand -hex 32)"
    aws ssm put-parameter --type SecureString --name /hr/work-journal-mcp/<env>/fingerprint_secret  --value "$(openssl rand -hex 32)"

    ecsTaskExecutionRole benötigt ssm:GetParameters und kms:Decrypt auf beiden, sonst schlägt die Task beim Start mit ResourceInitializationError fehl, bevor irgendein Code ausgeführt wird.

  • Die Produktion lehnt das workspace-Anmeldefeld ab, das dev erfordert, daher verbirgt die Anmeldeseite es außerhalb von dev.

Sicherheit

  • Passwörter werden niemals gespeichert, niemals protokolliert und niemals in irgendeiner Form an den Browser zurückgegeben. Sie existieren nur im Speicher, für die Sekunden, die eine Anmeldung dauert.

  • Der Sitzungszustand reist in einem AES-256-GCM-verschlüsselten Envelope, den nur dieser Server öffnen kann. Das Simplified-HR-JWT gelangt niemals zu Claude oder dem Modell.

  • Access-, Refresh- und Autorisierungs-Code-Envelopes sind kryptografisch an ihre Art gebunden, sodass einer nicht als ein anderer ausgegeben werden kann.

  • Anmeldeversuche werden pro E-Mail-Adresse ratenbegrenzt.

  • Jeder Tool-Aufruf wird mit dem Aufrufer, dem Tool und dem Mitglied, dessen Journal gelesen wurde, protokolliert, sodass lesende Zugriffe über Mitglieder hinweg prüfbar sind. Tokens und Eintragsinhalte werden niemals protokolliert.

Tests

npm test
-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Read-only MCP server for ClassQuill, a tutoring-business-management platform.

  • Hosted Amazon Seller Central and Amazon Ads MCP server for Claude, ChatGPT, Cursor, and agents.

  • Hosted Amazon Seller and Vendor MCP server for Claude, ChatGPT, Cursor, Codex, Gemini, Copilot.

View all MCP Connectors

Latest Blog Posts

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/sukanya005chakraborty-tech/Work-Journal-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server