Logbook Mcp

io.github.cocaxcode由 GitHub 帳號 cocaxcode 發布v0.8.11更新於 Oct 24, 2026

Developer logbook MCP server. Notes, TODOs, standups, decisions, debug sessions, reminders.

概覽

AI 產生的概覽

本機開發者日誌 MCP 伺服器,讓助理依 git 專案記錄筆記、待辦、決策、除錯紀錄、站立會議與提醒,並可全文檢索。

可以做什麼
  • 新增筆記,管理待辦(新增、列出、完成、編輯、刪除、批次操作)
  • 記錄結構化條目:站立會議、架構決策與除錯工作階段
  • 全文搜尋筆記與待辦,檢視活動日誌與跨專案時間軸
  • 管理主題、列出標籤、檢視待處理提醒,產生每週或每月回顧
  • 透過 git grep 掃描程式碼中的 TODO、FIXME、HACK、BUG 註解並追蹤其消失
  • 管理儲存:初始化 Obsidian 儲存庫、遷移資料、檢視狀態
適用情境
適合希望助理跨工作階段保留依專案劃分的決策、待辦與提醒紀錄,並在數月後仍能回想當時原因的情境。面向在 git 儲存庫中工作、希望資料全部留在本機(可選擇以 markdown 寫入 Obsidian 儲存庫)的開發者。
執行需求
透過 npm 套件以 stdio 在本機執行,需要 Node.js 與 npx。依賴 git 儲存庫自動辨識目前專案。儲存可透過命令列參數、LOGBOOK_STORAGE、LOGBOOK_DIR、LOGBOOK_WORKSPACE 環境變數或設定檔設定。Obsidian 模式需指定儲存庫目錄路徑。不需帳號或 API 金鑰。
安裝前請注意
助理可以寫入、編輯並永久刪除筆記、待辦與條目,初始化時也可能重新產生儲存庫檔案。2.0 版不再支援 SQLite,且不會自動遷移舊資料庫中的資料;舊資料仍留在磁碟上,需使用 0.4 版套件存取。Obsidian 模式會寫入你指定的目錄中的 markdown 檔案,建議指向專用資料夾。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Logbook Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

@cocaxcode/logbook-mcp

Your developer logbook, always one sentence away.
Notes · TODOs · Reminders · Code scanning · Full-text search · Native CLI · Obsidian-only

[npm version] [npm downloads] [License] [Node] [5 + 5 deprecated]

⚠️ v2.0 breaking change: SQLite eliminado. v2 sólo soporta backend Obsidian. Datos en ~/.logbook/logbook.db (v1) no se migran automáticamente — quedan intactos en disco. Si necesitas acceso a ellos, mantente en @cocaxcode/[email protected]. Tools 10→5 (con shims deprecated). Ver CHANGELOG.md para detalles.

Overview · Usage · Installation · Features · Tool Reference · Storage · Architecture


Quick Overview

logbook-mcp is an MCP server that turns your AI assistant into a persistent developer logbook. Capture decisions, track TODOs, set reminders, scan code TODOs, and search everything with full-text search — without leaving your editor.

It auto-detects your git project, stores everything locally, and works with any MCP-compatible client: Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Codex CLI, or Gemini CLI. All data stays on your machine — nothing is synced, nothing is tracked, nothing leaves your disk. Notes are scoped per-project automatically, but you can search globally across all your projects at any time.

Two storage modes: SQLite (default, zero config) or Obsidian (markdown files with frontmatter, visible in your Obsidian vault with Graph View, Dataview, Tasks, and Calendar). Switching from SQLite to Obsidian auto-migrates your data on startup.


Just Talk to It

No commands to memorize. Just say what you need.

Capture notes

"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

Track TODOs

"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

Set reminders

"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

Search anything

"Why did we choose JWT?"→ Finds the decision note, even months later
"Search everything about auth"→ FTS5 search across all notes and TODOs

Installation

Claude Code (recommended)

bash
claude mcp add --scope user logbook -- npx -y @cocaxcode/logbook-mcp@latest --mcp

With Obsidian mode:

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

Claude Desktop

Add to your claude_desktop_config.json:

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

With Obsidian mode:

json
{  "mcpServers": {    "logbook-mcp": {      "command": "npx",      "args": [        "-y", "@cocaxcode/logbook-mcp@latest", "--mcp",        "--storage", "obsidian",        "--dir", "/path/to/vault/logbook"      ]    }  }}
Config file locations
  • 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 — add to .cursor/mcp.json:

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

