wasurenagusa-mcp

wasurenagusa-mcp

An MCP server that provides persistent memory for AI assistants by automatically recording and injecting project-specific rules, decisions, and configurations through session hooks. It utilizes Gemini to analyze conversations, manage token-efficient context, and perform autonomous background tasks like documentation updates.

Category
访问服务器

README

wasurenagusa-mcp

wasurenagusa(忘れな草) — 「私を忘れないで」という花言葉を持つ花。

Claude Code に記憶を与える MCP サーバー。同じミスは、もう繰り返さない。

「ポートは3000って言ったよね?」「さっき決めたでしょ?」

Claude Code との会話で、同じことを何度も説明した経験はありませんか。 wasurenagusa は、AI アシスタントに「記憶」を与える MCP サーバーです。 設定情報、やってはいけないこと、過去の決定事項を自動で記録・自動で注入。 あなたは普段通りに会話するだけ。裏側で LLM が会話を分析し、重要な情報を蓄積していきます。


wasurenagusa が解決する3つの「忘れる」

1. プロジェクトの知識

Claude Code はセッションが変わるたびに、すべてを忘れる。 API の URL、ポート番号、「ログを読んでから質問して」というルール、先週決めたアーキテクチャ。

wasurenagusa は Hooks 連携で完全自動化 されている。 セッション開始時に設定とルールが自動注入され、会話終了時に重要な情報が自動保存される。 ユーザーが手動で何かする必要は、一切ない。

2. ドキュメントの最新化

コードは毎日変わるのに、Spec ドキュメントは書いた日のまま放置される。 wasurenagusa は夜間にコード変更を検知し、ドキュメントを自動で更新する。

3. トークン枠を使い切り

Claude Code の 5 時間レート制限。寝ている間の枠は、普通なら無駄になる。 wasurenagusa のスケジューラは、アイドル時間を使って自律タスクを自動実行する。 Spec ドキュメントの更新、リファクタリング、テスト追加 ── task_submit で投入したタスクを Claude が 24/365 で処理し、LLM が完了条件を評価してリトライまでやる。


仕組み

[セッション開始]
    │  SessionStart Hook
    ▼
wasurenagusa-context 実行
  → config + dont を自動注入(設定・ルール・過去のミス)
    │
    ▼
[会話中] ─── AIが必要に応じて memory_search → memory_get_detail を自律呼び出し
    │
    ▼
[Claude 応答完了]
    │  Stop Hook
    ▼
wasurenagusa-analyze 実行
  → LLM で会話を自動分析
  → 重要情報を自動保存(怒り検知・リトライパターン検出含む)
  → 変更ファイルをログに記録(Spec 自動更新用)

ユーザーの操作: ゼロ。


他のメモリ MCP との違い

wasurenagusa 一般的なメモリ MCP
保存方式 LLM が会話を自動分析・自動保存 ユーザーが手動で保存指示
注入方式 SessionStart Hook で自動注入 毎回手動で読み込み指示
トークン効率 段階的開示で 70-90% 削減 全件フル返却でコンテキスト圧迫
感情検知 怒り・悲しみ・諦めを自動検出 なし
AI 自己学習 リトライパターンを自動検出・記録 なし
dont 統合 数十件 → 数個の原則に自動圧縮 エントリが増え続けてノイズ化

主要機能

自動記憶(Hooks 連携)

  • SessionStart Hook: セッション開始時に config(設定)と dont(やってはいけないこと)を自動注入
  • Stop Hook: 会話終了時に LLM で分析し、重要情報を自動保存

感情検知

ユーザーの怒り・悲しみ・失望・諦めを検知し、「❌何をした → 💡なぜダメか → ✅どうすべきか」の 3 点セットで記録。 テキストパターンだけでなく、メッセージ長の急減少やポジティブ反応の長期不在といったメタ情報でも検出する。

AI リトライパターン検出

同じ API を 3 回以上実行、同じエラーが 3 回以上発生 ── AI 自身の失敗パターンも自動で学習し、「正しいやり方」を記録する。

段階的開示(トークン最適化)

検索結果はインデックス(ID・タイトル・タグ)のみ返し、必要な項目だけフル取得する 2 段階設計。 従来の全件返却と比較して トークン消費を 70-90% 削減

重複検出

LLM ベースのセマンティック重複検出。同じテーマの新しい情報は既存エントリを自動で置換する。

dont 統合

dont エントリが増えすぎた場合、LLM で 5-6 個の行動原則に自動統合。 元エントリは保持したまま、コンテキスト注入サイズを 36KB → 3-4KB に圧縮する。

自律タスク実行

task_submit でタスクを投入すると、スケジューラが Claude CLI をサブプロセスとして起動し自動実行する。 LLM が実行結果を完了条件と照合し、未達ならリトライする。Spec 更新、リファクタリング、テスト追加など汎用的に使える。

Spec 自動更新(スケジューラ)

自律タスクの代表的なユースケース。夜間の 5 時間ウィンドウで、変更されたコードに対応する Spec ドキュメントを自動更新。 タスクがない場合は keep-alive ping でレート制限枠をリセットする。

Owner Profile

MCP サーバー初回起動時に .wasurenagusa/owner-profile.md が自動生成される。 優先順位、設計方針、コミュニケーションスタイルなど 20 の質問に答えておくと、AI が自律タスク実行時にその基準で判断する。


セットアップ

前提条件

  • Node.js 18+
  • Claude Code(CLI)
  • Gemini API キー(Google AI Studio で取得)

1. クローンとビルド

git clone git@github.com:tsutushi0628/wasurenagusa-mcp.git
cd wasurenagusa-mcp
npm install
npm run build

2. CLI コマンドを PATH に通す

npm link

