Skip to content

原文(日本語に翻訳)

ツール検索が有効でプロンプトが起動引数として渡される場合に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ツールが検出されない場合、ツールが実行されないだけでなく、エラーが発生することもありました。この修正で両方の問題が解決されます。

関連情報