Skip to main content
Glama

FocusRoom | Produktivitäts-Agent

Ein persönlicher Produktivitäts-Arbeitsbereich, erstellt mit Python, Streamlit, Groq, SQLite und MCP. Er vereint Aufgabenverwaltung, Tagesplanung, persistente Memory-Einträge, einen Multi-Agent-Supervisor und optionale E-Mail-Erinnerungen in einem Projekt.

Features

  • Streamlit-Produktivitäts-Dashboard

  • Aufgaben erstellen, auflisten, filtern und abschließen

  • Aufgabenprioritäten, Fälligkeitsdaten, Projekte und Status

  • Persistenter SQLite-Speicher in productivity.db

  • Tagespläne und Produktivitätsberichte

  • Persönliche Memory-Einträge speichern und durchsuchen

  • Groq-gestützter Produktivitätsassistent

  • Multi-Agent-Supervisor für Aufgaben-, Memory- und Planungsanfragen

  • MCP-Server mit HTTP-Tools für externe Clients

  • Optionale automatische E-Mail-Erinnerungen

Related MCP server: autoMate

Requirements

  • Python 3.10 oder neuer

  • Ein Groq-API-Schlüssel für die KI-Funktionen

  • Gmail-SMTP-Anmeldedaten oder ein anderer SMTP-Anbieter für E-Mail-Erinnerungen

Setup

1. Virtuelle Umgebung erstellen

PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1

Wenn PowerShell die Skriptausführung für die aktuelle Sitzung blockiert:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
.\.venv\Scripts\Activate.ps1

2. Abhängigkeiten installieren

python -m pip install -r requirements.txt

3. Umgebungsvariablen konfigurieren

Kopieren Sie .env.example in .env und füllen Sie die Werte aus:

Copy-Item .env.example .env

Erforderlich für den Groq-gestützten Agenten:

GROQ_API_KEY=your_groq_api_key
GROQ_MODEL=openai/gpt-oss-120b

Optionale MCP-Konfiguration:

MCP_HOST=127.0.0.1
MCP_PORT=8000
MCP_API_KEY=local_or_remote_api_key

Für E-Mail-Erinnerungen:

EMAIL_SENDER=your_email@gmail.com
EMAIL_RECIPIENT=recipient@example.com
EMAIL_PASSWORD=your_smtp_or_app_password
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587

Committen Sie .env oder API-Anmeldedaten nicht. Sie werden durch .gitignore ausgeschlossen.

Streamlit-App ausführen

streamlit run streamlit_app.py

Die App bietet diese Bereiche:

  • Übersicht - Aufgabenkennzahlen, aktive Arbeiten, Tagesübersicht und Abschlussfortschritt

  • Aufgaben - Aufgaben erstellen und filtern, dann als abgeschlossen markieren

  • Plan - aktuellen Tagesplan und Produktivitätsbericht anzeigen

  • Memory - persistenten Kontext speichern und durchsuchen

  • Assistent - natürlichsprachliche Anfragen an den Produktivitäts-Supervisor senden

MCP-Server ausführen

Starten Sie den Streamable-HTTP-MCP-Server mit:

python -m orchestrator.mcp_server

Standardmäßig läuft er auf http://127.0.0.1:8000/mcp.

Der Server stellt Tools für Folgendes bereit:

  • productivity_assistant

  • create_task

  • list_tasks

  • update_task

  • complete_task

  • delete_task

  • save_memory

  • search_memory

  • daily_plan

  • productivity_report

Wenn Sie den MCP-Server an einen nicht-lokalen Host binden, setzen Sie MCP_API_KEY. Remote-Anfragen müssen ein Bearer-Token verwenden:

Authorization: Bearer <MCP_API_KEY>

Erinnerungen ausführen

Der Erinnerungs-Worker prüft anstehende Aufgaben und sendet konfigurierte E-Mail-Benachrichtigungen:

python reminder_worker.py

