mcpField
L
LogBook MCP

LogBook MCP

ローカル
github.com/cocaxcode開発ツール125 週間前に更新

LogBook MCP について

LogBook MCPは、ノート、TODO、リマインダーを記録する開発者向けのログブック型MCPサーバーです。現行版はObsidianへの保存に対応し、コード内TODOの検出や全文検索、一括操作も行えます。

主な機能

  1. 01ノートの記録とTODO管理
  2. 02単発・定期リマインダーの作成
  3. 03コード内TODOコメントの検出
  4. 04全文検索と一括操作
  5. 05Gitプロジェクトごとの記録管理

活用シーン

  1. 01プロジェクトの決定事項や障害を記録
  2. 02プロジェクト別にTODOを整理・追跡
  3. 03タスク確認の定期リマインダーを設定
  4. 04過去のノートやTODOを検索

MCP 対応

MCPサーバーとして、ログ、TODO、リマインダー、検索、プロジェクト記録の管理ツールと、リマインダーリソースを互換クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cocaxcode-logbook": {
"command": "npx",
"args": [
"-y",
"@cocaxcode/logbook-mcp"
]
}
}
}
起動コマンドnpx -y @cocaxcode/logbook-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@cocaxcode/logbook-mcp0.8.11

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

@cocaxcode/logbook-mcp

開発者のログブックを、いつでも一文で。
メモ · TODO · リマインダー · コードスキャン · 全文検索 · ネイティブ CLI · Obsidian 専用

npm バージョン npm ダウンロード数 ライセンス Node 5 + 5 個(非推奨)

⚠️ v2.0 の破壊的変更: SQLite を削除しました。v2 は Obsidian バックエンドのみをサポートします。~/.logbook/logbook.db(v1)のデータは自動的には移行されず、ディスク上にそのまま残ります。データへのアクセスが必要な場合は、@cocaxcode/[email protected] を引き続きご利用ください。ツールは 10 個から 5 個に減りました(非推奨のシム付き)。詳細は CHANGELOG.md をご覧ください。

概要 · 使い方 · インストール · 機能 · ツールリファレンス · ストレージ · アーキテクチャ


概要

logbook-mcp は、AI アシスタントを永続的な開発者向けログブックに変える MCP サーバーです。意思決定を記録し、TODO を追跡し、リマインダーを設定し、コード内の TODO をスキャンして、エディターを離れることなく全文検索ですべてを検索できます。

git プロジェクトを自動検出し、すべてをローカルに保存します。また、Claude Code、Claude Desktop、Cursor、Windsurf、VS Code、Codex CLI、Gemini CLI など、あらゆる MCP 対応クライアントで動作します。すべてのデータはお使いのマシンに保存されます。同期も追跡もされず、ディスクの外に持ち出されることもありません。 メモはプロジェクトごとに自動的に分類されますが、いつでもすべてのプロジェクトを対象に横断検索できます。

ストレージモードは 2 種類です。SQLite(デフォルト、設定不要)または Obsidian(frontmatter 付きの Markdown ファイル。Obsidian の Vault で Graph View、Dataview、Tasks、Calendar とともに表示できます)。SQLite から Obsidian に切り替えると、起動時にデータが自動移行されます。


話しかけるだけ

覚える必要のあるコマンドはありません。必要なことを伝えるだけです。

メモを記録する
"I decided to use JWT instead of sessions for scalability"
→ Saved as a decision — retrievable months from now

"The CI is failing due to a timeout in integration tests"
→ Captured as a blocker — shows up when you review activity
TODO を追跡する
"TODO: implement email validation"
→ Created with auto-inferred topic

"Add these: fix token refresh. update deps. add rate limiting"
→ 3 TODOs created at once, each categorized

"Mark 5 and 8 as done"
→ Both completed

"What's pending across all projects?"
→ Global view of everything, including code TODOs
リマインダーを設定する
"Remind me tomorrow to deploy"
→ One-time reminder

