MCP Variance Log

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Stores conversation variations in a SQLite database with robust query capabilities, allowing users to read logs, execute SQL queries, create tables, and analyze stored interaction patterns.

MCP 方差对数

Agentic 工具用于查找对话结构中的统计变化,并将异常事件记录到 SQLite 数据库中。该系统基于模型上下文协议 (MCP) 构建,旨在与 Claude Desktop 或其他兼容 MCP 的客户端配合使用。

要求

  • Python ≥3.10
  • 中孔蛋白≥1.2.0
  • SQLite3
  • UV(Python 包安装程序和环境管理器)

快速入门

# Clone and install git clone https://github.com/truaxki/mcp-variance-log.git cd mcp-variance-log uv pip install -e .

添加到 Claude 桌面配置(Windows 上为%APPDATA%\Claude\claude_desktop_config.json ):

{ "mcpServers": { "mcp-variance-log": { "command": "uv", "args": [ "--directory", "C:\\Users\\username\\source\\repos\\mcp-variance-log", # Update this path "run", "mcp-variance-log" ] } } }

添加到 Claude Desktop 偏好设置:

Automatic Logging Process: - Silently monitor each interaction - When MEDIUM or LOW probability events occur, use this tool to log them - Each log includes context and reasoning - Logging happens without disrupting conversation flow

用法

自动记录示例

prompt: "What if I told you I could lift 1000 lbs?" { `user_id`: `user_1`, `reasoning`: `Claim of 1000 lb lift capability is highly unusual as it approaches world record territory, warranting logging as a MEDIUM probability event`, `session_id`: `session_1`, `context_summary`: `User made an extremely improbable claim about personal strength capabilities`, `message_content`: `What if i told you i could lift 1000 lbs?`, `interaction_type`: `claim_verification`, `response_content`: `That would be extremely unlikely. The current world record for weight lifted by a human (deadlift) is 1,104.5 lbs, set by Hafthor Björnsson in 2020 under very specific conditions. Only a handful of people in history have lifted close to 1,000 lbs.`, `probability_class`: `MEDIUM` }
prompt: "What if I told you I'm a Data Scientist that can lift 1000 pounds?" { `user_id`: `user_1`, `reasoning`: `User's follow-up combines unlikely strength claim with unrelated professional credential, suggesting potential pattern of unusual claims`, `session_id`: `session_1`, `context_summary`: `User added data scientist credential to previous improbable strength claim`, `message_content`: `what if i told you I'm a data scientist that can lift 1000 pounds?`, `interaction_type`: `claim_verification`, `response_content`: `Your professional background as a data scientist doesn't make the 1000-pound lift claim more plausible. Such a lift would still be near the all-time world record of 1,104.5 lbs.`, `probability_class`: `LOW` }

数据框视图

prompt: "Read-logs from this morning" ID | Time | Prob | Type | Context ------------------------------------------------------------------------------------------ 29 | 01-24 17:57 | LOW | claim_ | User added data scientist credential to pr... 28 | 01-24 17:56 | MEDIUM | claim_ | User made an extremely improbable claim ab...

文本 2 SQL

prompt: "Can you search the logs for entry 29?" [{'log_id': 29, 'timestamp': '2025-01-24 17:57:07', 'session_id': 'session_1', 'user_id': 'user_1', 'interaction_type': 'claim_verification', 'probability_class': 'LOW', 'message_content': "what if i told you I'm a data scientist that can lift 1000 pounds?", 'response_content': "Your professional background as a data scientist doesn't make the 1000-pound lift claim more plausible. Such a lift would still be near the all-time world record of 1,104.5 lbs.", 'context_summary': 'User added data scientist credential to previous improbable strength claim', 'reasoning': "User's follow-up combines unlikely strength claim with unrelated professional credential, suggesting potential pattern of unusual claims"}]

详细安装

  1. 确保安装了 Python 3.10+ 和 UV。

使用以下方法之一安装 UV:

# Using pip (recommended for Windows) pip install uv # Using installation script (Linux/MacOS) curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 克隆并安装:
git clone https://github.com/truaxki/mcp-variance-log.git cd mcp-variance-log uv pip install -e .
  1. 配置Claude桌面:

添加到claude_desktop_config.json

{ "mcpServers": { "mcp-variance-log": { "command": "uv", "args": [ "--directory", "PATH_TO_REPO/mcp-variance-log", "run", "mcp-variance-log" ] } } }

配置位置:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

工具

监控

  • log-query :跟踪对话模式
    • 高:常见互动(未记录)
    • 中等:不寻常的模式(已记录)
    • 低:关键事件(优先记录)

询问

  • read-logs :通过过滤查看日志
  • read_query :执行 SELECT 查询
  • write_query :执行 INSERT/UPDATE/DELETE
  • create_table :创建表
  • list_tables :显示所有表
  • describe_table :显示表结构

位于与安装相关的data/varlog.db

架构

CREATE TABLE chat_monitoring ( log_id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP, session_id TEXT NOT NULL, user_id TEXT NOT NULL, interaction_type TEXT NOT NULL, probability_class TEXT CHECK(probability_class IN ('HIGH', 'MEDIUM', 'LOW')), message_content TEXT NOT NULL, response_content TEXT NOT NULL, context_summary TEXT, reasoning TEXT );

故障排除

  1. 数据库访问
  • 错误:“无法连接到数据库”
    • 检查文件权限
    • 验证配置中的路径
    • 确保/data目录存在
  1. 安装问题
  • 错误:“没有名为‘mcp’的模块”
    • 运行: uv pip install mcp>=1.2.0
  • 错误:“未找到 UV 命令”
    • 安装 UV: curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 配置
  • 错误:“无法启动 MCP 服务器”
    • 验证 config.json 语法
    • 检查路径分隔符(在 Windows 上使用 \)
    • 确保 UV 位于你的系统 PATH 中

贡献

  1. 分叉存储库
  2. 创建功能分支
  3. 提交拉取请求

执照

麻省理工学院

支持

问题: GitHub 问题

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Agentic 工具用于查找对话结构中的统计变化,并将异常事件记录到 SQLite 数据库中。该系统基于模型上下文协议 (MCP) 构建,旨在与 Claude Desktop 或其他兼容 MCP 的客户端配合使用。

  1. Requirements
    1. Quick Start
      1. Usage
        1. Automatic Logging Examples
        2. Dataframe view
        3. Text 2 SQL
      2. Detailed Installation
        1. Tools
          1. Monitoring
          2. Query
          3. Schema
        2. Troubleshooting
          1. Contributing
            1. License
              1. Support
                ID: acqq8twrk6