Windsurf — add to .windsurf/mcp.json:

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

VS Code — add to .vscode/mcp.json:

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

Codex CLI:

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

Gemini CLI — add to .gemini/settings.json:

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

Configuration

logbook-mcp supports three ways to configure storage, with this priority order:

  1. CLI args (highest priority): --storage obsidian --dir "/path" --workspace "name"
  2. Environment variables: LOGBOOK_STORAGE, LOGBOOK_DIR, LOGBOOK_WORKSPACE
  3. Config file: ~/.logbook/config.json (auto-created on first run)
json
{  "storage": "sqlite",  "dir": null,  "workspace": null,  "autoMigrate": true}

Switching from SQLite to Obsidian

Just change the config and restart. If autoMigrate is true (default), your existing SQLite data is automatically migrated to Obsidian on the next startup. No manual steps needed.

You can also check the current status with logbook_setup action:status.


Features

7 built-in topics

Every note, TODO, and reminder is categorized automatically by your AI, or you can specify a topic explicitly.

TopicPurposeMapped from conventional commits
featureNew functionalityfeat:
fixBug fixesfix:
choreMaintenance, CI/CD, refactoringrefactor: docs: ci: build: test:
ideaFuture proposals—
decisionArchitecture choices—
blockerThings blocking progress—
reminderTime-based reminders—

Custom topics can be created at any time — just say "create a topic called security".

Custom topics with type, folder, and dashboard

Topics can define their own behavior (kind), Obsidian folder, and whether they appear in the project dashboard (index.md):

  • kind: note (default) — each entry is an individual .md file
  • kind: todo — entries are checkboxes in a consolidated .md file
  • show_in_index: true (default) — adds a Dataview section and quick link to index.md
  • show_in_index: false — topic exists but is hidden from the dashboard
"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)

Without a folder, entries go to the default notes/ or todos/ directory. The dashboard (index.md) is auto-regenerated when a topic with show_in_index: true and folder is created.

Code TODO scanning

Your TODO, FIXME, HACK, and BUG comments are detected via git grep and shown alongside manual TODOs:

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

When a code TODO disappears from source (because you fixed it), logbook detects it automatically and marks it as resolved.

Reminders

Both one-time and recurring patterns are supported:

PatternExampleSchedule
One-timeremind_at: "2026-03-25"March 25 only
dailyEvery dayEvery day
weekdaysMonday to FridayMon–Fri
weekly:2Every TuesdaySpecific day of week
weekly:1,3Monday and WednesdayMultiple days
monthly:11st of each monthSpecific day of month
monthly:1,151st and 15thMultiple days

Recurring reminders auto-acknowledge after being shown once per day. One-time reminders that were missed show as overdue.

