@cocaxcode/logbook-mcp
Your developer logbook, always one sentence away.
Notes · TODOs · Reminders · Code scanning · Full-text search · Native CLI · Obsidian-only
⚠️ v2.0中断更改: SQLite已删除。V2只支持后台黑曜石。数据输入~/.logbook/logbook.db(v1) 不会自动迁移 -他们在迪斯科舞厅完好无损。如果您需要访问它们,请继续@cocaxcode/logbook-mcp@0.4.工具10→5 (不推荐使用垫片)。版本 更改日志.md 关于细节。
Overview · Usage · Installation · Features · Tool Reference · Storage · Architecture
______________________________________________________________________
快速概览
logbook mcp是一个mcp服务器,它将你的AI助手变成一个持久的开发人员日志。无需离开编辑器,即可捕获决策、跟踪TODO、设置提醒、扫描TODO代码并使用全文搜索搜索所有内容。
它可以自动检测您的git项目,在本地存储所有内容,并与任何兼容MCP的客户端配合使用:Claude Code、Claude Desktop、Cursor、Windsurf、VS Code、Codex CLI或Gemini CLI。 所有数据都保留在你的机器上——没有同步,没有跟踪,没有离开你的磁盘。 注释的范围会自动按项目确定,但您可以随时在所有项目中进行全局搜索。
两种存储模式: SQLite (默认,零配置)或 黑曜石 (带有frontmatter的标记文件,在您的黑曜石保管库中可见,带有图形视图、数据视图、任务和日历)。从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: 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 mcp add --scope user logbook -- npx -y @cocaxcode/logbook-mcp@latest --mcp使用黑曜石模式:
claude mcp add --scope user logbook -- npx -y @cocaxcode/logbook-mcp@latest --mcp --storage obsidian --dir "/path/to/vault/logbook"克劳德桌面
添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"logbook-mcp": {
"command": "npx",
"args": ["-y", "@cocaxcode/logbook-mcp@latest", "--mcp"]
}
}
}使用黑曜石模式:
{
"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 - 视窗:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
Cursor, Windsurf, VS Code, Codex CLI, Gemini CLI
光标 --添加到 .cursor/mcp.json:
{
"mcpServers": {
"logbook-mcp": {
"command": "npx",
"args": ["-y", "@cocaxcode/logbook-mcp@latest", "--mcp"]
}
}
}帆板运动 --添加到 .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 --mcpGemini CLI --添加到 .gemini/settings.json:
{
"mcpServers": {
"logbook-mcp": {
"command": "npx",
"args": ["-y", "@cocaxcode/logbook-mcp@latest", "--mcp"]
}
}
}______________________________________________________________________
配置
logbook mcp支持三种配置存储的方式,优先级顺序如下:
- CLI参数 (最高优先级):
--storage obsidian --dir "/path" --workspace "name" - 环境变量:
LOGBOOK_STORAGE,LOGBOOK_DIR,LOGBOOK_WORKSPACE - 配置文件:
~/.logbook/config.json(首次运行时自动创建)
{
"storage": "sqlite",
"dir": null,
"workspace": null,
"autoMigrate": true
}从SQLite切换到Obsidian
只需更改配置并重新启动。如果 autoMigrate 是 true (默认),您现有的SQLite数据将在下次启动时自动迁移到Obsidian。无需手动操作。
您还可以通过以下方式查看当前状态 logbook_setup action:status.
______________________________________________________________________
特性
7个内置主题
每条笔记、待办事项和提醒都会由您的AI自动分类,或者您可以明确指定一个主题。
| 主题 | 目的 | 从常规提交映射而来 |
|---|---|---|
| 特征 | 新功能 | feat: |
| 修复 | Bug修复 | fix: |
| 杂务 | 维护、CI/CD、重构 | refactor: docs: ci: build: test: |
| 想法 | 今后的建议 | -- |
| 决定 | 架构选择 | -- |
| 阻塞器 | 阻碍进展的事情 | -- |
| 提醒 | 基于时间的提醒 | -- |
自定义主题可以随时创建——只需说 *“创建一个名为安全性的主题”*.
自定义主题,包括类型、文件夹和仪表板
主题可以定义自己的行为(kind),黑曜石文件夹,以及它们是否出现在项目仪表板中(index.md):
- 种类:
note(默认)--每个条目都是单独的.md文件 - 种类:
todo--条目是合并中的复选框.md文件 - show_in_index:
true(默认)--添加数据视图部分和快速链接index.md - 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)没有a folder,条目将变为默认值 notes/ 或 todos/ 目录。仪表板(index.md)当主题包含以下内容时,会自动重新生成 show_in_index: true 和 folder 创建。
代码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从源代码中消失时(因为您修复了它),日志会自动检测到它并将其标记为已解决。
提醒事项
支持一次性和重复模式:
| 模式 | 示例 | 时间表 |
|---|---|---|
| 一次 | remind_at: "2026-03-25" | 仅3月25日 |
daily | 每天 | 每天 |
weekdays | 周一至周五 | 周一至周五 |
weekly:2 | 每周二 | 一周中的特定日子 |
weekly:1,3 | 周一和周三 | 多日 |
monthly:1 | 每月1日 | 每月的特定日期 |
monthly:1,15 | 第1天和第15天 | 多天 |
重复提醒每天显示一次后会自动确认。错过的一次性提醒显示为过期。
提示: 日志mcp公开了mcp资源(logbook://reminders)客户端可以在会话启动时加载。在Claude Code和Claude Desktop中,提醒会自动出现,无需询问。在其他客户中,只需说 *“有什么提醒吗?”*.全文搜索(FTS5)
由SQLite FTS5提供支持,可立即搜索所有笔记和待办事项。按主题、类型、项目筛选,或在所有项目中全局搜索。
批量操作
"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项目 git rev-parse无需配置——默认情况下,它将查询范围限定在当前项目,并使用 global 选择查看所有内容。
______________________________________________________________________
工具参考
| 工具 | 操作 | 描述 |
|---|---|---|
logbook_note | -- | 添加带有可选主题的注释 |
logbook_todo | add list done edit rm | 全面TODO管理 |
logbook_entry | list edit delete standup decision debug | 结构化条目(ADR、调试会话、站立) |
logbook_query | search log timeline | 全文搜索、活动日志、跨项目时间线 |
logbook_topics | list add | 管理主题(自定义类型、文件夹、仪表板可见性) |
logbook_tags | -- | 列出带有计数的标签 |
logbook_reminders | -- | 查看待处理的提醒 |
logbook_review | -- | 每周/每月查看统计数据 |
logbook_inbox | list process | 快速笔记收件箱(黑曜石模式) |
logbook_setup | init migrate status | 管理员:热库、迁移数据、检查状态 |
| 10个工具+1个资源 |
logbook_note — Add a note
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
content | string | 是 | 注释内容(最多5000个字符) |
topic | string | 否 | 主题名称——AI推断,如果是新的,则自动创建 |
logbook_todo — Full TODO management
动作: add — 创建全部
| 参数 | 类型 | 描述 |
|---|---|---|
content | string | 单个TODO内容(最多2000个字符) |
items | array | 多个TODO: [{content, topic?, priority?, remind_at?, remind_pattern?}] (最多50个) |
topic | string | 主题--自动推断或自动创建 |
priority | low normal high urgent | 优先级(默认:正常) |
remind_at | YYYY-MM-DD | 一次性提醒日期 |
remind_pattern | string | 重复: daily, weekdays, weekly:N, monthly:N |
动作: list --按主题分组列出TODO
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
status | pending done all | pending | 按状态筛选 |
topic | string | -- | 按主题筛选 |
priority | low normal high urgent | -- | 按优先级筛选 |
source | all manual code | all | 手动数据库或代码注释 |
scope | project global | project | 当前项目或全部 |
动作: done --标记为已完成/撤消
| 参数 | 类型 | 描述 |
|---|---|---|
ids | 数字或数字\[\] | 要标记的ID |
undo | boolean | 如果为true,则设置回待定(默认值:false) |
动作: edit -编辑TODO
| 参数 | 类型 | 描述 |
|---|---|---|
id | number | 要编辑的TODO ID |
content | string | 新内容 |
topic | string | 新主题 |
priority | low normal high urgent | 新优先级 |
动作: rm --删除待办事项
| 参数 | 类型 | 描述 |
|---|---|---|
ids | number或number\[\] | 要永久删除的ID |
logbook_entry — Structured entries
动作: standup --每日站立
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
yesterday | string | 是 | 昨天做了什么 |
today | string | 是 | 今天要做什么 |
blockers | string | 否 | 当前阻止程序 |
topic | string | 否 | 主题 |
动作: decision --架构决策记录(ADR)
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
title | string | 是 | 决策标题 |
context | string | 是 | 为什么需要这个决定 |
options | string\[\] | 是 | 考虑的选项 |
decision | string | 是 | 已作出决定 |
consequences | string | 是 | 决定的后果 |
topic | string | 否 | 主题(默认:决策) |
动作: debug --调试会话
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
title | string | 是 | 错误/错误标题 |
error | string | 是 | 错误描述 |
cause | string | 是 | 根本原因 |
fix | string | 是 | 已应用解决方案 |
file | string | 否 | 附件路径 |
topic | string | 否 | 主题(默认:修复) |
动作: list --按类型列出条目
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
type | note decision debug standup review | -- | 条目类型(必填) |
scope | project global | project | 当前项目或全部 |
limit | number | 20 | 最大结果 |
动作: edit / 动作: delete --按ID修改或删除条目
logbook_query — Search and activity
动作: search --全文搜索
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
query | string | -- | 搜索文本(必填) |
type | all notes todos | all | 搜索范围 |
topic | string | -- | 按主题筛选 |
scope | project global | project | 项目或全球 |
limit | number | 20 | 最大结果 |
动作: log --一段时间的活动
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
period | today yesterday week month | today | 快速日期过滤器 |
from / to | YYYY-MM-DD | -- | 自定义日期范围 |
type | all notes todos | all | 按类型筛选 |
scope | project global | project | 当前项目或全部 |
动作: timeline --跨项目时间表
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
period | today yesterday week month | week | 时间范围 |
workspace | string | -- | 按工作区筛选 |
logbook_setup — Admin tools
动作: status --显示当前配置和迁移状态
动作: init --初始化黑曜石保管库(仪表板、模板、收件箱)
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
force | boolean | false | 即使文件存在也重新生成 |
动作: migrate --手动将SQLite数据迁移到黑曜石(需要黑曜岩模式)
______________________________________________________________________
存储
SQLite模式(默认)
所有数据都存储在一个SQLite数据库中 ~/.logbook/logbook.db.零配置。
- WAL模式 用于并发读取
- FTS5 用于即时全文搜索的虚拟表
- 触发器 自动保持搜索索引同步
- 对TODO快照进行编码 --跟踪TODO存在的代码,检测它们何时消失
黑曜石模式
使用YAML frontmatter将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/每个文件都有黑曜石插件可以查询的YAML frontmatter:
---
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推荐黑曜石插件: 数据视图(类似SQL的查询)、日历(日期视图)、任务(复选框管理)、图形视图(内置,通过以下方式显示连接 [[wikilinks]]).
自动迁移: 从SQLite切换到Obsidian时,启动时会自动迁移现有数据(如果 autoMigrate: true).你也可以跑步 logbook_setup action:migrate 手动。
提示: 与…结合 自托管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-splite3·Zod·tsup
______________________________________________________________________
