Konbu について
Konbuは、メモ、ToDo、カレンダーの予定、テーブルをまとめて検索できるセルフホスト可能な個人向けプランナーです。内蔵のMCPサーバーとCLIを通じて、AIクライアントやスクリプトからデータを操作できます。
主な機能
- 01プランナーデータの横断検索
- 02メモ、ToDo、予定の管理
- 03BYOKまたは無料枠でのAIチャット
- 04iCalのインポートとデータのエクスポート
活用シーン
- 01メモ、タスク、予定を一度に検索
- 02AIクライアントから予定項目を追加・更新
- 03カレンダーとToDoを一つのノートブックで管理
MCP 対応
Konbuは、単独のSQLiteモードまたはKonbuサーバーへの接続モードで動作するMCPサーバーを内蔵しています。MCPクライアントからデータを検索・管理でき、接続モードではタグ、添付ファイル、AIチャットも利用できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
konbu
AI 執事が管理する、あなただけのデジタルプランナー。
CLI · MCP · セルフホスト可能 · AI ネイティブ
メモ、ToDo、スケジュール、テーブルをひとつのプランナーにまとめ、ひとつの場所から検索できるようにする Go バイナリです。AI が管理します。
Claude、Cursor、または任意の MCP クライアントを接続して、データを活用できます。
日本語 | 英語


