mcpField
R
Roo Activity Logger

Roo Activity Logger

Local
github.com/annenpolkaDeveloper Tools25Updated 69w ago

About Roo Activity Logger

Roo Activity Logger is an MCP server that automatically records activities of AI coding assistants such as Roo Code, Cline and Claude Code. Logs are saved as JSON files that can be searched and analyzed later, including for restoring context when resuming a task.

Key features

  1. 01Logs command executions, code generation and file operations
  2. 02Each log has level, summary, details and intention
  3. 03Supports parent, sequence and related ID grouping
  4. 04Searches logs by type, level, date and text
  5. 05Allows a separate save directory per activity

Use cases

  1. 01Restoring context and past intentions when resuming a task
  2. 02Reviewing operations performed by an AI coding assistant
  3. 03Analyzing development activity by date or type

MCP support

This project is an MCP server that exposes log_activity, get_log_files and search_logs tools to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Roo Activity Logger

日本語版はこちら | 中文版

TL;DR

  • What is it? — This is an MCP server that automatically logs AI coding assistant activities such as command executions and code generation (supports Roo Code, Cline, Claude Code, etc.).
  • What does it do? — It saves activity history as JSON files, which you can search and analyze later.
  • How do I use it? — Add it to your Claude Code, Cline, or Roo-Code settings to enable automatic activity logging.

Overview

Roo Activity Logger is an MCP (Model Context Protocol) server that automatically records AI coding assistant development activities — including command executions, code generation, file operations, and more. It supports Claude Code, Cline, Roo-Code, and other MCP-compatible AI assistants. All logs are saved in JSON format, making it easy to search, analyze, and restore context at any time.

