Cursor-Mem Integration Skill
CursorからClaude-memを活用するスキル。Claude CodeとCursorで同じメモリデータベースを共有し、セッション間の知識を引き継ぎます。
🎯 使用場面
検索(読み取り)
- 過去の意思決定を確認: 「なぜこのアーキテクチャを選んだのか?」
- パターンの参照: 「以前はどのように実装したか?」
- バグ修正履歴: 「同様の問題を過去に解決したか?」
- 技術選定の理由: 「なぜこのライブラリを使っているのか?」
記録(書き込み)
- PMとしての判断をメモ: レビュー中の気付きや設計判断
- パターンの記録: 再利用可能なソリューション
- 引き継ぎ事項: 次のセッションやチームメンバーへの情報
- 学習事項: トラブルシューティングで得た知見
📋 利用可能なMCPツール
Cursor上でclaude-memのMCPツールを直接利用できます:
検索系
mcp__claude-mem__search: キーワードでメモリを検索
mcp__claude-mem__timeline: 時系列で記録を取得
mcp__claude-mem__get_recent_context: 最近の文脈を取得
mcp__claude-mem__get_observation: 特定の観測を取得
書き込み系
mcp__claude-mem__create_entities: 新しいエンティティを作成
mcp__claude-mem__create_relations: エンティティ間の関連を作成
mcp__claude-mem__add_observations: 観測を追加
🔧 セットアップ
1. MCPラッパースクリプトの配置
# harness リポジトリ内に claude-mem-mcp がインストールされている前提
# 絶対パスで参照
HARNESS_PATH="/path/to/claude-code-harness"
2. Cursor MCP設定
プロジェクトルートに .cursor/mcp.json を作成:
{
"mcpServers": {
"claude-mem": {
"type": "stdio",
"command": "/absolute/path/to/claude-code-harness/scripts/claude-mem-mcp"
}
}
}
⚠️ 重要: command には絶対パスを指定してください。
3. Cursor再起動
設定後、Cursorを再起動してMCPサーバーを認識させます。
💡 使い方の例
詳細な使用例は examples.md を参照してください。
基本的な検索
ユーザー: 「認証方式の選定理由を確認したい」
Cursor(Composer):
→ 直接 mcp__claude-mem__search を呼び出し(auto mode により自動有効化)
→ クエリ: "認証 JWT Supabase 選定理由"
→ 過去の決定記録(decisions)を取得
v2.1.7+: MCP auto mode がデフォルト有効のため、MCPSearch による事前検索は不要です。
気付きの記録
ユーザー: 「この実装パターンを記録しておいて」
Cursor(Composer):
→ 直接 mcp__claude-mem__add_observations を呼び出し
→ タイプ: pattern
→ タグ: source:cursor, review, best-practice
→ 内容: 実装パターンの説明
🏷️ タグ規約
Claude CodeとCursorで統一されたタグ体系を使用します:
| タグ | 用途 |
|---|
source:cursor | Cursorから記録された情報 |
source:claude-code | Claude Codeから記録された情報 |
type:decision | 意思決定の記録 |
type:pattern | 再利用可能なパターン |
type:bug | バグ修正の記録 |
type:review | レビューでの気付き |
type:handoff | 引き継ぎ事項 |
🔄 Claude Code との連携
データ共有
- Claude CodeとCursorは同じSQLiteデータベース(
~/.claude-mem/claude-mem.db)を使用
- WALモードで並行書き込みに対応
- リアルタイムでデータが共有される
推奨ワークフロー
- Cursor(PM役): 設計判断やレビュー結果を記録
- Claude Code(実装役): 過去の判断を参照しながら実装
- 双方向検索: どちらからでも過去の記録を検索可能
🔄 Claude Code 2.1.7+ 対応
MCP tool search の auto mode がデフォルト有効になりました。
変更点:
- MCPSearch による明示的なツール検索は不要
- MCP ツールは直接呼び出し可能
- 初回呼び出し時に自動的にツールが有効化される
互換性:
- Claude Code 2.1.6 以前: MCPSearch を先に実行
- Claude Code 2.1.7+: 直接呼び出し可能
⚠️ 注意事項
パフォーマンス
- 初回検索時はワーカー起動に2-3秒かかる場合があります
- 2回目以降はワーカーが常駐するため高速
セキュリティ
- メモリデータベースはローカル環境にのみ保存されます
- 機密情報を記録する場合は注意してください
トラブルシューティング
問題: MCPツールが認識されない
解決策:
.cursor/mcp.json のパスが正しいか確認
- スクリプトが実行可能か確認:
chmod +x scripts/claude-mem-mcp
- Cursorを再起動
問題: ワーカーが起動しない
解決策:
- ヘルスチェック:
curl http://127.0.0.1:37777/health
- 手動起動:
node ~/.claude/plugins/cache/thedotmack/claude-mem/*/scripts/worker-cli.js start
📚 参考資料
Referenced Files
The following files are referenced in this skill and included for context.
examples.md
# Cursor-Mem 使用例集
このドキュメントでは、CursorからClaude-memを活用する実践的な使用例を紹介します。
## 📖 目次
- [ユースケース1: 過去の決定を確認](#ユースケース1-過去の決定を確認)
- [ユースケース2: レビュー中の気付きを記録](#ユースケース2-レビュー中の気付きを記録)
- [ユースケース3: 引き継ぎ事項の記録](#ユースケース3-引き継ぎ事項の記録)
- [ユースケース4: パターンの検索と再利用](#ユースケース4-パターンの検索と再利用)
- [ユースケース5: バグ修正履歴の確認](#ユースケース5-バグ修正履歴の確認)
---
## ユースケース1: 過去の決定を確認
### シナリオ
認証方式の選定理由を確認したい。なぜJWTではなくSupabase Authを選んだのか?
### Cursor操作(Composer)
ユーザー: 「認証方式の選定理由を教えて」
Composer:
- MCPツール
mcp__claude-mem__search を使用
- パラメータ:
{
"query": "認証 JWT Supabase 選定",
"limit": 5
}
### 期待される結果
```json
{
"results": [
{
"id": 12345,
"type": "decision",
"content": "Supabase Authを採用。理由: RLSとの統合、セッション管理の簡素化、スケーラビリティ。JWT単体では認可ロジックが複雑化する懸念。",
"tags": ["auth", "decision", "supabase"],
"created_at": "2024-12-15T10:30:00Z"
}
]
}
フォローアップ
特定の観測IDで詳細を取得:
Composer:
MCPツール `mcp__claude-mem__get_observation` を使用
パラメータ: { "id": 12345 }
ユースケース2: レビュー中の気付きを記録
シナリオ
コードレビュー中に重要なパターンを発見。将来の参考のために記録しておきたい。
Cursor操作(Composer)
ユーザー: 「このRLSポリシーのパターンを記録しておいて」
Composer:
MCPツール `mcp__claude-mem__add_observations` を使用
パラメータ:
{
"observations": [
{
"type": "pattern",
"content": "RLSポリシーは常にuser_idで絞り込むパターンを採用。auth.uid() = user_id の条件を全テーブルに適用。",
"tags": ["source:cursor", "review", "pattern", "rls", "security"]
}
]
}
記録内容の例
| フィールド | 値 |
|---|
| type | pattern |
| content | RLSポリシーのベストプラクティス |
| tags | source:cursor, review, pattern, rls, security |
| timestamp | 自動記録 |
ユースケース3: 引き継ぎ事項の記録
シナリオ
PMとして作業完了後、実装担当(Claude Code)への引き継ぎ事項を記録。
Cursor操作(Composer)
ユーザー: 「バックエンドのエラーハンドリングを統一する必要があることを記録」
Composer:
MCPツール `mcp__claude-mem__create_entities` を使用
パラメータ:
{
"entities": [
{
"name": "backend-error-handling-todo",
"entityType": "task",
"observations": [
{
"type": "handoff",
"content": "バックエンドのエラーハンドリングを統一する必要あり。現在、APIルート毎に異なるエラーフォーマットが混在。標準化して503エラーの処理を改善。",
"tags": ["source:cursor", "handoff", "backend", "error-handling", "todo"]
}
]
}
]
}
Claude Code側での確認
# Claude Code で検索
mcp__claude-mem__search
→ query: "handoff backend error"
→ 引き継ぎ事項を取得
ユースケース4: パターンの検索と再利用
シナリオ
以前実装したフォームバリデーションのパターンを再利用したい。
Cursor操作(Composer)
ユーザー: 「フォームバリデーションのパターンを教えて」
Composer:
1. MCPツール `mcp__claude-mem__search` を使用
2. パラメータ:
{
"query": "form validation pattern best-practice",
"limit": 3
}
期待される結果
{
"results": [
{
"id": 23456,
"type": "pattern",
"content": "Zod + React Hook Form パターン: スキーマ定義を共有し、フロント/バックで再利用。zodResolver でバリデーションロジックを統一。",
"tags": ["pattern", "validation", "zod", "react-hook-form"],
"files": ["src/schemas/userSchema.ts", "src/hooks/useUserForm.ts"]
}
]
}
実装時の活用
- パターンを確認
- 関連ファイルを参照
- 同様のアプローチで新機能を実装
ユースケース5: バグ修正履歴の確認
シナリオ
類似のバグに遭遇。過去に同じ問題を解決していないか確認したい。
Cursor操作(Composer)
ユーザー: 「CORS エラーの過去の修正履歴を確認」
Composer:
MCPツール `mcp__claude-mem__search` を使用
パラメータ:
{
"query": "CORS error fix bug",
"limit": 5
}
期待される結果
{
"results": [
{
"id": 34567,
"type": "bug",
"content": "CORS エラー修正: Supabase の CORS 設定が不足。storage.buckets テーブルに allowed_origins を追加。",
"tags": ["bug", "cors", "supabase", "storage"],
"created_at": "2024-11-20T14:00:00Z",
"related_files": ["supabase/migrations/20241120_add_cors.sql"]
}
]
}
修正への活用
- 過去の修正内容を確認
- 関連ファイル(migration)を参照
- 同じアプローチを適用
🔄 統合ワークフロー例
PM(Cursor)→ 実装(Claude Code)の流れ
Step 1: Cursorでレビュー & 記録
# Cursor Composer
「このコンポーネントの設計パターンを記録」
→ mcp__claude-mem__add_observations
→ タグ: source:cursor, review, pattern, component
Step 2: Claude Codeで参照 & 実装
# Claude Code
「コンポーネント設計のパターンを確認」
→ mcp__claude-mem__search
→ query: "component pattern review"
→ Cursorで記録されたパターンを取得
→ 同じパターンで実装
Step 3: 実装完了を記録
# Claude Code
実装完了後、自動で記録
→ mcp__claude-mem__add_observations
→ タグ: source:claude-code, implementation, complete
Step 4: Cursorで検証
# Cursor Composer
「実装状況を確認」
→ mcp__claude-mem__timeline
→ 最近の実装記録を時系列で取得
💡 ベストプラクティス
タグの付け方
| 状況 | 推奨タグ |
|---|
| Cursorから記録 | source:cursor |
| 設計判断 | type:decision, design |
| レビュー結果 | type:review, code-quality |
| 実装パターン | type:pattern, best-practice |
| バグ修正 | type:bug, fix |
| 引き継ぎ | type:handoff, todo |
検索のコツ
- 具体的なキーワード:
"auth JWT" より "auth supabase jwt decision" の方が精度が高い
- タグフィルタ: 検索後にタグで絞り込み
- 時系列検索:
timeline ツールで最近の記録を取得
- 関連ファイル: ファイルパスで関連する記録を発見
記録のコツ
- Why を記録: 「何をしたか」より「なぜそうしたか」を重視
- タグを充実: 将来の検索性を高める
- 関連ファイルを紐付け: 実装との結び付きを明確に
- 定期的な整理: 重要な記録にマーカーを付ける
🔗 関連リソース