
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

Grabbit MCP
GrabbitRemote MCP server that helps AI agents find Reddit buyer-intent threads, check subreddit rules, read full conversations, and manage human-reviewed lead workflows.

Subtext
Subtext by FullstorySession replay, built for agents. Subtext is agentic session review: it captures production sessions of your app and connects them to your coding agent — Claude Code, Cursor, Codex, Devin, your own harness — so it can

Opinly
Track competitors, rankings, and how AI answers rank you — then write and publish the fix.

OrbitWan.io
Wanchain explorer data and analytics: addresses, transactions, tokens, validators, cross chain transfers, plus OrbitPay prepaid premium data (x402).

AskRentAI
AskRentAIAsk your Rent Manager property portfolio anything, from the AI you already use. AskRentAI is a hosted, read-only MCP server for Rent Manager, the property management platform used across a large share of US rental housi
Comments