How activity logging works
flowchart TD
    A[Roo's Action] --> B[Select Activity Type]
    B --> C[Log via log_activity]
    C --> D[Provide Log Info<br>- Summary<br>- Details<br>- Intention<br>- Context]
    D --> E[Specify Save Directory]
    E --> F[Save as JSON file]
How to search logs and restore context when resuming a task
flowchart TD
    G[Resume Task] --> H[Search with search_logs]
    H --> I[Set Search Filters<br>- Type<br>- Date Range<br>- Text]
    I --> J[Retrieve Related Activities<br>- Parent/Child<br>- Sequence<br>- Related IDs]
    J --> K[Restore Context & Resume<br>- Review Past Intentions<br>- Understand Progress]
Sample Log Entry

Here is an example of a file_operation log entry saved as JSON:

{
  "id": "75add15d-8d5b-4e60-b327-fde785050c86",
  "timestamp": "2025-04-10T01:58:02.905Z",
  "type": "file_operation",
  "level": "info",
  "summary": "Inserted mermaid diagram into README.md",
  "details": {
    "file": "README.md",
    "operation": "insert_content",
    "insertedLines": "mermaid code block",
    "position": "after overview section"
  },
  "intention": "To visually explain the flow of saving and retrieving activities",
  "context": "Improving documentation for Roo Activity Logger",
  "parentId": "98280366-1de1-48e0-9914-b3a3409599b4"
}

Each log contains:

  • Log level (debug, info, warn, error)
  • Summary
  • Details (any structured data)
  • Intention / Purpose
  • Context information
  • Parent activity ID (for hierarchy)
  • Sequence number (for ordering)
  • Related activity IDs (for grouping)

Logs are:

  • Saved as date-based JSON files
  • Searchable by type, level, date, text, etc.
  • Customizable — you can specify different save directories per activity

Features

  • Logs various activity types:

    • Command executions (command_execution)
    • Code generation (code_generation)
    • File operations (file_operation)
    • Errors (error_encountered)
    • Decisions (decision_made)
    • Conversations (conversation)
  • Each activity log includes:

    • Unique ID
    • Timestamp
    • Activity type
    • Summary, details, intention, context, and optional metadata

Usage (Recommended: via npx)

You can run Roo Activity Logger directly without cloning the repository by using npx.

Add this to your Cline, Roo-Code, or Claude Code configuration:

{
  "mcpServers": {
    "roo-activity-logger": {
      "command": "npx",
      "args": ["-y", "github:annenpolka/roo-logger"],
      "env": {},
      "disabled": false
    }
  }
}

Then, add prompts to your rule files (for Cline/Roo-Code) or CLAUDE.md (for Claude Code) to ensure logging, for example:

## Important

Always log activities using roo-activity-logger according to the logging rules.

## Preparation

Check the current context with `git status`.

Then, use roo-activity-logger's `search_logs` to review existing logs and identify current tasks.

Be sure to perform the logging steps.

## Logging

- Always use roo-activity-logger for all logs
- Include stack traces and execution context
- Record intention and context

For Developers: Local Setup

To develop or customize locally, clone the repository and build:

# Clone the repo
git clone https://github.com/annenpolka/roo-logger.git
cd roo-logger

# Install dependencies
npm install

# Build
npm run build

Example configuration to use your local build:

{
  "mcpServers": {
    "roo-activity-logger": {
      "command": "node",
      "args": ["/path/to/your/local/roo-logger/dist/index.js"], // adjust path accordingly
      "env": {},
      "disabled": false
    }
  }
}
Notes
  • The specified directory will be created automatically if it does not exist.

MCP Tools

log_activity — Record an activity

A tool to record an activity.

Basic example
{
  "type": "command_execution",
  "summary": "Run npm command",
  "intention": "Update project dependencies",
  "context": "Preparing for new feature development",
  "logsDir": "/absolute/path/to/logs/activity"
}
Parameters
NameRequiredTypeDescription
typeYesstringActivity type (command_execution, code_generation, file_operation, error_encountered, decision_made, conversation)
summaryYesstringShort summary of the activity
intentionYesstringPurpose or intention
contextYesstringContext information
logsDirYesstringSave directory (absolute path only)
levelNostringLog level (debug, info, warn, error). Default: info
detailsNoobjectAdditional details (any JSON)
parentIdNostringParent activity ID
sequenceNonumberSequence number
relatedIdsNostring[]Related activity IDs
Detailed example
{
  "type": "file_operation",
  "summary": "Update README file",
  "intention": "Clarify documentation and improve usability",
  "context": "Improvements based on user feedback",
  "level": "info",
  "details": {
    "file": "README.md",
    "operation": "update",
    "changedLines": 15
  },
  "logsDir": "/absolute/path/to/logs/activity",
  "sequence": 3,
  "relatedIds": ["11223344-5566-7788-99aa-bbccddeeff00"]
}

get_log_files — List saved log files

Lists saved log files recursively. You can specify the maximum search depth.

Basic example
{
  "logsDir": "/absolute/path/to/logs"
}
Parameters
NameRequiredTypeDescription
logsDirYesstringDirectory to search (absolute path only)
limitNonumberMax files to retrieve (default: 10)
offsetNonumberNumber of files to skip (default: 0)
logFilePrefixNostringLog file prefix (default: "roo-activity-")
logFileExtensionNostringLog file extension (default: ".json")
maxDepthNonumberMax directory depth (default: 3)

search_logs — Search saved logs

Searches saved logs with various filters.

Basic example
{
  "logsDir": "/absolute/path/to/logs"
}
{
  "logsDir": "/absolute/path/to/logs",
  "type": "command_execution"
}
Parameters
NameRequiredTypeDescription
logsDirYesstringLog directory (absolute path only)
logFilePrefixNostringLog file prefix (default: "roo-activity-")
logFileExtensionNostringLog file extension (default: ".json")
typeNostringFilter by activity type (command_execution, code_generation, file_operation, error_encountered, decision_made, conversation)
levelNostringFilter by log level (debug, info, warn, error)
startDateNostringStart date (YYYY-MM-DD)
endDateNostringEnd date (YYYY-MM-DD)
searchTextNostringSearch text in summary or details
limitNonumberMax logs to retrieve (default: 50)
offsetNonumberNumber of logs to skip (default: 0)
parentIdNostringFilter by parent activity ID
sequenceFromNonumberSequence number lower bound
sequenceToNonumberSequence number upper bound
relatedIdNostringFilter by related activity ID
relatedIdsNostring[]Filter by any of related activity IDs

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.