
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

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
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.
ArXiv MCP Server
blazickjpA Model Context Protocol server for searching and analyzing arXiv papers

Kinetic Pricing
Kinetic PricingKinetic Pricing lets you run pricing research with your own customers and manage the work around each decision. Create Van Westendorp, Gabor-Granger, MaxDiff, and choice-based conjoint studies; preview and launch surveys

Rankbits
rankbitsAI visibility analytics across 15+ providers (ChatGPT, Perplexity, Gemini, AI Overviews, and more). The MCP connector lets assistants run scans, compare competitor mentions, and track your brand's visibility in AI answer
Comments