試してみる
- クラウド -- konbu-cloud.codenica.dev ですぐに利用できます(無料、セットアップ不要)
- セルフホスト -- Docker を使って自分のサーバーで実行します(下記を参照)
konbu とは?
konbu はパーソナルデジタルプランナーです。システム手帳のようなプランナーをデジタル化したものです。メモ、ToDo、スケジュール、構造化テーブルをひとつのノートブックにまとめる、セルフホスト可能な Go バイナリで、AI 執事が管理し、単一の検索インターフェースからすべてを表示できます。あなただけのものです。外部と共有されることはありません。Notion、Todoist、Calendar の代替ではなく、ひとつの情報を探すために4つのアプリを検索する行為に取って代わるものです。
特長:
- ネイティブ MCP サーバー + CLI クライアント -- AI 執事(Claude / Cursor /任意の MCP クライアント)から、またはシェルやスクリプトから、2つの方法でプランナーを操作できます。
- リソース横断の全文検索 -- メモ、ToDo、イベント、構造化テーブルを一度のクエリで検索できます。これは中核となる UX であり、付随機能ではありません。
- 構造化テーブル(= table-memo、予定)-- 血圧、家計、在庫などを記録できます。Markdown では表現できませんが、テーブルなら可能です。
- BYOK AI チャット -- OpenAI / Anthropic の API キーを持ち込むか、付属の無料枠を利用できます。
- 個人利用を前提に設計 -- あなただけが使う、ひとつのノートブックです。外部から取り込み(Google Calendar)、外部に漏れることはありません。
- セルフホスト可能 -- Go バイナリひとつ、Docker Compose、またはホスト版を利用できます。
一日分の情報が4つのアプリに散らばっている状態を終わらせましょう。
機能
- リソース横断の全文検索 -- メモ、ToDo、イベント、構造化テーブルを一度のクエリで検索できます(中核となる UX)
- CLI と MCP サーバー -- CLI クライアントと MCP サーバーを内蔵しています。Claude や Cursor などの AI エージェントがデータを直接読み書きできます
- AI エージェントチャット -- 「買い物リストを ToDo に追加して」「明日の予定は?」などを自然言語で実行できます。BYOK に対応し、無料枠も含まれています
- メモ -- タグ付けとライブプレビューに対応した Markdown ノート
- ToDo -- 期限、タグ、メモを付けたタスクをその場で作成できます
- カレンダー -- イベントの CRUD と iCal インポートに対応した月表示(個人用、所有者のみ)
- 構造化テーブル(= table-memo、予定)-- 構造化データ(血圧、家計、在庫)を行 × 列で記録できます
- エクスポート/インポート -- JSON エクスポート、Markdown ZIP エクスポート、iCal インポート
- i18n -- 英語と日本語に対応
クイックスタート
cp .env.example .env
docker compose up -d
http://localhost:8080 を開き、アカウントを作成してください。開発用 Compose ファイルでは DEV_USER=dev@local が設定されており、登録を省略できます。
本番環境(Traefik 使用)
# Edit .env with real credentials and your domain
docker compose -f docker-compose.prod.yml up -d
ネイティブ(Docker なし)
# Prerequisites: Go 1.25+, Node.js 22+, PostgreSQL 16+
# Build frontend
cd web/frontend && npm ci && npm run build && cd ../..
# Build server
go build -o bin/server ./cmd/server
# Start (runs all SQL migrations automatically on boot)
DATABASE_URL="postgres://..." SESSION_SECRET="..." ./bin/server
設定
| 変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
DATABASE_URL | はい | -- | PostgreSQL 接続文字列 |
SESSION_SECRET | はい | dev fallback | セッション署名キー |
PORT | いいえ | 8080 | サーバーポート |
DEV_USER | いいえ | -- | このメールアドレスで自動ログインします(開発時のみ) |
OPEN_REGISTRATION | いいえ | -- | 誰でも登録できるようにするには true を設定します(Cloud 用) |
BASE_URL | いいえ | -- | OAuth コールバックに使用する公開アプリ URL |
GOOGLE_CLIENT_ID | いいえ | -- | Google OAuth ログインを有効にします |
GOOGLE_CLIENT_SECRET | いいえ | -- | Google OAuth ログインを有効にします |
WEBHOOK_SECRET | いいえ | -- | GitHub Sponsors の Webhook シークレット |
STRIPE_SECRET_KEY | いいえ | -- | Stripe のチェックアウトとサブスクリプション課金を有効にします |
STRIPE_WEBHOOK_SECRET | いいえ | -- | 受信する Stripe Webhook イベントを検証します |
STRIPE_PRICE_MONTHLY | いいえ | -- | 月額 Pro チェックアウトに使用する Stripe Price ID |
STRIPE_PRICE_YEARLY | いいえ | -- | 年額 Pro チェックアウトに使用する Stripe Price ID |
GITHUB_FEEDBACK_TOKEN | いいえ | -- | 匿名化されたフィードバック課題の作成に使用する GitHub トークン |
GITHUB_FEEDBACK_REPO | いいえ | -- | フィードバック課題の送信先リポジトリ(例:krtw00/konbu) |
GITHUB_FEEDBACK_LABELS | いいえ | -- | 転送されるフィードバック課題に追加する、カンマ区切りのラベル |
AI_ENCRYPTION_KEY | いいえ | -- | BYOK AI キーの暗号化に使用する 64 桁の 16 進数文字列 |
DEFAULT_AI_PROVIDER | いいえ | openai | サーバー側の無料枠 AI プロバイダー |
DEFAULT_AI_API_KEY | いいえ | -- | サーバー側の無料枠 AI キー |
DEFAULT_AI_ENDPOINT | いいえ | -- | 無料枠プロバイダーのエンドポイントを上書きします |
DEFAULT_AI_MODEL | いいえ | -- | 無料枠プロバイダーのモデルを上書きします |
R2_ACCESS_KEY_ID | いいえ | -- | 添付ファイルのアップロード認証情報 |
R2_SECRET_ACCESS_KEY | いいえ | -- | 添付ファイルのアップロード認証情報 |
R2_ENDPOINT | いいえ | Cloudflare R2 default | 添付ファイルのストレージエンドポイント |
R2_BUCKET | いいえ | konbu-attachments | 添付ファイルのストレージバケット |
R2_PUBLIC_URL | いいえ | -- | 添付ファイル用の任意の公開ベース URL |
SMTP_HOST | いいえ | -- | リマインダーメール用 SMTP リレーホスト(例:smtp-relay.brevo.com)。5 つすべての SMTP_* 変数が設定されていない場合、通知は無効になります。 |
SMTP_PORT | いいえ | -- | SMTP リレーポート(通常、STARTTLS では 587) |
SMTP_USERNAME | いいえ | -- | SMTP リレーのログイン名 |
SMTP_PASSWORD | いいえ | -- | SMTP リレーのパスワード/API キー |
SMTP_FROM | いいえ | -- | リマインダーメールの送信元アドレス |
NOTIFICATION_TICK_INTERVAL | いいえ | 1m | 通知の確認間隔(Go の期間。例:30s、2m) |
リマインダー/通知
上記の SMTP_* 変数がすべて設定されている場合、サーバーはプロセス内で単一の確認ループを起動し、今後のイベントや期限が到来した ToDo のリマインダーメールを送信します。各ユーザーは Settings(user_settings.notifications.enabled = true)で通知を有効にし、宛先メールアドレス、事前通知時間、期限時刻、タイムゾーンを変更できます。
通知はサーバー専用の機能です。API サーバープロセス内で実行され、PostgreSQL が必要です。MCP の --standalone モード(SQLite)ではリマインダーは送信されません。
Docker Compose(本番環境)の変数
| 変数 | 説明 |
|---|---|
POSTGRES_PASSWORD | PostgreSQL のパスワード |
KONBU_DOMAIN | Traefik TLS ルーティング用のドメイン |
CLI
CLI は、API 経由でリモートの konbu サーバーに接続するスタンドアロンのクライアントです。サーバーコードは CLI バイナリに含まれていません。
go install github.com/krtw00/konbu/cmd/konbu@latest
セットアップ
# Set environment variables (recommended: add to ~/.zshrc or ~/.bashrc)
export KONBU_API=https://konbu.example.com
export KONBU_API_KEY=your-api-key
# Or pass as flags
konbu --api https://... --api-key your-key memo list
Web UI の Settings > Security で API キーを生成します。
コマンド
すべてのコマンドは、機械可読な出力を得るための --json フラグに対応しています。
konbu memo list # List memos
konbu memo show <id> # Show memo content
konbu memo add "title" -c "content" # Create memo (-c - for stdin)
konbu memo edit <id> --title "new" # Update memo
konbu memo rm <id> # Delete memo
konbu todo list # List todos
konbu todo show <id> # Show todo details
konbu todo add "task" -t "tag1,tag2" # Create todo
konbu todo add "task" -d 2025-04-01 # Create with due date
konbu todo edit <id> --desc "notes" # Update todo
konbu todo done <id> # Mark done
konbu todo reopen <id> # Reopen
konbu todo rm <id> # Delete
konbu event list # List events
konbu event show <id> # Show event details
konbu event add "title" -s <RFC3339> # Create event
konbu event edit <id> --title "new" # Update event
konbu event rm <id> # Delete
konbu tag list # List tags
konbu tag rm <id> # Delete tag
konbu search "query" # Cross-search
konbu api-key list # List API keys
konbu api-key create "key-name" # Create API key
konbu api-key rm <id> # Delete API key
konbu export json -o backup.json # Export as JSON
konbu export markdown -o backup.zip # Export as Markdown ZIP
konbu import ical calendar.ics # Import iCal file
短縮 ID(先頭 8 文字)は、完全な UUID の代わりに使用できます。
MCP サーバー
konbu は、組み込みの MCP(Model Context Protocol)サーバーとして 2 つのモードで実行できます。用途に合ったモードを選んでください。
スタンドアロンモード(SQLite、サーバー不要)
konbu を Claude Desktop、Cursor、または任意の MCP クライアント向けのローカル MCP バックエンドとして使うだけなら、CLI をインストールして --standalone を付けて実行してください。PostgreSQL もウェブサーバーも API キーも不要です。すべてローカルの SQLite ファイルに保存されます。
go install github.com/krtw00/konbu/cmd/konbu@latest
konbu mcp --standalone
データはデフォルトで ~/.konbu/konbu.db に永続化されます。必要に応じて --db /path/to/db.sqlite で保存先を変更できます。
Claude Desktop(macOS では ~/Library/Application Support/Claude/claude_desktop_config.json、Windows では %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"konbu": {
"command": "konbu",
"args": ["mcp", "--standalone"]
}
}
}
Cursor では、同じ設定を ~/.cursor/mcp.json で指定できます(または設定 UI から設定できます)。
Docker
マルチアーキテクチャイメージ(linux/amd64、linux/arm64)が GitHub Container Registry に公開されています。ビルド手順は不要で、そのまま取得できます。
docker pull ghcr.io/krtw00/konbu-mcp:latest
再現可能な環境を構築するには、代わりにリリースタグを指定してください。例:docker pull ghcr.io/krtw00/konbu-mcp:v0.2.0。
次に、MCP クライアントからこのイメージを指定します。データは名前付きボリュームに永続化されます。
{
"mcpServers": {
"konbu": {
"command": "docker",
"args": ["run", "--rm", "-i", "-v", "konbu-data:/data", "ghcr.io/krtw00/konbu-mcp:latest"]
}
}
}
ソースからのビルドを希望する場合は、リポジトリのルートで docker build -f docker/Dockerfile.mcp -t konbu-mcp . を実行すると、同じイメージが生成されます(CGO 不使用、distroless の静的イメージ、約 22 MB)。
スタンドアロンモードでは、メモ/ToDo/カレンダーイベントの CRUD と、リソース横断検索を利用できます。タグ、添付ファイル、AI チャットはサーバー専用です(これらを利用するには、以下の接続モードを使用してください)。
接続モード(konbu サーバーに接続)
konbu サーバー(セルフホストまたは konbu Cloud)を実行している場合は、HTTP 経由で MCP サーバーを接続してください。タグ、添付ファイル、AI チャットを含むすべての機能を利用できます。
konbuCLI バイナリをインストールします(上記の CLI セクションを参照)- ウェブ UI の 設定 > セキュリティ で API キーを生成します
- MCP クライアントの設定に konbu を追加します。
{
"mcpServers": {
"konbu": {
"command": "konbu",
"args": ["mcp"],
"env": {
"KONBU_API": "http://localhost:8080",
"KONBU_API_KEY": "your-api-key"
}
}
}
}
使用例
MCP クライアントを再起動したら、自然言語で konbu を操作できます。
- 「明日の予定は何ですか?」
- 「来週の金曜日の午後 1 時に歯医者の予約を追加して」
- 「「買い物」タグを付けて、食料品を買う ToDo を作成して」
- 「先週の「会議」タグが付いたメモを見せて」
- 「「PR をレビューする」ToDo を完了にして」
API
ベースパス:/api/v1
| リソース | エンドポイント |
|---|---|
| 認証 | POST /auth/register、POST /auth/login、POST /auth/logout、GET /auth/setup-status、GET /auth/providers、GET /auth/google/login、GET /auth/google/callback |
| ユーザー | GET/PUT /auth/me、GET/PUT /auth/settings、POST /auth/change-password、POST /auth/delete-account |
| API キー | GET/POST /api-keys、DELETE /api-keys/:id |
| メモ | GET/POST /memos、GET/PUT/DELETE /memos/:id、GET/POST /memos/:id/rows、POST /memos/:id/rows/batch、GET /memos/:id/rows/export、PUT/DELETE /memos/:id/rows/:rowId |
| ToDo | GET/POST /todos、GET/PUT/DELETE /todos/:id、PATCH /todos/:id/done、PATCH /todos/:id/reopen |
| イベント | GET/POST /events、GET/PUT/DELETE /events/:id |
| カレンダー | GET/POST /calendars、GET/PUT/DELETE /calendars/:id(所有者のみ) |
| タグ | GET/POST /tags、PUT/DELETE /tags/:id |
| 検索 | GET /search?q=... |
| チャット | GET/POST /chat/sessions、GET/PUT/DELETE /chat/sessions/:id、POST /chat/sessions/:id/messages、GET/PUT /chat/config |
| 添付ファイル | POST /attachments、GET /attachments/* |
| エクスポート | GET /export/json、GET /export/markdown |
| インポート | POST /import/ical |
開発
# Start PostgreSQL
docker compose up -d postgres
# Frontend dev server
cd web/frontend && npm run dev
# Run server
DEV_USER=dev@local go run ./cmd/server
# Build CLI
go build -o bin/konbu ./cmd/konbu
# Run tests
go test ./...
cd web/frontend && npm test
cd web/frontend && npm run test:e2e
プロジェクト構成
cmd/
server/ # API server
konbu/ # CLI client
internal/
handler/ # HTTP handlers
service/ # Business logic
repository/ # DB access (sqlc)
middleware/ # Auth, logging
client/ # API client (used by CLI)
mcp/ # MCP server
web/frontend/ # React + Vite SPA
sql/ # Schema and migrations
docker/ # Dockerfile
ロードマップ
- ブラウザーのプッシュ通知によるリマインダー(
SMTP_*環境変数が設定されている場合、メールによるリマインダーはすでに利用できます) - モバイル UI の改善
- CI テストカバレッジ
- AI チャットの拡張(コンテキストの改善、新しいモデルのサポート)
スポンサー
konbu が役に立った場合は、プロジェクトへのスポンサーをご検討ください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。