"Remind me every Tuesday to review PRs"
→ Recurring weekly — auto-acknowledged after each session

"Remind me on weekdays to check the CI"
→ Monday to Friday
何でも検索する
"Why did we choose JWT?"
→ Finds the decision note, even months later

"Search everything about auth"
→ FTS5 search across all notes and TODOs

インストール

Claude Code(推奨)
claude mcp add --scope user logbook -- npx -y @cocaxcode/logbook-mcp@latest --mcp

Obsidian モードを使用する場合:

claude mcp add --scope user logbook -- npx -y @cocaxcode/logbook-mcp@latest --mcp --storage obsidian --dir "/path/to/vault/logbook"
Claude Desktop

claude_desktop_config.json に追加します。

{
  "mcpServers": {
    "logbook-mcp": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/logbook-mcp@latest", "--mcp"]
    }
  }
}

Obsidian モードを使用する場合:

{
  "mcpServers": {
    "logbook-mcp": {
      "command": "npx",
      "args": [
        "-y", "@cocaxcode/logbook-mcp@latest", "--mcp",
        "--storage", "obsidian",
        "--dir", "/path/to/vault/logbook"
      ]
    }
  }
}
設定ファイルの場所
  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
Cursor、Windsurf、VS Code、Codex CLI、Gemini CLI

Cursor — .cursor/mcp.json に追加します。

{
  "mcpServers": {
    "logbook-mcp": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/logbook-mcp@latest", "--mcp"]
    }
  }
}

Windsurf — .windsurf/mcp.json に追加します。

{
  "mcpServers": {
    "logbook-mcp": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/logbook-mcp@latest", "--mcp"]
    }
  }
}

VS Code — .vscode/mcp.json に追加します。

{
  "servers": {
    "logbook-mcp": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/logbook-mcp@latest", "--mcp"]
    }
  }
}

Codex CLI:

codex mcp add logbook-mcp -- npx -y @cocaxcode/logbook-mcp@latest --mcp

Gemini CLI — .gemini/settings.json に追加します。

{
  "mcpServers": {
    "logbook-mcp": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/logbook-mcp@latest", "--mcp"]
    }
  }
}

設定

logbook-mcp では、ストレージを次の優先順位で設定する 3 つの方法があります。

  1. CLI 引数(最優先):--storage obsidian --dir "/path" --workspace "name"
  2. 環境変数:LOGBOOK_STORAGE、LOGBOOK_DIR、LOGBOOK_WORKSPACE
  3. 設定ファイル:~/.logbook/config.json(初回実行時に自動作成)
{
  "storage": "sqlite",
  "dir": null,
  "workspace": null,
  "autoMigrate": true
}
SQLite から Obsidian への切り替え

設定を変更して再起動するだけです。autoMigrate が true(デフォルト)の場合、既存の SQLite データは次回の起動時に自動的に Obsidian へ移行されます。手動での作業は必要ありません。

logbook_setup action:status で現在のステータスを確認することもできます。


機能

7 つの組み込みトピック

すべてのノート、TODO、リマインダーは AI によって自動的に分類されます。または、トピックを明示的に指定することもできます。

トピック用途Conventional Commits からのマッピング
feature新機能feat:
fixバグ修正fix:
choreメンテナンス、CI/CD、リファクタリングrefactor: docs: ci: build: test:
idea今後の提案—
decisionアーキテクチャの選択—
blocker進行を妨げているもの—
reminder時間ベースのリマインダー—

カスタムトピックはいつでも作成できます。「security という名前のトピックを作成して」と伝えるだけです。

タイプ、フォルダー、ダッシュボードを設定できるカスタムトピック

