Roo Activity Logger について
Roo Activity Logger は、Roo Code、Cline、Claude Code などの AI コーディングアシスタントの活動を自動で記録する MCP サーバーです。ログは JSON ファイルとして保存され、後から検索や分析ができます。中断したタスクを再開する際のコンテキスト復元にも利用できます。
主な機能
- 01コマンド実行、コード生成、ファイル操作の記録
- 02レベル、サマリー、詳細、意図を含むログ構造
- 03親 ID、シーケンス番号、関連 ID によるグループ化
- 04種類、レベル、日付、テキストによる検索
- 05活動ごとの保存ディレクトリ指定
活用シーン
- 01タスク再開時の過去の意図と進捗の確認
- 02AI コーディングアシスタントが行った操作のレビュー
- 03日付や種類別の開発活動の分析
MCP 対応
本プロジェクトは MCP サーバーとして、log_activity、get_log_files、search_logs などのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Roo Activity Logger
要約
- これは何ですか? — コマンドの実行やコード生成など、AI コーディングアシスタントのアクティビティを自動で記録する MCP サーバー です(Roo Code、Cline、Claude Code などに対応しています)。
- 何ができますか? — アクティビティ履歴を JSON ファイルに保存し、後から検索・分析できます。
- どう使いますか? — Claude Code、Cline、または Roo-Code の設定に追加すると、アクティビティを自動で記録できます。
概要
Roo Activity Logger は、コマンドの実行、コード生成、ファイル操作など、AI コーディングアシスタントによる開発アクティビティを自動で記録する MCP(Model Context Protocol)サーバーです。Claude Code、Cline、Roo-Code など、MCP 対応の AI アシスタントで利用できます。 すべてのログは JSON 形式で保存されるため、いつでも簡単に検索、分析し、コンテキストを復元できます。
アクティビティの記録方法
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]
ログの検索とタスク再開時のコンテキストの復元方法
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]
ログエントリーの例
JSON 形式で保存される file_operation ログエントリーの例を示します。
{
"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"
}
各ログには、次の情報が含まれます。
- ログレベル(
debug、info、warn、error) - 概要
- 詳細(任意の構造化データ)
- 意図/目的
- コンテキスト情報
- 親アクティビティ ID(階層構造用)
- シーケンス番号(順序付け用)
- 関連アクティビティ ID(グループ化用)
ログは次のように扱えます。
- 日付ごとの JSON ファイルとして保存されます
- 種類、レベル、日付、テキストなどで検索できます
- カスタマイズ可能 — アクティビティごとに異なる保存ディレクトリを指定できます
機能
-
さまざまな種類のアクティビティを記録します。
- コマンドの実行(
command_execution) - コード生成(
code_generation) - ファイル操作(
file_operation) - エラー(
error_encountered) - 意思決定(
decision_made) - 会話(
conversation)
- コマンドの実行(
-
各アクティビティのログには、次の情報が含まれます。
- 一意の ID
- タイムスタンプ
- アクティビティの種類
- 概要、詳細、意図、コンテキスト、および任意のメタデータ
使い方(推奨:npx 経由)
npx を使用すると、リポジトリをクローンせずに Roo Activity Logger を直接実行できます。
Cline、Roo-Code、または Claude Code の設定に以下を追加してください。
{
"mcpServers": {
"roo-activity-logger": {
"command": "npx",
"args": ["-y", "github:annenpolka/roo-logger"],
"env": {},
"disabled": false
}
}
}
次に、ログが確実に記録されるよう、Cline/Roo-Code のルールファイル、または Claude Code の CLAUDE.md にプロンプトを追加してください。例:
## 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
開発者向け:ローカルセットアップ
ローカルで開発またはカスタマイズするには、リポジトリをクローンしてビルドします。
# Clone the repo
git clone https://github.com/annenpolka/roo-logger.git
cd roo-logger
# Install dependencies
npm install
# Build
npm run build
ローカルビルドを使用する設定例:
{
"mcpServers": {
"roo-activity-logger": {
"command": "node",
"args": ["/path/to/your/local/roo-logger/dist/index.js"], // adjust path accordingly
"env": {},
"disabled": false
}
}
}
注意事項
- 指定したディレクトリが存在しない場合は、自動的に作成されます。
MCP ツール
log_activity — アクティビティを記録する
アクティビティを記録するツールです。
基本的な例
{
"type": "command_execution",
"summary": "Run npm command",
"intention": "Update project dependencies",
"context": "Preparing for new feature development",
"logsDir": "/absolute/path/to/logs/activity"
}
パラメーター
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
type | はい | 文字列 | アクティビティの種類(command_execution、code_generation、file_operation、error_encountered、decision_made、conversation) |
summary | はい | 文字列 | アクティビティの簡単な概要 |
intention | はい | 文字列 | 目的または意図 |
context | はい | 文字列 | コンテキスト情報 |
logsDir | はい | 文字列 | 保存先ディレクトリ(絶対パスのみ) |
level | いいえ | 文字列 | ログレベル(debug、info、warn、error)。デフォルト:info |
details | いいえ | オブジェクト | 追加の詳細(任意の JSON) |
parentId | いいえ | 文字列 | 親アクティビティ ID |
sequence | いいえ | 数値 | シーケンス番号 |
relatedIds | いいえ | 文字列[] | 関連するアクティビティ ID |
詳細な例
{
"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 — 保存済みログファイルの一覧表示
保存済みログファイルを再帰的に一覧表示します。最大検索深度を指定できます。
基本的な例
{
"logsDir": "/absolute/path/to/logs"
}
パラメーター
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
logsDir | はい | 文字列 | 検索するディレクトリ(絶対パスのみ) |
limit | いいえ | 数値 | 取得するファイルの最大数(デフォルト:10) |
offset | いいえ | 数値 | スキップするファイル数(デフォルト:0) |
logFilePrefix | いいえ | 文字列 | ログファイルのプレフィックス(デフォルト:"roo-activity-") |
logFileExtension | いいえ | 文字列 | ログファイルの拡張子(デフォルト:".json") |
maxDepth | いいえ | 数値 | ディレクトリの最大深度(デフォルト:3) |
search_logs — 保存済みログの検索
さまざまなフィルターを使用して保存済みログを検索します。
基本的な例
{
"logsDir": "/absolute/path/to/logs"
}
{
"logsDir": "/absolute/path/to/logs",
"type": "command_execution"
}
パラメーター
| 名前 | 必須 | 型 | 説明 |
|---|---|---|---|
logsDir | はい | string | ログディレクトリ(絶対パスのみ) |
logFilePrefix | いいえ | string | ログファイルのプレフィックス(デフォルト:"roo-activity-") |
logFileExtension | いいえ | string | ログファイルの拡張子(デフォルト:".json") |
type | いいえ | string | アクティビティの種類でフィルター(command_execution、code_generation、file_operation、error_encountered、decision_made、conversation) |
level | いいえ | string | ログレベルでフィルター(debug、info、warn、error) |
startDate | いいえ | string | 開始日(YYYY-MM-DD) |
endDate | いいえ | string | 終了日(YYYY-MM-DD) |
searchText | いいえ | string | 概要または詳細の検索テキスト |
limit | いいえ | number | 取得するログの最大数(デフォルト:50) |
offset | いいえ | number | スキップするログ数(デフォルト:0) |
parentId | いいえ | string | 親アクティビティ ID でフィルター |
sequenceFrom | いいえ | number | シーケンス番号の下限 |
sequenceTo | いいえ | number | シーケンス番号の上限 |
relatedId | いいえ | string | 関連するアクティビティ ID でフィルター |
relatedIds | いいえ | string[] | 関連するアクティビティ ID のいずれかでフィルター |
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。