项目简介

Roo Logger 是一个 Model Context Protocol (MCP) 服务器,旨在自动化记录开发过程中的各种活动。它可以记录例如命令执行、代码生成、文件操作、错误发生、决策过程以及对话记录等多种类型的活动,并将这些信息保存为结构化的日志文件,方便开发者后续的检索和分析。通过 MCP 协议,Roo Logger 可以与支持 MCP 协议的客户端(如 Cline)集成,为 LLM 应用提供上下文信息。

主要功能点

  • 活动记录: 自动记录多种开发活动,包括命令执行、代码生成、文件操作、错误、决策和对话。
  • 详细日志信息: 记录活动的ID、时间戳、类型、日志级别、概要、详细信息(结构化数据)、意图和上下文。
  • 日志持久化: 按日期将日志保存在 JSON 文件中,方便管理和归档。
  • 日志检索: 支持按类型、级别、日期范围和文本内容检索日志。
  • 可配置日志目录: 允许为不同类型的活动指定自定义的日志保存目录。

安装步骤

  1. 克隆仓库

    git clone https://github.com/annenpolka/roo-logger.git
    cd roo-logger
  2. 安装依赖 确保已安装 Node.js 和 npm,然后运行:

    npm install
  3. 构建项目

    npm run build

服务器配置

要将 Roo Logger 配置为 MCP 服务器,您需要在 MCP 客户端(例如 Cline)的配置文件中添加服务器信息。以下是一个示例 'cline_mcp_settings.json' 配置,您需要根据实际情况修改 '<roo-logger仓库路径>' 为您本地仓库的绝对路径。

{
  "mcpServers": {
    "roo-activity-logger": {
      "command": "node",
      "args": [
        "<roo-logger仓库路径>/dist/index.js"
      ],
      "env": {},
      "disabled": false,
      "alwaysAllow": [
        "log_activity",
        "get_log_files",
        "search_logs"
      ],
      "timeout": 300
    }
  }
}

配置参数说明:

  • '"roo-activity-logger"': 服务器名称,您可以自定义。
  • '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行。
  • '"args": ["<roo-logger仓库路径>/dist/index.js"]': 启动命令的参数,指向编译后的 'index.js' 文件路径。请务必将 '<roo-logger仓库路径>' 替换为实际的仓库路径。
  • '"env": {}': 环境变量,默认为空。
  • '"disabled": false': 是否禁用该服务器,'false' 表示启用。
  • '"alwaysAllow": ["log_activity", "get_log_files", "search_logs"]': 总是允许客户端调用的工具列表,列出的工具无需用户确认即可执行。
  • '"timeout": 300': 请求超时时间,单位为秒。

基本使用方法

  1. 启动服务器

    在仓库根目录下,运行以下命令启动 Roo Logger MCP 服务器:

    node dist/index.js

    您可以使用 '--logs-dir' 或 '-d' 参数指定日志文件的保存目录,例如:

    node dist/index.js --logs-dir /path/to/my/logs
  2. 通过 MCP 客户端调用工具

    启动服务器后,您可以使用 MCP 客户端(如 Cline)调用以下工具来与 Roo Logger 服务器交互:

    • 'log_activity': 记录活动。

      {
        "type": "command_execution",
        "summary": "执行 npm install 命令",
        "details": {
          "command": "npm install",
          "directory": "/path/to/project"
        },
        "intention": "更新项目依赖",
        "context": "新功能开发准备阶段"
      }
    • 'get_log_files': 获取日志文件列表。

      {
        "limit": 5,
        "offset": 0
      }
    • 'search_logs': 搜索日志。

      {
        "type": "error_encountered",
        "level": "error",
        "startDate": "2024-01-01",
        "endDate": "2024-12-31",
        "searchText": "网络连接失败"
      }

    请参考仓库 README.md 文件中 "MCPツール" 部分获取更详细的工具参数说明。

通过以上步骤,您就可以使用 Roo Logger MCP 服务器记录和管理您的开发活动日志了。

信息

分类

开发者工具