FocusRoom MCP Server
FocusRoom | プロダクティビティエージェント
Python、Streamlit、Groq、SQLite、MCPで構築された個人用プロダクティビティワークスペース。タスク管理、日次計画、永続メモリ、マルチエージェントスーパーバイザー、オプションのメールリマインダーを1つのプロジェクトに統合しています。
機能
Streamlitプロダクティビティダッシュボード
タスクの作成、一覧表示、フィルタリング、完了
タスクの優先度、期限、プロジェクト、ステータス
productivity.dbへの永続的なSQLiteストレージ日次計画とプロダクティビティレポート
メモリの保存と検索
Groqベースのプロダクティビティアシスタント
タスク、メモリ、計画リクエスト用のマルチエージェントスーパーバイザー
HTTPツール用のMCPサーバー(外部からの利用に対応)
オプションの自動メールリマインダー
Related MCP server: Task API MCP
必要条件
Python 3.10以降
AI機能用のGroq APIキー
メールリマインダー用のGmail SMTP認証情報または他のSMTPプロバイダー
セットアップ
1. 仮想環境を作成する
PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1PowerShellが現在のセッションでスクリプトの実行をブロックする場合:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
.\.venv\Scripts\Activate.ps12. 依存関係をインストールする
python -m pip install -r requirements.txt3. 環境変数を設定する
.env.example を .env にコピーし、値を入力してください:
Copy-Item .env.example .envGroqベースのエージェントに必要:
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_assistantcreate_tasklist_tasksupdate_taskcomplete_taskdelete_tasksave_memorysearch_memorydaily_planproductivity_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がテストのインポートを完了できなかったことを意味します。最初に報告された例外を読み、残りのテストを評価する前に、その依存関係またはコンストラクタの不一致を修正してください。
This server cannot be deployed
Maintenance
Related MCP Connectors
ADHD-friendly tasks, notes & projects for LucidNest - 18 tools, scoped tokens, Streamable HTTP.
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Manage tasks, Focus Zone, notes, projects, and task history from compatible AI assistants.
ADHD system of record for agents: tasks, goals, loops, calendar, focus stats.
Related MCP Servers
- AlicenseBqualityBmaintenanceExposes the Deferno task-manager backend to AI agents, enabling them to read, create, update, and manage tasks, habits, chores, events, and daily plans.81MIT
- AlicenseBqualityDmaintenanceEnables AI clients to create and manage tasks via a local REST API by converting natural language into HTTP requests through the Model Context Protocol.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables authenticated MCP clients to manage projects, tasks, habits, and daily capacity through tool calls.1 npmISC

Nexxupp MCP Serverofficial
AlicenseBqualityCmaintenanceEnables AI agents to store and search private memory, explore and edit workspace stations, databases, tasks, and charts, and schedule calendar events through natural language. Supports local stdio and hosted HTTP modes with per-user OAuth scoping of tools.22MIT