FocusRoom MCP Server
FocusRoom | Агент продуктивности
Личное рабочее пространство для продуктивности на базе Python, Streamlit, Groq, SQLite и MCP. В одном проекте объединены управление задачами, ежедневное планирование, постоянная память, мультиагентный супервизор и опциональные email-напоминания.
Возможности
Дашборд продуктивности на Streamlit
Создание, просмотр, фильтрация и завершение задач
Приоритеты задач, сроки выполнения, проекты и статусы
Постоянное хранилище SQLite в
productivity.dbЕжедневные планы и отчёты о продуктивности
Сохранение и поиск личных заметок
Ассистент продуктивности на базе Groq
Мультиагентный супервизор для запросов по задачам, памяти и планированию
MCP-сервер с HTTP-инструментами для внешних клиентов
Опциональные автоматические email-напоминания
Related MCP server: Task API MCP
Требования
Python 3.10 или новее
Groq API-ключ для функций на базе ИИ
SMTP-учётка данных Gmail или другого SMTP-провайдера для email-напоминаний
Настройка
1. Создание виртуального окружения
PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1Если PowerShell блокирует выполнение скриптов для текущего сеанса:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned
.\.venv\Scripts\Activate.ps12. Установка зависимостей
python -m pip install -r requirements.txt3. Настройка переменных окружения
Скопируйте .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-напоминаний:
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_API_KEY. Удалённые запросы должны использовать bearer-токен:
Authorization: Bearer <MCP_API_KEY>Запуск напоминаний
Фоновая служба напоминаний проверяет предстоящие задачи и отправляет настроенные email-уведомления:
python reminder_worker.pyРасписание настраивается в службе и поддерживает напоминания за 24 часа, за 1 час и за 15 минут до срока задачи. Для email-напоминаний нужны корректные SMTP-настройки в .env.
Запуск тестов
Используйте виртуальное окружение проекта, чтобы был доступен 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_KEYобязателен, когда сервер доступен за пределами localhost.Делайте резервную копию
productivity.db, если локальная история задач и памяти важна.
Устранение неполадок
pytest не распознаётся
Запустите pytest через виртуальное окружение:
.\.venv\Scripts\python -m pytest -qПриложение запускается, но ассистент недоступен
Проверьте, что .env существует и содержит действующий GROQ_API_KEY, затем перезапустите Streamlit.
Streamlit сообщает missing ScriptRunContext
Это предупреждение появляется при прямом импорте модуля Streamlit через python -c. Для нормальной работы запускайте приложение командой 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