Skip to main content
Glama

FocusRoom | プロダクティビティエージェント

Python、Streamlit、Groq、SQLite、MCPで構築された個人用プロダクティビティワークスペース。タスク管理、日次計画、永続メモリ、マルチエージェントスーパーバイザー、オプションのメールリマインダーを1つのプロジェクトに統合しています。

機能

  • Streamlitプロダクティビティダッシュボード

  • タスクの作成、一覧表示、フィルタリング、完了

  • タスクの優先度、期限、プロジェクト、ステータス

  • productivity.db への永続的なSQLiteストレージ

  • 日次計画とプロダクティビティレポート

  • メモリの保存と検索

  • Groqベースのプロダクティビティアシスタント

  • タスク、メモリ、計画リクエスト用のマルチエージェントスーパーバイザー

  • HTTPツール用のMCPサーバー(外部からの利用に対応)

  • オプションの自動メールリマインダー

Related MCP server: autoMate

必要条件

  • Python 3.10以降

  • AI機能用のGroq APIキー

  • メールリマインダー用のGmail SMTP認証情報または他のSMTPプロバイダー

セットアップ

1. 仮想環境を作成する

PowerShell:

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

PowerShellが現在のセッションでスクリプトの実行をブロックする場合:

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

2. 依存関係をインストールする

python -m pip install -r requirements.txt

3. 環境変数を設定する

.env.example.env にコピーし、値を入力してください:

Copy-Item .env.example .env

Groqベースのエージェントに必要:

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

オプションのMCP設定:

MCP_HOST=127.0.0.1
MCP_PORT=8000
MCP_API_KEY=local_or_remote_api_key

メールリマインダー用:

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

.env やAPI認証情報をコミットしないでください。これらは .gitignore によって除外されています。

Streamlitアプリを実行する

streamlit run streamlit_app.py

アプリには以下のセクションがあります:

  • 概要 - タスクメトリクス、進行中の作業、日次スナップショット、完了進捗

  • タスク - タスクの作成とフィルタリング、タスクの完了

  • 計画 - 現在の日次計画とプロダクティビティレポートの表示

  • メモリ - 永続コンテキストの保存と検索

  • アシスタント - プロダクティビティスーパーバイザーへの自然言語リクエストの送信

MCPサーバーを実行する

Streamable HTTP MCPサーバーを以下のコマンドで起動します:

python -m orchestrator.mcp_server

デフォルトでは http://127.0.0.1:8000/mcp で実行されます。

サーバーは以下のツールを公開しています:

  • productivity_assistant

  • create_task

  • list_tasks

  • update_task

  • complete_task

  • delete_task

  • save_memory

  • search_memory

  • daily_plan

  • productivity_report

MCPサーバーをローカル以外のホストにバインドする場合は、MCP_API_KEY を設定してください。リモートリクエストはベアラートークンを使用する必要があります:

Authorization: Bearer <MCP_API_KEY>

リマインダーを実行する

リマインダーワーカーは予定されたタスクを確認し、設定されたメール通知を送信します:

python reminder_worker.py

リマインダーのスケジュールはワーカー内で設定され、タスクの期限の24時間前、1時間前、15分前のリマインダーをサポートしています。メールリマインダーには .env 内の有効なSMTP設定が必要です。

テストを実行する

pytestを使用できるように、プロジェクトの仮想環境を使用してください:

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

特定のテストファイルを実行するには:

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

アプリを起動せずにPython構文を確認するには:

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

プロジェクト構造

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

データとセキュリティに関する注意事項

  • タスクとメモリはSQLiteにローカルに保存されます。

  • .env には機密情報が含まれるため、非公開に保つ必要があります。

  • Gmailの場合は、必要に応じてプライマリアカウントのパスワードの代わりにアプリパスワードを使用してください。

  • MCP APIキーは、サーバーがlocalhost以外に公開される場合に必要です。

  • ローカルのタスクとメモリの履歴が重要な場合は、productivity.db をバックアップしてください。

トラブルシューティング

pytest が認識されない

仮想環境を通じてpytestを実行してください:

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

アプリは起動するがアシスタントが利用できない

.env が存在し、有効な GROQ_API_KEY が含まれていることを確認し、Streamlitを再起動してください。

Streamlitが missing ScriptRunContext を報告する

この警告は、python -c でStreamlitモジュールを直接インポートした場合に表示されます。通常の操作では streamlit run streamlit_app.py でアプリケーションを起動してください。

コンパイルは成功するが、コレクション中にテストが失敗する

コレクションエラーは、pytestがテストのインポートを完了できなかったことを意味します。最初に報告された例外を読み、残りのテストを評価する前に、その依存関係またはコンストラクタの不一致を修正してください。

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