これで wasurenagusa-contextwasurenagusa-analyzewasurenagusa-spec-update がグローバルに使えるようになる。

3. 環境変数の設定

cp .env.example .env

.env を編集:

GEMINI_API_KEY=your_gemini_api_key_here
MEMORY_DIR=.wasurenagusa
SLACK_WEBHOOK_URL=                    # オプション: Slack通知を有効にする場合
変数 必須 説明
GEMINI_API_KEY 必須 Gemini API キー
MEMORY_DIR 任意 メモリ保存先ディレクトリ(デフォルト: .wasurenagusa
SLACK_WEBHOOK_URL 任意 自律タスクの完了/失敗を Slack に通知

4. Claude Code に MCP サーバーを登録

claude mcp add wasurenagusa -- node /path/to/wasurenagusa-mcp/dist/index.js

5. Hooks の設定

~/.claude/settings.local.json(または プロジェクトの .claude/settings.local.json)に以下を追加:

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-context",
            "timeout": 5
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-analyze",
            "timeout": 30
          }
        ]
      }
    ]
  }
}

6. 動作確認

Claude Code を起動する。初回は .wasurenagusa/ ディレクトリが自動作成され、owner-profile.md のテンプレートが配置される。

.wasurenagusa/
├── owner-profile.md    ← 初回自動生成。編集するとAIの自律判断に反映
├── config.md           ← 会話から自動蓄積
├── dont.md             ← 会話から自動蓄積
├── decisions.md        ← 会話から自動蓄積
├── snippets.md         ← 会話から自動蓄積
└── logs/               ← 日付別ログ

最初の会話を終えると、Stop Hook が起動して LLM が会話を分析し、重要情報が自動保存される。 2 回目以降のセッションでは、蓄積された情報が SessionStart Hook で自動注入される。

重要: .wasurenagusa/ にはプロジェクト固有の記憶データが保存される。あなたのプロジェクトの .gitignore に追加しておくこと。

echo '.wasurenagusa/' >> .gitignore

7. (オプション)プロジェクト初期設定

自律タスク機能(Spec 自動更新など)を使う場合は、Claude Code 上で project_init ツールを実行する。 プロジェクトの品質基準・フェーズ・判断基準を選択式で登録できる。

8. (オプション)Spec 自動更新スケジューラ

夜間にドキュメントを自動更新するには、cron や launchd で wasurenagusa-spec-update を定期実行する。

# 例: 毎日深夜1時に実行(cron)
0 1 * * * cd /path/to/your-project && wasurenagusa-spec-update

メモリカテゴリ

カテゴリ 説明 保存先
config API URL、ポート番号、認証情報の場所 .wasurenagusa/config.md
dont やってはいけないこと、過去のミス .wasurenagusa/dont.md
decision 技術選定、アーキテクチャ決定 .wasurenagusa/decisions.md
log 実装完了、エラー解決の記録 .wasurenagusa/logs/YYYY-MM-DD.md
snippet よく使うコマンド、クエリ .wasurenagusa/snippets.md

MCP ツール

ツール名 実行方式 説明
memory_get_context AI 自律 config + dont を一括取得
memory_search AI 自律 軽量インデックス検索(ID・タイトル・タグのみ)
memory_get_detail AI 自律 指定 ID のフル詳細を取得
memory_save 手動(オプション) 明示的な記憶保存
memory_delete 手動 エントリ削除(ID 指定、複数一括可)
task_submit AI 自律 自律タスクの投入
task_status AI 自律 タスク状態の確認
task_action_list AI 自律 実行可能アクション一覧
project_init 手動 プロジェクト初期設定

CLI コマンド

コマンド 用途 呼び出し元
wasurenagusa-context config + dont をstdoutに出力 SessionStart Hook
wasurenagusa-analyze 会話を LLM 分析し自動保存 Stop Hook
wasurenagusa-spec-update Spec ドキュメント自動更新 cron / systemd timer

技術スタック

技術 用途
TypeScript 実装言語
MCP SDK (@modelcontextprotocol/sdk) MCP プロトコル
Gemini API (@google/generative-ai) 会話分析・重複検出・dont統合
Markdown ストレージ形式
STDIO トランスポート

ディレクトリ構成

wasurenagusa-mcp/
├── src/
│   ├── index.ts              # MCP サーバーエントリポイント
│   ├── config.ts             # 設定管理
│   ├── types.ts              # 型定義
│   ├── cli/
│   │   ├── context.ts        # SessionStart Hook 用 CLI
│   │   ├── analyze.ts        # Stop Hook 用 CLI
│   │   └── spec-update.ts    # Spec 自動更新 CLI
│   ├── tools/                # MCP ツール定義
│   ├── storage/              # Markdown ストレージ
│   ├── analyzer/             # Gemini 連携・会話分析
│   ├── autonomous/           # 自律タスク実行
│   ├── consolidator/         # dont 統合
│   ├── scheduler/            # Spec 更新スケジューラ
│   ├── notifier/             # Slack 通知
│   └── utils/                # ユーティリティ
├── prompts/                  # Gemini プロンプト(外部化)
├── docs/
│   └── spec.md               # 完全実装仕様書
├── .env.example
├── package.json
└── tsconfig.json

開発

# ビルド
npm run build

# テスト
npm test

# テスト(ウォッチモード)
npm run test:watch

設計思想

  • 自律自動が基本、手動はオプション — ユーザーに手動操作を強いない。Hooks で完全自動化
  • コンテキストを圧迫しない軽量設計 — 段階的開示で必要な情報だけ取得
  • プロンプト外部化prompts/ に LLM プロンプトをテキストファイルとして配置。デプロイなしで改善可能
  • ローカル実行 — セットアップ簡単。外部サービスは Gemini API のみ

ライセンス

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选