返回市场
MCP方差日志服务器

MCP方差日志服务器

作者:truaxki4 星标更新:2025-01-27

项目介绍

MCP 方差日志

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

<a href="https://glama.ai/mcp/servers/acqq8twrk6"><img width="380" height="200" src="https://gips2.baidu.com/it/u=2185772514,571010096&fm=3081&app=3-081&f=PNG?w=760&h=400" alt="方差日志MCP服务器" /></a>

要求

  • Python ≥3.10
  • MCP ≥1.2.0
  • SQLite3
  • UV(Python包安装器和环境管理器)

快速开始

# 克隆并安装
git clone https://github.com/truaxki/mcp-variance-log.git
cd mcp-variance-log
uv pip install -e .

在Claude Desktop配置中添加(Windows上的路径为%APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "mcp-variance-log": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\username\\source\\repos\\mcp-variance-log",  # 更新此路径
        "run",
        "mcp-variance-log"
      ]
    }
  }
}

在Claude Desktop偏好设置中添加:

自动日志过程:
- 静默监控每次交互
- 当发生中等或低概率事件时,使用此工具进行记录
- 每个日志包括上下文和推理
- 记录不会中断对话流程

使用

自动日志示例

提示: "如果我告诉你我能举起1000磅呢?"

{
  `user_id`: `user_1`,
  `reasoning`: `声称能举起1000磅的能力非常不寻常,因为它接近世界纪录领域,因此作为中等概率事件记录`,
  `session_id`: `session_1`,
  `context_summary`: `用户提出了一个极其不可能的个人力量能力声明`,
  `message_content`: `如果我告诉你我能举起1000磅呢?`,
  `interaction_type`: `声明验证`,
  `response_content`: `这将是非常不可能的。目前人类举重的世界纪录(死举)是1,104.5磅,由Hafthor Björnsson在2020年在非常特定的条件下创造。历史上只有少数人能举起接近1,000磅的重量`,
  `probability_class`: `中等`
}
提示: "如果我告诉你我是数据科学家并且能举起1000磅呢?"

{
  `user_id`: `user_1`,
  `reasoning`: `用户的后续声明结合了不太可能的力量声明和无关的专业资格,表明可能存在异常声明的模式`,
  `session_id`: `session_1`,
  `context_summary`: `用户在其之前的不可能力量声明中添加了数据科学家的资格`,
  `message_content`: `如果我告诉你我是数据科学家并且能举起1000磅呢?`,
  `interaction_type`: `声明验证`,
  `response_content`: `您作为数据科学家的专业背景并不能使1000磅的举重声明更可信。这样的举重仍然接近1,104.5磅的历史世界纪录`,
  `probability_class`: `低`
}

数据框视图

提示: "读取今天早晨的日志"

ID   | 时间         | 概率   | 类型   | 上下文                                      
------------------------------------------------------------------------------------------
29   | 01-24 17:57  | 低    | 声明_ | 用户在其之前的不可能力量声明中添加了数据...
28   | 01-24 17:56  | 中等 | 声明_ | 用户提出了一个极其不可能的个人力量能力...

文本到SQL

提示: "你能搜索日志中的条目29吗?"

[{'log_id': 29, 'timestamp': '2025-01-24 17:57:07', 'session_id': 'session_1', 'user_id': 'user_1', 'interaction_type': '声明验证', 'probability_class': '低', 'message_content': "如果我告诉你我是数据科学家并且能举起1000磅呢?", 'response_content': "您作为数据科学家的专业背景并不能使1000磅的举重声明更可信。这样的举重仍然接近1,104.5磅的历史世界纪录", 'context_summary': '用户在其之前的不可能力量声明中添加了数据科学家的资格', 'reasoning': "用户的后续声明结合了不太可能的力量声明和无关的专业资格,表明可能存在异常声明的模式"}]

详细安装

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

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

# 使用pip(推荐用于Windows)
pip install uv

# 使用安装脚本(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 Desktop:

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 ('高', '中等', '低')),
    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. 提交拉取请求

许可证

MIT

支持

问题:GitHub Issues