原文(日本語に翻訳)
ツール検索が有効でプロンプトが起動引数として渡される場合にMCPツールが検出されないバグを修正しました。
原文(英語)
Fixed bug where MCP tools were not discovered when tool search is enabled and a prompt is passed in as a launch argument
概要
claude -p "プロンプト" のようにプロンプトを起動引数として渡す(ヘッドレスモード)際に、ツール検索機能が有効になっている環境でMCPサーバーが提供するツールが検出・利用できない問題が修正されました。これにより、CI/CDパイプラインや自動化スクリプトからMCPツールを利用した処理が正常に動作するようになります。
基本的な使い方
この修正は自動的に適用されます。ヘッドレスモード(-p フラグ)でもMCPツールが正常に検出されます。
bash
# MCPサーバーが設定された環境でのヘッドレス実行
# 修正前: MCPツールが利用できなかった
# 修正後: MCPツールが正常に利用できる
claude -p "filesystemツールを使ってsrcディレクトリの構造を分析して"
# → filesystemサーバーのツールが正常に検出・使用される実践例
ユースケース1: CI/CDパイプラインでMCPツールを使用
自動化パイプラインでファイルシステムMCPサーバーを使用する場合。
bash
#!/bin/bash
# ci-with-mcp.sh
# MCPサーバーが設定された状態でヘッドレス実行
# v2.1.50以降: MCPツールが正常に検出される
claude -p "MCPのfilesystemツールを使って変更されたファイルを分析して" \
--no-interactive
# 以前は手動でMCPサーバーを明示的に指定が必要だったユースケース2: GitHub MCPサーバーを使った自動処理
bash
# GitHub MCPサーバーが設定された環境での自動処理
claude -p "GitHubのAPIを使って最新のオープンなPRをリストして、
それぞれのステータスを確認して" \
--no-interactive
# v2.1.50以降: GitHubのMCPツールが起動時から正常に利用可能ユースケース3: カスタムMCPサーバーのツールを自動化で使用
bash
# カスタムMCPサーバーで提供されるツールを使用
# .claude/settings.json でMCPサーバーが設定済み
claude -p "カスタムデータベースツールを使って
今日のログを解析してレポートを生成して" \
--output-format json \
> daily-report.json
# 修正前: カスタムMCPツールが検出されず、標準ツールのみで実行
# 修正後: カスタムMCPツールが正常に利用可能注意点
- この問題は「ツール検索(tool search)」が有効な環境でのみ発生していました。ツール検索が無効な場合は影響を受けていませんでした。
-pフラグ(--printモード)を使用したヘッドレス実行が対象です。インタラクティブモードでは問題が発生していませんでした。- MCPサーバーの設定が正しく行われていることが前提です。設定方法は変わりません。
- MCPツールが検出されない場合、ツールが実行されないだけでなく、エラーが発生することもありました。この修正で両方の問題が解決されます。