Skip to main content
Glama

book-notes-mcp

A knowledge base that manages business book notes in structured YAML, allowing AI agents to search and reference them via an MCP server.

Features

  • Zero dependency on LLM APIs ($0/month)

  • Security design based on public GitHub repositories

  • Japanese/English full-text search using SQLite FTS5

  • Accessible by AI agents via 7 MCP Tools


Quick Start

git clone https://github.com/YOUR_NAME/book-notes-mcp
cd book-notes-mcp
npm ci --ignore-scripts

# インデックスを構築
npm run index build

# Claude Desktop に MCP サーバーを登録
# ~/.config/claude/claude_desktop_config.json に追記:
{
  "mcpServers": {
    "book-notes": {
      "command": "npx",
      "args": ["tsx", "/path/to/book-notes-mcp/mcp-server/src/index.ts"],
      "env": { "DB_PATH": "/path/to/book-notes-mcp/books.db" }
    }
  }
}

Usage

1. Structure your book notes

# inbox/ に走り書きを置く(gitignore対象)
cp your-notes.md inbox/

# 手元の AI CLI で YAML を生成
cat prompts/structure.md inbox/your-notes.md | claude > books/your-book-author-2024.yaml

# 検証・整形
npm run validate -- books/your-book-author-2024.yaml
npm run format -- books/your-book-author-2024.yaml

# インデックス更新
npm run index build

2. CLI Commands

npm run validate -- books/           # スキーマ検証
npm run validate -- books/ --strict  # 引用文字数エラーも検出
npm run format -- books/             # YAML 整形
npm run index build                  # SQLite インデックス構築
npm run check-refs                   # connections の参照整合性チェック

3. MCP Tools

Tool

Description

list_books

List books with filters

get_book

Get details for a single book

search_books

Full-text search (title, author, summary)

search_highlights

Cross-reference search for highlights

search_concepts

Cross-reference search for concepts

find_connections

Related book graph (depth 1 or 2)

get_actionable_insights

Extract actionable items


Book Entry YAML Format

Each YAML file in the books/ directory corresponds to one book.

Filename: {title-slug}-{author-family}-{year}.yaml (e.g., atomic-habits-clear-2018.yaml)

See schema/book-entry.schema.json for details.


Security

  • Raw notes in inbox/ are included in .gitignore (not included in public repositories)

  • Registry-level malicious package blocking via Takumi Guard (npm.flatt.tech)

  • All GitHub Actions pinned by commit SHA

  • MCP server uses stdio only; SQLite is read-only

See SECURITY.md for details.


License

Related MCP Connectors