OpenClaw使用数据服务器

一个无需网络调用或身份验证的本地服务器,通过读取OpenClaw会话文件来提供使用情况和成本数据。

  • by quittung
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 quittung/openclaw-usage-mcp

使用说明

openclaw使用mcp

读取本地数据的MCP服务器 开爪 会话文件以获取使用情况和成本数据。无需网络调用或身份验证——它直接从磁盘扫描JSONL会话文件。

AI Agent  ──stdio──▶  MCP Server  ──reads──▶  ~/.openclaw/agents/*/sessions/*.jsonl

工具

工具 说明
get_usage 按时间段和型号细分的日期范围内的令牌计数和成本
list_sessions 按时段分组的使用情况细分会话(前N个或全部)
get_session_logs 会话的每条消息日志:时间戳、令牌计数、成本、角色

设置

1.安装依赖项

pip install mcp

2.配置

服务器读取这些环境变量:

变量 默认值 描述
OPENCLAW_AGENTS_DIR ~/.openclaw/agents/ 包含会话文件的OpenClaw代理目录的路径

3.向您的MCP客户注册

麦克波特 (建议使用OpenClaw):

mcporter config add usage \
  --command python3 \
  --arg /path/to/server.py \
  --scope home

克劳德代码 (~/.claude/settings.json):

{
  "mcpServers": {
    "openclaw-usage": {
      "command": "python3",
      "args": ["/path/to/server.py"]
    }
  }
}

运作原理

服务器扫描OpenClaw代理目录中的JSONL会话文件:

  • 活动会话: ~/.openclaw/agents/*/sessions/*.jsonl
  • 已存档(重置)会话: ~/.openclaw/agents/*/sessions/*.jsonl.reset.*

每个会话文件都包含JSON行 type: "session" 标题, type: "message" 条目(在助手消息上显示使用/成本数据),以及 type: "model_change" 模型切换的条目。

服务器聚合每个模型、每个会话和每个时间段的令牌计数和成本,返回工具一直使用的相同结构化输出格式。

已归档 .reset.* 文件包含在扫描中,因此重置会话的使用情况不再不可见。

独立运行

python3 server.py

使用MCP协议通过stdio进行通信。

以前的架构

早期版本使用网关的WebSocket RPC API和Ed25519设备 身份验证。该代码(包括 device_auth.py)保存在标签处 v0.1.0-gateway-api.