Der Erinnerungszeitplan wird im Worker konfiguriert und unterstützt Erinnerungen 24 Stunden, 1 Stunde und 15 Minuten vor Fälligkeit einer Aufgabe. E-Mail-Erinnerungen erfordern gültige SMTP-Einstellungen in .env.

Tests ausführen

Verwenden Sie die virtuelle Umgebung des Projekts, damit pytest verfügbar ist:

.\.venv\Scripts\python -m pytest -q

Um eine bestimmte Testdatei auszuführen:

.\.venv\Scripts\python -m pytest -q test_multi_agent.py

Um die Python-Syntax zu prüfen, ohne die App zu starten:

.\.venv\Scripts\python -m compileall streamlit_app.py orchestrator

Projektstruktur

Productivity_Agent/
|-- streamlit_app.py              # Streamlit user interface
|-- requirements.txt              # Python dependencies
|-- .env.example                  # Environment variable template
|-- productivity.db               # Local SQLite database, generated locally
|-- reminder_service.py           # Reminder service implementation
|-- reminder_worker.py            # Continuous reminder worker
|-- orchestrator/
|   |-- agent.py                  # Core task, memory, plan, and report logic
|   |-- database.py               # SQLite persistence layer
|   |-- orchestrator.py           # Multi-agent supervisor
|   |-- mcp_server.py             # MCP HTTP server and tools
|   |-- memory_agent.py           # Memory agent adapter
|   |-- planning_agent.py         # Planning agent adapter
|   |-- task_agent.py             # Task agent adapter
|-- test_*.py                     # Project tests

Hinweise zu Daten und Sicherheit

  • Aufgaben und Memory-Einträge werden lokal in SQLite gespeichert.

  • .env enthält Geheimnisse und muss privat bleiben.

  • Verwenden Sie für Gmail bei Bedarf ein App-Passwort anstelle Ihres primären Kontopassworts.

  • Der MCP-API-Schlüssel ist erforderlich, wenn der Server über localhost hinaus zugänglich ist.

  • Sichern Sie productivity.db, wenn der lokale Aufgaben- und Memory-Verlauf wichtig ist.

Fehlerbehebung

pytest wird nicht erkannt

Führen Sie pytest über die virtuelle Umgebung aus:

.\.venv\Scripts\python -m pytest -q

Die App startet, aber der Assistent ist nicht verfügbar

Stellen Sie sicher, dass .env existiert und einen gültigen GROQ_API_KEY enthält, und starten Sie Streamlit dann neu.

Streamlit meldet missing ScriptRunContext

Diese Warnung erscheint, wenn ein Streamlit-Modul direkt mit python -c importiert wird. Starten Sie die Anwendung für den normalen Betrieb mit streamlit run streamlit_app.py.

Die Kompilierung funktioniert, aber Tests schlagen während der Sammlung fehl

Ein Sammlungsfehler bedeutet, dass pytest die Tests nicht vollständig importieren konnte. Lesen Sie die zuerst gemeldete Ausnahme und beheben Sie diese Abhängigkeits- oder Konstruktorinkompatibilität, bevor Sie die übrigen Tests auswerten.

F
license - not found
Not graded
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 Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI clients to manage todo tasks through Tools for adding, listing, completing, and searching, alongside Prompts for daily reviews and task breakdowns. Exposes task lists and statistics as Resources with local JSON file persistence.
  • A
    license
    Not graded
    quality
    D
    maintenance
    A personal AI assistant server that provides MCP tools for notes, files, reminders, memory, shell, browser, and 30+ SaaS integrations, enabling AI clients to access and manage your data across sessions.
    3,945
    MIT

View all related MCP servers

Related MCP Connectors

  • Manage projects, tasks, time tracking, and team collaboration through natural language.

  • Shared, governed long-term memory for AI agents across tools and sessions via MCP and REST.

  • Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.

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/RevHeadGuy/FocusRoom'

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