log-queryLABSCO SUMMARY
Logging happens quietly; querying is the point.
The logging half is meant to be invisible — the assistant classifies as it goes and records without interrupting the conversation. The querying half is where it pays off, because the store is an ordinary SQLite database with both a formatted view and raw SQL over the same rows. Every entry carries the reasoning for its classification, so the log answers not only what was flagged but why.
What it is
An agentic logging tool. It classifies each interaction by how ordinary it is, records the unusual ones with the reasoning behind the classification, and stores them in a local SQLite database that stays queryable afterwards.
What you get
- Classification and logging of unusual turns, with common interactions passed over, unusual patterns recorded, and critical events logged as a priority —
log-query - A readable log view with filtering, which is the tool for "what happened this morning" —
read-logs - Direct SQL against the store: SELECT on one side, INSERT, UPDATE and DELETE on the other —
read_query,write_query - Schema-level access to the same database —
create_table,list_tables,describe_table - A defined schema for each entry: session and user ids, interaction type, probability class, the message and response, a context summary and the reasoning
Requirements
No account and no key. Python 3.10 or higher, MCP 1.2.0 or higher, SQLite3, and uv. Clone and run uv pip install -e ., then register uv in your client config with --directory pointing at the clone and mcp-variance-log as the command to run. The database is created at data/varlog.db relative to the installation, and that directory must exist. The README also supplies the client-preferences text that tells the assistant to log silently as it goes.
Setup effort
Build from source — clone the repository, then follow the project's own run instructions
USE CASES
Keeping a record of the odd moments in a session
Let the assistant classify each turn as it goes and write the unusual ones with a context summary and its reasoning.
Reviewing what got flagged
Read the log with filters to get a dated table of entries by probability class and interaction type.
Digging into one entry
Run a SELECT for the specific log id and read the full message, response, context summary and reasoning.
Analysing patterns across sessions
Query the store directly, inspect the schema, and build your own tables alongside the log.
7 tools
Listed in project docs. Your client may show a different list.
read-logsread_querywrite_querycreate_tablelist_tablesdescribe_tableBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
- uv on PATH
- Python ≥3.10
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
uv --directory <YOUR_PATH_TO_REPO_MCP_VARIANCE_LOG> run mcp-variance-logMCP Clients
Claude Desktop
{
"mcpServers": {
"mcp-variance-log": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_REPO_MCP_VARIANCE_LOG>",
"run",
"mcp-variance-log"
]
}
}
}