🚀 MCP Toolz
MCP Toolzは、Claude Codeセッション間でコンテキストやTODOを保存し、ChatGPT、Claude、Gemini、DeepSeekからフィードバックを得ることができるツールです。
🚀 クイックスタート
インストール
PyPIからのインストール(推奨)
pip install mcp-toolz
ソースからのインストール(開発用)
git clone https://github.com/taylorleese/mcp-toolz.git
cd mcp-toolz
python3 -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
設定
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...
export GOOGLE_API_KEY=...
export DEEPSEEK_API_KEY=sk-...
cp .env.example .env
MCPサーバーのセットアップ(推奨)
mcp-toolzを使用する主な方法は、Claude CodeのMCPサーバーを通じることです。
- Claude Codeの設定に追加(このJSONをClaude CodeのMCP設定に追加):
pipでインストールした場合:
{
"mcpServers": {
"mcp-toolz": {
"command": "python",
"args": ["-m", "mcp_server"],
"env": {
"OPENAI_API_KEY": "sk-...",
"ANTHROPIC_API_KEY": "sk-ant-...",
"GOOGLE_API_KEY": "...",
"DEEPSEEK_API_KEY": "sk-..."
}
}
}
}
ソースからインストールした場合:
{
"mcpServers": {
"mcp-toolz": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "/absolute/path/to/mcp-toolz",
"env": {
"PYTHONPATH": "/absolute/path/to/mcp-toolz/src"
}
}
}
}
-
APIキーを設定 - envセクション(pip)または.envファイル(ソース)にAPIキーを追加します。
-
Claude Codeを再起動 - MCPサーバーを読み込みます。
-
Claude CodeでMCPツールを使用:
- "Save this context about authentication"
- "Ask ChatGPT about the last context I saved"
- "Show my active todos"
- "Search contexts tagged with 'bug'"
すべてのMCPツールは自動的に使用可能です。詳細はMCP Server Toolsを参照してください。
✨ 主な機能
- 🔌 MCPサーバー:現在Claude Codeと連携しており、完全なツール統合が可能です。
- セッションの継続性:Claude Codeを再起動してもコンテキストを失うことがなく、「前のセッションで何を作業していたか」を復元できます。
- プロジェクトの整理:コンテキストとTODOは自動的にプロジェクトディレクトリごとに整理されます。
- セッションの追跡:各Claude Codeセッションには一意のIDが付与され、時間をかけて作業を追跡できます。
- AIフィードバック:ChatGPT(OpenAI)、Claude(Anthropic)、Gemini(Google)、DeepSeekからコードや決定に関するフィードバックを得ることができます。
- コンテキストの種類:会話、コードスニペット、アーキテクチャの提案、エラートレースなどを保存できます。
- 永続的なTODO:セッション間でTODOリストを保存して復元でき、作業を途中で忘れることがありません。
- 全文検索:内容、タグ、プロジェクト、またはセッションで任意のものを検索できます。
- CLI + MCP:Claude Code MCPツールまたはスタンドアロンのCLIコマンドを通じて使用できます。
📦 MCPサーバーツール
MCPサーバーは現在Claude Codeと連携しており、以下のツールを提供します。
コンテキストツール:
context_save - 新しいコンテキストを保存します(自動的にセッション情報が含まれます)。
context_search - クエリまたはタグで検索します。
context_get - IDで取得します。
context_list - 最近のものを一覧表示します。
context_delete - IDで削除します。
AIフィードバックツール:
ask_chatgpt - コンテキストについてChatGPTの分析を取得します(カスタム質問に対応)。
ask_claude - コンテキストについてClaudeの分析を取得します(カスタム質問に対応)。
ask_gemini - コンテキストについてGeminiの分析を取得します(カスタム質問に対応)。
ask_deepseek - コンテキストについてDeepSeekの分析を取得します(カスタム質問に対応)。
TODOツール:
todo_search - スナップショットを検索します。
todo_get - IDで取得します。
todo_list - 最近のものを一覧表示します。
todo_save - スナップショットを保存します。
todo_restore - アクティブ/特定のスナップショットを取得します。
todo_delete - IDで削除します。
セッション追跡:
MCPツールを通じてコンテキストを保存すると、自動的に以下のタグが付けられます。
- 現在のプロジェクトディレクトリ (
project_path)
- セッションID(Claude Codeセッションごとに一意)
- セッションタイムスタンプ(セッションが開始されたとき)
将来的に:ChatGPT DesktopがMCPサポートを追加したら、同じツールをそこでも使用できるようになります。
💻 使用例
Claude Codeでmcp-toolzを使用する実用的な例を以下に示します。
例1: アーキテクチャ決定について複数のAIの見解を得る
プロンプト:
I'm deciding between using Redis or Memcached for caching user sessions.
Save this as a context and ask ChatGPT for their analysis.
Use tags: caching, redis, memcached, architecture
動作:
- Claude Codeは
context_saveを使用してアーキテクチャの決定を保存します。
- 次に
ask_chatgptを使用してChatGPTの見解を取得します。
- 複数のAIの見解を比較して決定を下すことができます。
続きのプロンプト:
- "Ask Claude the same question for comparison"
- "Ask Gemini for another perspective"
- "What does DeepSeek think about this?"
- "Search my contexts tagged with 'architecture'"
例2: セッションの継続性 - 作業位置を失うことがない
プロンプト(作業セッションの終了時):
Save my current todo list so I can restore it tomorrow
動作:
- Claude Codeは
todo_saveを使用して現在の作業状態をスナップショットとして保存します。
- TODOはプロジェクトパスとタイムスタンプとともに保存されます。
翌日のプロンプト:
What was I working on yesterday? Restore my todos.
動作:
- Claude Codeは
todo_restoreを使用して最後のスナップショットを取得します。
- 作業を中断した正確な位置を表示します。
- すぐに作業を再開できます。
例3: 複数のAIの見解を用いたデバッグ
プロンプト:
I'm getting "TypeError: Cannot read property 'map' of undefined" in my React component.
The error occurs in UserList.jsx when rendering the users array.
Save this as an error context and ask ChatGPT, Claude, and Gemini for debugging suggestions.
Tags: react, debugging, javascript
動作:
- Claude Codeは
context_saveを使用してエラーを記録します。
ask_chatgptを使用してOpenAIのデバッグアプローチを取得します。
ask_claudeを使用してAnthropicの見解を取得します。
ask_geminiを使用してGoogleの分析を取得します。
- 複数のAIモデルからの異なるデバッグ戦略を比較できます。
続きのプロンプト:
- "Search for other contexts tagged with 'react' bugs"
- "Show me contexts from my last session"
例4: パフォーマンス最適化アイデアの追跡
プロンプト:
Save this performance optimization idea: "Lazy load images below the fold using
Intersection Observer API. Estimated 40% reduction in initial page load."
Type: suggestion, Tags: performance, optimization, images
動作:
- Claude Codeは
context_saveを使用してタイプを「suggestion」として保存します。
- コンテキストは検索可能で、現在のプロジェクトに関連付けられます。
- すべての将来のセッションで利用可能です。
後のプロンプト:
Search my contexts for performance optimization ideas
動作:
- Claude Codeは
context_searchを使用してクエリを実行します。
- セッション全体で一致するすべてのコンテキストを返します。
- 過去の最適化アイデアを確認できます。
例5: セッション間での知識共有
プロンプト(プロジェクトAで):
I figured out how to handle OAuth refresh tokens properly.
Save this so I can reference it in other projects:
"Store refresh tokens in httpOnly cookies, access tokens in memory only.
Rotate refresh tokens on each use. Set 7-day expiry on refresh, 15min on access."
Type: code, Tags: oauth, security, authentication
プロンプト(後にプロジェクトBで):
How did I implement OAuth refresh tokens in my last project?
Search for contexts about oauth and show me what I saved.
動作:
- Claude Codeは
context_searchを使用してOAuthの実装を検索します。
- プロジェクト間でコンテキストを取得します。
- 最初から始めることなく自分の知識を再利用できます。
エージェント間でのコンテキスト共有
mcp-toolzを使用すると、複数のClaude Codeセッションまたはエージェント間でコンテキストとTODOを簡単に共有できます。
MCPリソース(パッシブな発見)
Claude Codeは、MCPリソースを通じてコンテキスト/TODOを自動的に発見して読み取ることができます。
コンテキストリソース:
mcp-toolz://contexts/project/recent - 現在のプロジェクトの最近のコンテキスト
mcp-toolz://contexts/project/sessions - 現在のプロジェクトの最近のClaude Codeセッションのリスト
mcp-toolz://contexts/session/{session_id} - 特定のセッションからのすべてのコンテキスト
TODOリソース:
mcp-toolz://todos/recent - 最後の20個のTODOスナップショット(すべてのプロジェクト)
mcp-toolz://todos/active - 現在の作業ディレクトリのアクティブなTODO
セッション追跡:
各Claude Codeセッションには自動的に一意のセッションIDが付与されます。そのセッション中に保存されたすべてのコンテキストには以下のタグが付けられます。
session_id - Claude CodeセッションのUUID
session_timestamp - セッションが開始されたとき
project_path - コンテキストが作成されたディレクトリ
これにより、以前のセッションからのコンテキストを簡単に復元できます。例えば、"Show me what I was working on in my last session" というプロンプトを使用できます。
リソースは共有データベースへの読み取り専用ビューです。Claude Codeは明示的なツール呼び出しなしで自動的にそれらを発見できます。
共有データベースのセットアップ
デフォルトでは、mcp-toolzはすべてのデータを~/.mcp-toolz/contexts.dbに保存します。これは同じマシン上のすべてのプロジェクトで自動的に共有されます。追加の設定は必要ありません!
高度な使用例(Dropbox、iCloudなどを介して複数のマシン間で同期する場合):
- データベースの同期先を選択:
mkdir -p ~/Dropbox/mcp-toolz-shared
.envファイルまたはMCP設定を更新して同期されたデータベースを指すようにします。
MCP_TOOLZ_DB_PATH=~/Dropbox/mcp-toolz-shared/contexts.db
またはMCP設定で:
{
"mcpServers": {
"mcp-toolz": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "/absolute/path/to/mcp-toolz",
"env": {
"PYTHONPATH": "/absolute/path/to/mcp-toolz/src",
"MCP_TOOLZ_DB_PATH": "/Users/you/Dropbox/mcp-toolz-shared/contexts.db"
}
}
}
}
- Claude Codeを再起動 - これで同期されたデータベースの場所を使用するようになります。
仕組み
- コンテキスト:
project_pathごとに整理されます(各ディレクトリに独自のコンテキストがあります)。
- セッション追跡:コンテキストにはセッションIDとタイムスタンプが付けられ、簡単に復元できます。
- TODO:
project_pathごとに整理されます(各ディレクトリに独自のスナップショットがあります)。
- 単一のSQLiteデータベース:すべてのデータが1つのデータベースに保存され、プロジェクトとセッションでフィルタリングされます。
- 自動更新:あるセッションで行われた変更は他のセッションですぐに表示されます。
ユースケース
- 複数のマシン:ラップトップとデスクトップ間でコンテキストを同期します。
- セッションの継続性:Claude Codeを再起動した後に中断したところから作業を再開します。
CLIの使用(代替方法)
./mcp-toolz context save-and-query \
--type suggestion \
--title "Redis caching strategy" \
--content "Use Redis for session storage with 1-hour TTL" \
--tags "caching,redis"
./mcp-toolz todo save \
--todos '[
{"content":"Fix auth bug","status":"in_progress","activeForm":"Fixing auth bug"},
{"content":"Write tests","status":"pending","activeForm":"Writing tests"}
]' \
--context "Working on authentication"
./mcp-toolz context list
./mcp-toolz todo list
./mcp-toolz todo restore
コマンドリファレンス
コンテキストコマンド
./mcp-toolz context save-and-query \
--type <type> \
--title "Title" \
--content "..." \
--tags "tag1,tag2"
./mcp-toolz context save --type code --file path/to/file.py
./mcp-toolz context ask-chatgpt <context-id> [--question "Your question"]
./mcp-toolz context ask-claude <context-id> [--question "Your question"]
./mcp-toolz context list [--limit N] [--type TYPE]
./mcp-toolz context search "query"
./mcp-toolz context show <context-id>
./mcp-toolz context delete <context-id>
コンテキストの種類:
suggestion - アーキテクチャの決定、実装計画
code - コードスニペット、実装
conversation - 会話、質疑応答セッション
error - エラーメッセージ、スタックトレース、デバッグ
TODOコマンド
./mcp-toolz todo save \
--todos '[{"content":"...","status":"pending","activeForm":"..."}]' \
--context "What you're working on"
./mcp-toolz todo restore [<snapshot-id>]
./mcp-toolz todo list [--project-path PATH]
./mcp-toolz todo search "query"
./mcp-toolz todo show <snapshot-id>
./mcp-toolz todo delete <snapshot-id>
TODOのステータス: pending, in_progress, completed
ヘルプを取得
./mcp-toolz --help
./mcp-toolz context --help
./mcp-toolz todo --help
一般的なワークフロー
複数のAIの見解を得る
実装を評価する際に、異なるAIモデルからの洞察を比較します。
./mcp-toolz context save-and-query \
--type suggestion \
--title "Microservices vs Monolith for e-commerce" \
--content "Building platform with 5 services. Start microservices or monolith first?" \
--tags "architecture,scalability"
AIの応答はすぐにコンソールに表示されます。特定の質問をすることも、Claudeの見解を得ることもできます。
./mcp-toolz context ask-chatgpt <context-id> --question "What are the scalability concerns?"
./mcp-toolz context ask-claude <context-id>
./mcp-toolz context ask-claude <context-id> --question "How would you handle database migrations?"
2つの見解でデバッグする
./mcp-toolz context save-and-query \
--type error \
--title "CORS issue in production" \
--content "Error: blocked by CORS policy. Headers: ..." \
--tags "debugging,cors,production"
セッションの継続性
./mcp-toolz todo save \
--todos '[
{"content":"Implement login","status":"completed","activeForm":"Implementing login"},
{"content":"Add OAuth","status":"in_progress","activeForm":"Adding OAuth"},
{"content":"Write tests","status":"pending","activeForm":"Writing tests"}
]' \
--context "Day 2 of auth feature"
./mcp-toolz todo restore
Claude Codeセッション間で共有する
./mcp-toolz context save \
--type conversation \
--title "Performance optimization ideas" \
--content "..." \
--tags "performance"
./mcp-toolz context search "performance"
./mcp-toolz context show <context-id>
./mcp-toolz context ask-chatgpt <context-id> --question "What's the performance impact?"
./mcp-toolz context ask-claude <context-id> --question "Are there any security concerns?"
環境変数
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
DEEPSEEK_API_KEY=sk-...
MCP_TOOLZ_DB_PATH=~/.mcp-toolz/contexts.db
MCP_TOOLZ_MODEL=gpt-5
MCP_TOOLZ_CLAUDE_MODEL=claude-sonnet-4-5-20250929
MCP_TOOLZ_GEMINI_MODEL=gemini-2.0-flash-thinking-exp-01-21
MCP_TOOLZ_DEEPSEEK_MODEL=deepseek-chat
トラブルシューティング
"Error 401: Invalid API key"
.envファイルにAPIキーが設定されていることを確認してください(OPENAI_API_KEYおよび/またはANTHROPIC_API_KEY)。
- OpenAI/Anthropicアカウントで課金が有効になっていることを確認してください。
./mcp-toolzラッパーは自動的にシェル環境変数を解除して.envを使用します。
"No module named context_manager"
./mcp-toolzヘルパースクリプトを使用することをお勧めします。
- または、Pythonを直接実行する前に
PYTHONPATH=srcを設定します。
コマンドが見つからない
- 仮想環境をアクティブ化します:
source venv/bin/activate
- スクリプトを実行可能にします:
chmod +x mcp-toolz
TODOが復元されない
- 同じプロジェクトディレクトリにいることを確認してください。
./mcp-toolz todo listを使用してすべてのスナップショットを表示します。
- 特定のスナップショットを復元します:
./mcp-toolz todo restore <snapshot-id>
プロジェクト構造
mcp-toolz/
├── src/
│ ├── mcp_server/ # Claude Code用のMCPサーバー
│ │ └── server.py # MCPツールとリソース
│ ├── context_manager/ # CLIとストレージ
│ │ ├── cli.py # ClickベースのCLI
│ │ ├── storage.py # SQLite操作
│ │ ├── openai_client.py # ChatGPT APIクライアント
│ │ └── anthropic_client.py # Claude APIクライアント
│ └── models.py # Pydanticデータモデル
├── data/
│ └── contexts.db # SQLiteデータベース
├── requirements.txt
├── requirements-dev.txt
└── mcp-toolz # ヘルパースクリプト
開発
コントリビューター向けのセットアップ
git clone https://github.com/taylorleese/mcp-toolz.git
cd mcp-toolz
python3 -m venv venv
source venv/bin/activate
pip install -r requirements-dev.txt
pre-commit install
cp .env.example .env
テストの実行
source venv/bin/activate
pytest
コード品質
pre-commit run --all-files
black .
ruff check .
mypy src/
💡 使用アドバイス
- 説明的なタイトルを使用 - 後で検索が容易になります。
- 関連するタグを追加 - コンテキストの整理と検索に役立ちます。
- 内容を具体的に記述 - 詳細が多いほど、AIの応答が良くなります。
- AIの意見を比較 - 重要な決定についてChatGPTとClaudeの両方の見解を得ます。
- AIの提案をレビュー - それらは役立つ意見であり、ルールではありません。
- 定期的にTODOを保存 - セッションの終了時に保存する習慣をつけます。
📄 ライセンス
MIT