roo-activity-logger
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@roo-activity-logger Record the file operation I just did"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: repro-mcp
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 contextFor 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 buildExample 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
Name | Required | Type | Description |
| Yes | string | Activity type ( |
| Yes | string | Short summary of the activity |
| Yes | string | Purpose or intention |
| Yes | string | Context information |
| Yes | string | Save directory (absolute path only) |
| No | string | Log level ( |
| No | object | Additional details (any JSON) |
| No | string | Parent activity ID |
| No | number | Sequence number |
| No | string[] | 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
Name | Required | Type | Description |
| Yes | string | Directory to search (absolute path only) |
| No | number | Max files to retrieve (default: 10) |
| No | number | Number of files to skip (default: 0) |
| No | string | Log file prefix (default: |
| No | string | Log file extension (default: |
| No | number | Max 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
Name | Required | Type | Description |
| Yes | string | Log directory (absolute path only) |
| No | string | Log file prefix (default: |
| No | string | Log file extension (default: |
| No | string | Filter by activity type ( |
| No | string | Filter by log level ( |
| No | string | Start date (YYYY-MM-DD) |
| No | string | End date (YYYY-MM-DD) |
| No | string | Search text in summary or details |
| No | number | Max logs to retrieve (default: 50) |
| No | number | Number of logs to skip (default: 0) |
| No | string | Filter by parent activity ID |
| No | number | Sequence number lower bound |
| No | number | Sequence number upper bound |
| No | string | Filter by related activity ID |
| No | string[] | Filter by any of related activity IDs |
License
MIT
Available Tools
3 toolsget_log_filesC
Get a paginated list of available log files in the specified directory with filtering options
Inputs: logsDir (required), limit, offset, logFilePrefix, +2 more.
log_activityB
Record an activity log entry with structured data for tracking development activities, decisions, and context
Inputs: type (required), summary (required), intention (required), context (required), +6 more.
search_logsC
Search and filter activity logs with various criteria including date ranges, text search, and activity relationships
Inputs: logsDir (required), logFilePrefix, logFileExtension, type, +11 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 3 tools
Each tool has a clear, distinct purpose: listing log files, recording an activity, and searching logs. There is no overlap or ambiguity between them.
All tool names follow a consistent verb_noun snake_case pattern (get_log_files, log_activity, search_logs), making them predictable and easy to understand.
Three tools is an appropriate scope for an activity logger, covering the essential operations: listing available files, recording entries, and searching. Not too few or too many.
The tool surface covers the core activities of logging and retrieval, but lacks update/delete functionality or a way to view raw log file contents. Minor gap, but functional for basic use.
Maintenance
Related MCP Connectors
Zero-log MCP server with 49 tools for AI guardrails, secret scanning, MCP linting & EU compliance.
491Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
An MCP server that gives your AI access to the source code and docs of all public github repos
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that supercharges AI assistants with powerful tools for software development, enabling research, planning, code generation, and project scaffolding through natural language interaction.1169 npm102MIT
- AlicenseNot gradedqualityDmaintenanceAn MCP server that logs AI-assisted scientific computing sessions, capturing prompts, responses, decisions, and environment snapshots to human-readable markdown files for reproducibility.MIT
- AlicenseNot gradedqualityDmaintenanceThis MCP server integrates with Journey Log to automatically document development journeys, enabling AI assistants to create, update, and retrieve documents, capture conversations, and manage code snippets.9 npmMIT
- AlicenseNot gradedqualityDmaintenanceA local MCP server for AI agents to log activities, query logs, and leave notes for each other, featuring a web UI and REST API.MIT