Kotsukotsu
Goal-based task manager for humans and AI. Read goals, add subtasks, report results.
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
claude mcp add --transport http kotsukotsu 'https://mcp.kotukotu.app/mcp'
{
"mcpServers": {
"kotsukotsu": {
"type": "http",
"url": "https://mcp.kotukotu.app/mcp"
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
こつこつ (kotsukotsu)
コツれば終わる。
ゴールを分ける。AI に任せる。人が決める。「やりたい」を「終わった」に変えていく、 人と AI のための実行管理アプリ。合同会社もちもつの自社プロダクト。
「何をやるか」ではなく「どのゴールの、どの完了基準を満たすためにやるか」から タスクを分解して積む。人と AI (Claude / MCP) が同じ画面を正のソースとして共有する。
ホスト版: https://kotukotu.app (合同会社もちもつが運営)
できること
- ゴールとタスクを AI が読み書きする: どのタスク (小タスク含む) にも「完了の基準」と「現状」(日付 / 済んだこと / ボール / 残り・詰まり) を持たせ、 AI が MCP で読んで、作業ステップを登録し、終わるたびに結果を書き戻す。進行中 (誰のどの AI が手を動かしているか) も出る
- AIで進める: タスクを開いて押すと、そのタスクの指示文が入った状態で Claude Code / Codex / claude.ai が開く。 スマホは指示文が落ちないようブラウザで開く版と、Claude アプリで開く版を選べる
- 連携ガイド (設定 → 連携ガイド): こつこつ本体は外部ツールと直接は繋がらない。Chatwork・Gmail・カレンダー・ドライブ・Notion・GitHub・Zoom は AI の側に繋ぎ、AI が読んで現状に書く。繋ぎ方・「AI にまとめて入れてもらう」(Claude Code に頼んで接続とプラグインを入れる)・ 「何を足すとよいか診断」のボタンと、使い方のコラム (/column) がある
- 型 (テンプレート): 必要な入力値 + 資料リンク + タスクの木を型にして、メンバーを選んで振ると新しいゴールごと丸ごと入る (/templates)。終えたゴールの「…」→「型にする」で作れる
型は仕事に要るナレッジの入口で、本文は持たない。資料 (やり方・実物・置き場所・情報源の URL と「何のために見るか」)・注意点・結んだ前例を持ち、
AI がタスクに入るとき (get_goal / start_task) と終えるとき (complete_subtask) に渡る。差し戻しが入ると AI が注意点を足して型が育つ (直した履歴から戻せる)。
KATA_GITHUB_REPO/KATA_GITHUB_TOKENを設定すると、型を直すたびに GitHub へ Markdown で書き出す (こつこつが止まっても型が残る) - 前例 (playbook): 終えたタスクのやり方を残すと、似たタスクに次の AI が取りかかるときに前例として渡る
- 通知・@メンション・コメント・ファイル添付・メンバーごとの担当範囲
アーキ
- フロント: Next.js 16 App Router + React 19 + Tailwind v4
- ホスト: Cloudflare Workers (
@opennextjs/cloudflare) - DB: Cloudflare D1 (
kotsukotsu-db) - ファイル: Cloudflare R2 (
kotsukotsu-files) - リアルタイム: 別 Worker (
realtime-worker/ Durable Object) - 認証: メール + パスワード。セッション Cookie
- Push: Web Push (VAPID)
- AI 連携:
mcp-workerが MCP サーバー。Claude からlist_goals/add_subtask/complete_subtask/send_chatなどを直接叩ける
ディレクトリ
.
├── app/
│ ├── api/ # ルートハンドラ (goals, templates, auth, chat, files, push, mcp-token ...)
│ ├── components/ # AppShell / RealtimeBridge / tasks (タスク画面の行) / goal (ゴール詳細の部品) ほか
│ ├── lib/
│ │ ├── db.ts # 画面とサーバーで共有する型
│ │ ├── addness.ts # 画面から /api を呼ぶ関数 (全部 api() 経由。失敗はバナーに出る)
│ │ ├── hosts.ts # Worker が動いている workers.dev のサブドメイン
│ │ └── server/ # サーバー側: queries/ (領域ごとの D1 読み書き)・auth・workspace・ratelimit・filesCore・templateCore・compare
│ ├── goals/ members/ notifications/ settings/ templates/ login/ reset/
│ └── page.tsx # タスク画面 (ツリー)
├── d1-migrations/ # 0001〜0026。D1 のスキーマはここが正。足すだけ (AGENTS.md)
├── mcp-worker/ # MCP サーバー (別 Worker)。src/tools/ に領域ごとのツール、lib.ts に共有部品、instructions.ts に運用ルール
├── realtime-worker/ # リアルタイム配信 (別 Worker)
├── node-server/ # Docker 版 (同じコードを SQLite + ディスクで動かす)
├── scripts/ # setup / update / security-smoke (自社環境への診断)
├── docs/ # 使い方ガイド・self-hosting・セキュリティ監査
└── wrangler.jsonc # D1 / R2 / vars バインディング
セットアップ
データベース・デプロイ先は、使う会社・人がそれぞれ自分の Cloudflare アカウントに作る。
npm run setup が D1 の作成からシークレット、3 つの Worker のデプロイまで1回でやる。
同じ名前の Worker・データベースが既にあれば上書きせずに止まる。
無料プランで動く。
git clone https://github.com/kurosaki-yuto/kotsukotsu.git
cd kotsukotsu
npm install
npm run setup -- --name acme-kotsukotsu # 名前は会社・チームごとに決める。終わると URL が出る
Claude Code などの AI に「立ち上げて」と頼めば、AGENTS.md の手順どおりに進めてくれる。
Cloudflare 以外 (AWS・Google Cloud・社内サーバーなど) で動かすときは Docker 版: npm run setup:docker (docs/self-hosting-docker.md)。
詳しくは docs/self-hosting.md (料金・あとから足せるもの・消し方・手で立ち上げる場合)。
ローカル開発:
npm run cf:typegen # バインディングの型を生成
npm run cf:migrate:local # ローカル D1 にマイグレーション適用
npm run dev # http://localhost:3939
キーバインド
| キー | 動作 |
|---|---|
Enter | 同階層に新規行 |
Tab | インデント |
Shift+Tab | アウトデント |
Cmd/Ctrl+Enter | 完了 (アーカイブ + 画面から消える) |
↑/↓ | 行間移動 |
Backspace (空行) | 行削除 |
Cmd/Ctrl+K | プロジェクト切替 |
iPhone は画面下部のツールバーから操作 (⇤ ⇥ +行 ✓完了)。PWA としてホーム画面に追加できる。
MCP (Claude 連携)
mcp-worker/ が MCP サーバー本体。設定と使えるツールの一覧は
mcp-worker/README.md を参照。接続トークンはアプリの設定画面から発行する
(/api/me/mcp-token)。
データバックアップ
wrangler d1 export kotsukotsu-db --remote --output backup-$(date +%F).sql
ライセンス
MIT © 合同会社もちもつ
Questions fréquentes
Qu'est-ce que Kotsukotsu ?
Goal-based task manager for humans and AI. Read goals, add subtasks, report results.
Comment installer Kotsukotsu ?
Il fonctionne comme serveur distant. Dans Claude Code : claude mcp add --transport http kotsukotsu 'https://mcp.kotukotu.app/mcp'. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour Kotsukotsu ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
Kotsukotsu est-il open source ?
Oui. Son code est sur GitHub sous licence MIT.
Qui maintient Kotsukotsu ?
Il est publié par kurosaki-yuto. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.