Skip to main content

AI cross-context synchronization layer — shared knowledge base MCP server for Claude Code, Copilot, and Codex

Project description

kb

複数プロジェクト × 複数AIの共通コンテキスト基盤。ローカルMCPサーバーとして動作する。

技術スタック

  • Python + uv
  • MCP SDK(公式Python版)
  • Obsidian CLI 1.12+
  • git

Installation

Prerequisites

  • uv
  • Obsidian 1.12+ (CLI 有効化: Settings > General > Advanced > Command Line Interface)

1. Install

uv tool install kb-mcp

2. Setup

kb-mcp setup

対話形式で以下を設定:

  • Obsidian Vault のパス(新規作成 or 既存 Vault に統合)
  • タイムゾーン

設定は ~/.config/kb/config.yml に保存される。

3. MCP サーバー登録

使用する AI ツールに合わせて登録する。複数ツールから同じ kb-mcp を共有できる。

Claude Code

claude mcp add kb --scope user -- kb-mcp serve

Codex CLI

~/.codex/config.tomlCODEX_HOME 設定時はそちら)に追加:

[mcp_servers.kb]
command = "kb-mcp"
args = ["serve"]

GitHub Copilot CLI

~/.copilot/mcp-config.jsonCOPILOT_HOME 設定時はそちら)を作成(または追記):

{
  "mcpServers": {
    "kb": {
      "command": "kb-mcp",
      "args": ["serve"]
    }
  }
}

4. Hooks インストール(オプション)

kb-mcp install hooks --all                 # 全ツールの hook snippet / wrapper を用意
kb-mcp install hooks --claude --execute    # 可能なものは設定ファイルまで反映

5. 動作確認

kb-mcp doctor

データ配置

ノートはこのリポジトリには含まれない。kb-mcp setup で設定した Obsidian Vault に保存される。

<vault_path>/<kb_root>/
  projects/<project-name>/
    adr/            # 意思決定ログ
    gap/            # AI指摘 → 本当はどうしてほしかったか
    session-log/    # セッションログ
    knowledge/      # 開発中に得た知識
    draft/          # やりたいこと・アイデアメモ
  inbox/            # プロジェクトに紐づかないアイデア
  general/
    knowledge/      # プロジェクト横断の共通知見
    requirements/   # ユーザーがAIに求めることの集約

MCP Tools

tool 役割
kb_init プロジェクト初期化
kb_adr 意思決定ログ保存
kb_gap 反省記録保存
kb_knowledge 知識保存
kb_session セッションログ保存
kb_draft アイデア・やりたいことメモ
kb_search 検索
kb_read ノート読み込み
kb_lint ルール整合性チェック
kb_organize リンク候補の発見・提案
kb_graduate general/への昇格提案

CLI コマンド

コマンド 役割
kb-mcp setup 初期設定(Vault パス、タイムゾーン)
kb-mcp serve MCP サーバー起動
kb-mcp version 現在の kb-mcp バージョン表示
kb-mcp config get <key> 設定値取得
kb-mcp install hooks lifecycle hook の wrapper / snippet 生成
kb-mcp hook dispatch raw hook payload を durable event として取り込む
kb-mcp worker run-once due な sink を 1 回 drain する
kb-mcp worker replay-dead-letter dead-letter 化した sink を ready に戻す
kb-mcp worker cleanup-runtime 古い runtime artifact を削除する
kb-mcp session run launcher 管理下で AI セッションを起動する
kb-mcp doctor config, event DB, scheduler, hooks, judge/review runtime を診断する
kb-mcp judge review-candidates checkpoint window を judge して review 候補を生成する
kb-mcp judge accept <candidate-key> review 候補を accept する
kb-mcp judge reject <candidate-key> review 候補を reject する
kb-mcp judge relabel <candidate-key> --label <label> review 候補を別ラベルへ relabel する

バージョン確認:

kb-mcp --version
kb-mcp version

Hooks / Events

hook は直接ノートを書き込むのではなく、kb-mcp hook dispatch で event pipeline に入る。

流れ:

  1. client hook / launcher / middleware が raw event を送る
  2. dispatch が normalize + redact + SQLite 永続化を行う
  3. worker が checkpoint / candidate / promotion / finalizer 系 sink を処理する

hooks/on-session-end.sh は互換 shim として残しており、内部では dispatch を呼ぶ。

memory promotion の考え方:

  • 全 hook はまず checkpoint として保存する
  • gap / knowledge / adr が anchor になった時だけ rich session-log を昇格する
  • final_hint 付き checkpoint は thin session-log の区切り候補に使う

judge / review の流れ:

  1. kb-mcp judge review-candidates で checkpoint window を再読して候補を作る
  2. kb-mcp doctor で pending backlog / judge failure を確認する
  3. kb-mcp judge accept / reject / relabel で human verdict を review ledger に保存する

cross-client 前提:

  • Claude / Copilot / Codex の hook はすべて checkpoint 入力として扱う
  • vendor 固有 tool hook がなくても、server middleware event と checkpoint text から judge 入力を組み立てる

release 前の最小確認:

uv run python -m unittest tests.test_judge_cli tests.test_judge_review_cli tests.test_install_and_doctor tests.test_event_pipeline tests.test_judge_inputs tests.test_cli_version -v
python -m compileall src tests
uv build
kb-mcp doctor --no-version-check

ファイル命名

  • adr / gap / knowledge / draft: {slug}--{ULID}.md
  • session-log: {yyyymmdd-hhmm}--{ULID}.md

frontmatter

---
id: ULID
summary: 要約
ai_tool: claude | copilot | codex
ai_client: claude-code | copilot-cli | codex-cli  # optional
repo: github.com/owner/repo  # optional
tags: []                      # optional
related: []                   # optional
status: accepted              # ADR用 optional
created: YYYY-MM-DDTHH:MM+09:00
updated: YYYY-MM-DDTHH:MM+09:00
---

ライセンス

MIT

変更履歴

CHANGELOG.md を参照。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kb_mcp-0.6.1.tar.gz (120.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kb_mcp-0.6.1-py3-none-any.whl (81.6 kB view details)

Uploaded Python 3

File details

Details for the file kb_mcp-0.6.1.tar.gz.

File metadata

  • Download URL: kb_mcp-0.6.1.tar.gz
  • Upload date:
  • Size: 120.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kb_mcp-0.6.1.tar.gz
Algorithm Hash digest
SHA256 993f9ede287b2fed12e4f44b149980e993b65a2095134d7c9e9d982c988a2e24
MD5 9fb99e107bfd5f209e7386786c881ded
BLAKE2b-256 5232eae4ea30fdb5fbe5c88cc4faeee60caa21e7b8e59f7efcfc66953903485f

See more details on using hashes here.

Provenance

The following attestation bundles were made for kb_mcp-0.6.1.tar.gz:

Publisher: publish.yml on okash1n/kb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kb_mcp-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: kb_mcp-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 81.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for kb_mcp-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 507001efd766eeefa0c54e0993bd6310908d4ee792e051686621f99988bfd78b
MD5 facb8bbb5cf7dbdb588335ef27cb30e3
BLAKE2b-256 c5052ef15d29b9c0e92e0f58ad849a133bff9654cac9ba915855b259514df429

See more details on using hashes here.

Provenance

The following attestation bundles were made for kb_mcp-0.6.1-py3-none-any.whl:

Publisher: publish.yml on okash1n/kb

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page