トピックでは、独自の動作(kind)、Obsidian フォルダー、プロジェクトダッシュボード(index.md)に表示するかどうかを定義できます。

  • kind: note(デフォルト)— 各エントリーは個別の .md ファイルです
  • kind: todo — エントリーは 1 つの .md ファイルにまとめられたチェックボックスです
  • show_in_index: true(デフォルト)— index.md に Dataview セクションとクイックリンクを追加します
  • show_in_index: false — トピックは存在しますが、ダッシュボードには表示されません
"Create a topic called incident with its own folder"
→ logbook_topics action:add name:"incident" kind:"note" folder:"incidents"
→ Entries saved to: project/incidents/2026-03-24-server-down.md
→ Dashboard updated with Incidents section

"Create a topic called sprint-task as todo type"
→ logbook_topics action:add name:"sprint-task" kind:"todo" folder:"sprint"
→ Entries saved to: project/sprint.md (as checkboxes)

"Create a private topic not shown in the dashboard"
→ logbook_topics action:add name:"internal" kind:"note" folder:"internal" show_in_index:false
→ Entries saved to: project/internal/ (not visible in index.md)

folder を指定しない場合、エントリーはデフォルトの notes/ または todos/ ディレクトリに保存されます。show_in_index: true と folder を設定したトピックを作成すると、ダッシュボード(index.md)が自動的に再生成されます。

コード内 TODO のスキャン

コード内の TODO、FIXME、HACK、BUG コメントは git grep で検出され、手動で登録した TODO とともに表示されます。

feature (2)
  [ ] #12 [manual] Implement email validation
      [code]  TODO: add OAuth support — src/auth/service.ts:45

fix (3)
  [ ] #8  [manual] Token doesn't refresh
      [code]  FIXME: handle null case — src/users/controller.ts:78
      [code]  BUG: race condition — src/chat/gateway.ts:112

コード内の TODO がソースからなくなると(修正された場合など)、logbook が自動的に検出して解決済みとしてマークします。

リマインダー

1 回限りのパターンと繰り返しのパターンの両方に対応しています。

パターン例スケジュール
1 回限りremind_at: "2026-03-25"3 月 25 日のみ
daily毎日毎日
weekdays月曜日から金曜日月〜金
weekly:2毎週火曜日曜日を指定
weekly:1,3月曜日と水曜日複数の曜日
monthly:1毎月 1 日日付を指定
monthly:1,151 日と 15 日複数の日付

繰り返しのリマインダーは、1 日に 1 回表示されると自動的に確認済みになります。見逃した 1 回限りのリマインダーは、期限超過として表示されます。