Tip: logbook-mcp exposes an MCP Resource (logbook://reminders) that clients can load on session start. In Claude Code and Claude Desktop, reminders appear automatically without asking. In other clients, just say "any reminders?".

Full-text search (FTS5)

Search across all notes and TODOs instantly, powered by SQLite FTS5. Filter by topic, type, project, or search globally across all projects.

Batch operations

"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

Smart project detection

logbook-mcp auto-detects which git project you're in via git rev-parse. No config needed — it scopes queries to the current project by default, with a global option to see everything.


Tool Reference

ToolActionsDescription
logbook_note—Add a note with optional topic
logbook_todoadd list done edit rmFull TODO management
logbook_entrylist edit delete standup decision debugStructured entries (ADRs, debug sessions, standups)
logbook_querysearch log timelineFull-text search, activity log, cross-project timeline
logbook_topicslist addManage topics (custom kind, folder, dashboard visibility)
logbook_tags—List tags with counts
logbook_reminders—View pending reminders
logbook_review—Weekly/monthly review with stats
logbook_inboxlist processQuick notes inbox (Obsidian mode)
logbook_setupinit migrate statusAdmin: init vault, migrate data, check status
10 tools + 1 resource
logbook_note — Add a note
ParamTypeRequiredDescription
contentstringYesNote content (max 5000 chars)
topicstringNoTopic name — AI infers it, or auto-created if new
logbook_todo — Full TODO management

action: add — Create TODOs

ParamTypeDescription
contentstringSingle TODO content (max 2000 chars)
itemsarrayMultiple TODOs: [{content, topic?, priority?, remind_at?, remind_pattern?}] (max 50)
topicstringTopic — auto-inferred or auto-created
prioritylow normal high urgentPriority (default: normal)
remind_atYYYY-MM-DDOne-time reminder date
remind_patternstringRecurring: daily, weekdays, weekly:N, monthly:N

action: list — List TODOs grouped by topic

ParamTypeDefaultDescription
statuspending done allpendingFilter by status
topicstring—Filter by topic
prioritylow normal high urgent—Filter by priority
sourceall manual codeallManual DB or code comments
scopeproject globalprojectCurrent project or all

action: done — Mark as done / undo

ParamTypeDescription
idsnumber or number[]ID(s) to mark
undobooleanIf true, sets back to pending (default: false)

action: edit — Edit a TODO

ParamTypeDescription
idnumberTODO ID to edit
contentstringNew content
topicstringNew topic
prioritylow normal high urgentNew priority

action: rm — Delete TODOs

ParamTypeDescription
idsnumber or number[]ID(s) to delete permanently
logbook_entry — Structured entries

action: standup — Daily standup

ParamTypeRequiredDescription
yesterdaystringYesWhat was done yesterday
todaystringYesWhat will be done today
blockersstringNoCurrent blockers
topicstringNoTopic

action: decision — Architecture Decision Record (ADR)

ParamTypeRequiredDescription
titlestringYesDecision title
contextstringYesWhy this decision is needed
optionsstring[]YesOptions considered
decisionstringYesDecision taken
consequencesstringYesConsequences of the decision
topicstringNoTopic (default: decision)

action: debug — Debug session

ParamTypeRequiredDescription
titlestringYesBug/error title
errorstringYesError description
causestringYesRoot cause
fixstringYesSolution applied
filestringNoAttachment path
topicstringNoTopic (default: fix)

action: list — List entries by type

ParamTypeDefaultDescription
typenote decision debug standup review—Entry type (required)
scopeproject globalprojectCurrent project or all
limitnumber20Max results

action: edit / action: delete — Modify or remove entries by ID

logbook_query — Search and activity

action: search — Full-text search

ParamTypeDefaultDescription
querystring—Search text (required)
typeall notes todosallSearch scope
topicstring—Filter by topic
scopeproject globalprojectProject or global
limitnumber20Max results

action: log — Activity for a period

ParamTypeDefaultDescription
periodtoday yesterday week monthtodayQuick date filter
from / toYYYY-MM-DD—Custom date range
typeall notes todosallFilter by type
scopeproject globalprojectCurrent project or all

action: timeline — Cross-project timeline

ParamTypeDefaultDescription
periodtoday yesterday week monthweekTime range
workspacestring—Filter by workspace
logbook_setup — Admin tools

action: status — Show current configuration and migration state

action: init — Initialize Obsidian vault (dashboard, templates, inbox)

ParamTypeDefaultDescription
forcebooleanfalseRegenerate even if files exist

action: migrate — Manually migrate SQLite data to Obsidian (requires obsidian mode)


Storage

SQLite mode (default)

All data lives in a single SQLite database at ~/.logbook/logbook.db. Zero config.

  • WAL mode for concurrent reads
  • FTS5 virtual tables for instant full-text search
  • Triggers keep search indexes in sync automatically
  • Code TODO snapshots — tracks which code TODOs existed, detects when they disappear

Obsidian mode

Writes markdown files with YAML frontmatter directly to your Obsidian vault.

Configure via CLI args (recommended), config file, or env vars:

bash
# 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"
json
// Config file: ~/.logbook/config.json{  "storage": "obsidian",  "dir": "/path/to/vault/logbook",  "autoMigrate": true}

Files are organized by workspace, project, and type:

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/

Each file has YAML frontmatter that Obsidian plugins can query:

yaml
---type: tododate: 2026-03-21project: cocaxcode-apiworkspace: cocaxcodestatus: pendingpriority: highdue: 2026-03-25tags: [auth, urgent]---- [ ] Fix JWT refresh token

Recommended Obsidian plugins: Dataview (SQL-like queries), Calendar (date view), Tasks (checkbox management), Graph View (built-in, shows connections via [[wikilinks]]).

Auto-migration: When switching from SQLite to Obsidian, existing data is migrated automatically on startup (if autoMigrate: true). You can also run logbook_setup action:migrate manually.

Tip: Combine with Self-hosted LiveSync + CouchDB on your VPS to sync your vault across PC, Android, and iOS for free.


Architecture

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)

Stack: TypeScript · MCP SDK · better-sqlite3 · Zod · tsup


MIT · Built by cocaxcode

來源:README.md,提交 5926443

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.8.11最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分