
Focuslog
@DragonsWho
About Focuslog
A background server that logs your desktop activity, calculates your Actions Per Minute (APM), and provides a clean, anonymized timeline of your work on demand. It's designed to be a data source for personal analytics or AI assistants.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"focuslog": {
"command": "git",
"args": [
"clone",
"https://github.com/DragonsWho/FocusLog"
],
"env": {}
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Focuslog?
Focuslog is a background server for Linux (X11) that logs desktop activity, calculates Actions Per Minute (APM), and provides an anonymized timeline of work on demand. It is designed for personal analytics or AI assistants.
How to use Focuslog?
Install system dependencies (xdotool, xprintidle, pygobject, ollama), then clone the repository, create a virtual environment with --system-site-packages, install Python packages from requirements.txt, and copy config.py.example to config.py to set forbidden keywords and other options. Start manually with python focuslog.py in the venv, or deploy as a systemd --user service for continuous background operation.
Key features of Focuslog
- Periodically records the title of the currently focused window.
- Tracks keyboard and mouse activity to compute Actions Per Minute.
- Groups consecutive activities into a compressed timeline.
- Two‑stage anonymization: hard-coded keyword filter plus local Ollama LLM.
- Sanitizes excessively long window titles.
- Configurable settings in a separate
config.pyfile. - Can run as a persistent systemd background service.
Use cases of Focuslog
- Personal productivity analytics by reviewing anonymized desktop activity timelines.
- Providing a work‑session summary to an AI assistant for time logging or task analysis.
- Monitoring focus patterns over hours or days without exposing sensitive window titles.
FAQ from Focuslog
What operating systems does Focuslog support?
Focuslog is designed specifically for Linux desktop environments using the X11 display server. It does not work on Windows, macOS, or native Wayland sessions.
What are the system dependencies?
You must have xdotool, xprintidle, ollama (with a pulled model, e.g., gemma3), and PyGObject (python3-gi and related packages) installed.
How does anonymization work?
Focuslog uses two stages: a hard-coded list of forbidden keywords (set in config.py) is removed first, then a local Ollama LLM intelligently removes any other personally identifiable information.
Where is the activity data stored?
Data is saved to a local SQLite database (no external service). The raw records are anonymized on demand when the get_activity_log tool is called.
Can Focuslog run automatically on login?
Yes. It can be installed as a systemd --user service that starts on login and restarts if it crashes. Setup instructions are provided in the README.
Frequently asked questions
What operating systems does Focuslog support?
Focuslog is designed specifically for Linux desktop environments using the X11 display server. It does not work on Windows, macOS, or native Wayland sessions.
What are the system dependencies?
You must have `xdotool`, `xprintidle`, `ollama` (with a pulled model, e.g., `gemma3`), and PyGObject (`python3-gi` and related packages) installed.
How does anonymization work?
Focuslog uses two stages: a hard-coded list of forbidden keywords (set in `config.py`) is removed first, then a local Ollama LLM intelligently removes any other personally identifiable information.
Where is the activity data stored?
Data is saved to a local SQLite database (no external service). The raw records are anonymized on demand when the `get_activity_log` tool is called.
Can Focuslog run automatically on login?
Yes. It can be installed as a `systemd --user` service that starts on login and restarts if it crashes. Setup instructions are provided in the README.
Basic information
More Data & Analytics MCP servers
Bright Data MCP
luminati-ioA powerful Model Context Protocol (MCP) server that provides an all-in-one solution for public web access.
PubMed Analysis MCP Server
DarkroasterA PubMed MCP server.
Google Analytics MCP Server
surendranbGoogle Analytics 4 data to AI agents, agentic workflows, and MCP clients. Give agents analysis-ready access to website traffic, user behavior, and performance data with schema discovery, server-side aggregation, and safe defaults that reduce data wrangling.
Deep Research
u14appUse any LLMs (Large Language Models) for Deep Research. Support SSE API and MCP server.
MCP Simple PubMed
andybrandtMCP server for searching and querying PubMed medical papers/research database
Comments