ヒント: logbook-mcp は MCP リソース(logbook://reminders)を公開しており、クライアントはセッション開始時に読み込むことができます。Claude Code と Claude Desktop では、リマインダーが確認を求めなくても自動的に表示されます。その他のクライアントでは、「リマインダーはある?」と伝えるだけです。

全文検索(FTS5)

SQLite FTS5 を利用して、すべてのノートと TODO をすばやく検索できます。トピック、タイプ、プロジェクトで絞り込むことも、すべてのプロジェクトを対象にグローバル検索することもできます。

バッチ操作
"Add: validate email. fix token. update deps"     → 3 TODOs created
"Mark 5, 8, and 12 as done"                       → 3 TODOs completed
"Delete TODOs 3 and 7"                             → 2 TODOs removed
スマートなプロジェクト検出

logbook-mcp は git rev-parse を使用して、現在いる git プロジェクトを自動検出します。設定は不要です。デフォルトでは現在のプロジェクトにクエリを絞り込みますが、global オプションですべてを確認できます。


ツールリファレンス

ツールアクション説明
logbook_note—トピックを指定してメモを追加
logbook_todoadd list done edit rmTODO の包括的な管理
logbook_entrylist edit delete standup decision debug構造化されたエントリー(ADR、デバッグセッション、スタンドアップ)
logbook_querysearch log timeline全文検索、アクティビティログ、プロジェクト横断タイムライン
logbook_topicslist addトピックの管理(カスタム種別、フォルダー、ダッシュボードでの表示設定)
logbook_tags—タグと件数の一覧表示
logbook_reminders—未対応のリマインダーを表示
logbook_review—統計情報付きの週次/月次レビュー
logbook_inboxlist processクイックメモの受信トレイ(Obsidian モード)
logbook_setupinit migrate status管理:Vault の初期化、データの移行、ステータスの確認
10 個のツール + 1 個のリソース
logbook_note — メモを追加
パラメーター型必須説明
contentstringはいメモの内容(最大 5000 文字)
topicstringいいえトピック名 — AI が推測します。新しい場合は自動作成されます
logbook_todo — TODO の包括的な管理

action: add — TODO を作成

パラメーター型説明
contentstring単一の TODO の内容(最大 2000 文字)
itemsarray複数の TODO:[{content, topic?, priority?, remind_at?, remind_pattern?}](最大 50 件)
topicstringトピック — 自動推測または自動作成
prioritylow normal high urgent優先度(デフォルト:normal)
remind_atYYYY-MM-DD1 回限りのリマインダー日付
remind_patternstring繰り返し:daily、weekdays、weekly:N、monthly:N

action: list — トピックごとにグループ化した TODO の一覧表示

パラメーター型デフォルト説明
statuspending done allpendingステータスで絞り込み
topicstring—トピックで絞り込み
prioritylow normal high urgent—優先度で絞り込み
sourceall manual codeall手動の DB またはコードコメント
scopeproject globalproject現在のプロジェクトまたはすべてのプロジェクト

action: done — 完了としてマーク/元に戻す

パラメーター型説明
idsnumber or number[]マークする ID
undobooleantrue の場合、未完了に戻します(デフォルト:false)

action: edit — TODO を編集

パラメーター型説明
idnumber編集する TODO の ID
contentstring新しい内容
topicstring新しいトピック
prioritylow normal high urgent新しい優先度

action: rm — TODO を削除

パラメーター型説明
idsnumber or number[]完全に削除する ID
logbook_entry — 構造化されたエントリー

action: standup — デイリースタンドアップ

パラメーター型必須説明
yesterdaystringはい昨日行ったこと
todaystringはい今日行うこと
blockersstringいいえ現在の阻害要因
topicstringいいえトピック

action: decision — アーキテクチャ決定記録(ADR)

パラメーター型必須説明
titlestringはい決定のタイトル
contextstringはいこの決定が必要な理由
optionsstring[]はい検討した選択肢
decisionstringはい採用した決定
consequencesstringはい決定による影響
topicstringいいえトピック(デフォルト:decision)

action: debug — デバッグセッション

パラメーター型必須説明
titlestringはいバグ/エラーのタイトル
errorstringはいエラーの説明
causestringはい根本原因
fixstringはい適用した解決策
filestringいいえ添付ファイルのパス
topicstringいいえトピック(デフォルト:fix)

action: list — 種類別にエントリーを一覧表示

パラメーター型デフォルト説明
typenote decision debug standup review—エントリーの種類(必須)
scopeproject globalproject現在のプロジェクトまたはすべて
limitnumber20最大結果数

action: edit / action: delete — ID を指定してエントリーを変更または削除

logbook_query — 検索とアクティビティ

action: search — 全文検索

パラメーター型デフォルト説明
querystring—検索テキスト(必須)
typeall notes todosall検索範囲
topicstring—トピックで絞り込み
scopeproject globalprojectプロジェクトまたはグローバル
limitnumber20最大結果数

action: log — 指定期間のアクティビティ

パラメーター型デフォルト説明
periodtoday yesterday week monthtoday日付のクイックフィルター
from / toYYYY-MM-DD—カスタム日付範囲
typeall notes todosall種類で絞り込み
scopeproject globalproject現在のプロジェクトまたはすべて

action: timeline — プロジェクト横断のタイムライン

パラメーター型デフォルト説明
periodtoday yesterday week monthweek期間
workspacestring—ワークスペースで絞り込み
logbook_setup — 管理ツール

action: status — 現在の設定と移行状態を表示

action: init — Obsidian の保管庫を初期化(ダッシュボード、テンプレート、受信トレイ)

パラメーター型デフォルト説明
forcebooleanfalseファイルがすでに存在する場合でも再生成

action: migrate — SQLite のデータを Obsidian に手動で移行(obsidian モードが必要)


ストレージ

SQLite モード(デフォルト)

すべてのデータは ~/.logbook/logbook.db にある単一の SQLite データベースに保存されます。設定は不要です。

  • WAL モードで同時読み取りに対応
  • FTS5 仮想テーブルによる高速な全文検索
  • トリガーにより検索インデックスを自動的に同期
  • コード TODO スナップショット — 存在していたコード内の TODO を追跡し、なくなったことを検出
Obsidian モード

Obsidian の保管庫に YAML フロントマター付きの Markdown ファイルを直接書き込みます。

CLI 引数(推奨)、設定ファイル、または環境変数で設定します。

# CLI args (most reliable, especially on Windows)
claude mcp add logbook -- npx -y @cocaxcode/logbook-mcp@latest --mcp --storage obsidian --dir "/path/to/vault/logbook"
// Config file: ~/.logbook/config.json
{
  "storage": "obsidian",
  "dir": "/path/to/vault/logbook",
  "autoMigrate": true
}

ファイルはワークスペース、プロジェクト、種類ごとに整理されます。

vault/logbook/
├── cocaxcode/
│   ├── cocaxcode-api/
│   │   ├── notes/          ← logbook_note
│   │   ├── todos/          ← logbook_todo
│   │   ├── decisions/      ← logbook_entry action:decision
│   │   ├── debug/          ← logbook_entry action:debug
│   │   ├── standups/       ← logbook_entry action:standup
│   │   └── attachments/    ← copied files
│   └── cocaxcode-web/
├── optimus/
│   └── optimus-hub/

各ファイルには、Obsidian プラグインからクエリ可能な YAML フロントマターが含まれます。

---
type: todo
date: 2026-03-21
project: cocaxcode-api
workspace: cocaxcode
status: pending
priority: high
due: 2026-03-25
tags: [auth, urgent]
---
- [ ] Fix JWT refresh token

おすすめの Obsidian プラグイン: Dataview(SQL のようなクエリ)、Calendar(日付表示)、Tasks(チェックボックス管理)、Graph View(組み込み機能。[[wikilinks]] によるつながりを表示)。

自動移行: SQLite から Obsidian に切り替えると、起動時に既存のデータが自動的に移行されます(autoMigrate: true の場合)。logbook_setup action:migrate を手動で実行することもできます。

ヒント: Self-hosted LiveSync と VPS 上の CouchDB を組み合わせると、PC、Android、iOS 間で保管庫を無料で同期できます。


アーキテクチャ

src/
├── index.ts              # Entry: --mcp → server, else CLI
├── server.ts             # createServer() — 10 tools + 1 resource
├── config.ts             # Config resolution (args > env > file > defaults)
├── auto-migrate.ts       # Auto SQLite → Obsidian migration on startup
├── cli.ts                # CLI (help, version)
├── types.ts              # Shared interfaces
├── storage/
│   ├── types.ts          # StorageBackend interface
│   ├── index.ts          # getStorage() factory (uses resolveConfig)
│   ├── sqlite/           # SQLite backend (wraps db/)
│   └── obsidian/         # Obsidian backend (markdown + frontmatter)
├── db/                   # SQLite internals
├── git/                  # Git repo detection + code TODO scanning
├── resources/            # MCP Resource: logbook://reminders
└── tools/                # 10 MCP tools (one file each)

スタック: TypeScript · MCP SDK · better-sqlite3 · Zod · tsup


MIT · cocaxcode によって作成

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。