原文(日本語に翻訳)
未認証のclaude.ai MCPコネクターが「failed」ではなく「needs auth」として表示されるように修正し、ヘッドレス -p モードが一時的でない4xx接続エラーを再試行しないように修正しました。
原文(英語)
Fixed unauthorized claude.ai MCP connectors showing as 'failed' instead of 'needs auth', and headless -p mode retrying non-transient 4xx connection failures
概要
claude.aiのMCPコネクターで認証が必要な場合、以前は「failed」という一般的なエラーメッセージが表示されており、ユーザーは接続の失敗原因が認証不足なのか技術的なエラーなのかを判断できませんでした。また、ヘッドレスモード(-p フラグ)では、HTTP 4xxエラー(認証エラーなど永続的なエラー)に対しても不必要に再試行を繰り返していました。この修正により、エラー状態が明確に区別され、不要な再試行も排除されます。
基本的な使い方
/mcp コマンドでMCPコネクターの認証状態を確認できます。
/mcp
# 修正前の表示(わかりにくい)
# my-connector: failed
# 修正後の表示(認証が必要な場合)
# my-connector: needs auth ← 認証が必要であることが明確
# 認証完了後
# my-connector: connected · 5 tools実践例
claude.ai MCPコネクターの認証フロー
# 1. /mcpで状態を確認
/mcp
# 出力例(認証が必要な場合)
# claude-ai-connector: needs auth
# 2. 認証を実行
# /mcp auth <connector-name> を実行
/mcp auth claude-ai-connector
# 3. ブラウザが開き、認証フローが開始される
# claude.aiにログインして権限を承認
# 4. 認証完了後に再確認
/mcp
# claude-ai-connector: connected · 8 toolsヘッドレスモードでの4xxエラー処理
bash
# ヘッドレスモードでMCPコネクターを使用する例
claude -p "MCPサーバーのデータを取得して分析してください"
# 修正前: 4xxエラー(401 Unauthorized, 403 Forbidden等)でも再試行を繰り返した
# → タイムアウトまで待機してパフォーマンスが低下
# 修正後: 4xxエラーは永続的なエラーとして即座に失敗を返す
# → 迅速なエラーフィードバックと効率的な動作
# 認証エラーの場合のエラーメッセージ例(修正後)
# エラー: MCP接続に失敗しました。認証が必要です(401 Unauthorized)
# 解決方法: /mcp auth <connector-name> を実行して認証してくださいエラーコード別の対処方法
# 4xxエラーの種類と対処方法
# 401 Unauthorized → 認証が必要
# 対処: /mcp auth <connector-name> で認証
# 403 Forbidden → 権限不足
# 対処: MCPサーバーの管理者に権限付与を依頼
# 404 Not Found → エンドポイントが存在しない
# 対処: MCPサーバーのURLを確認
# 429 Too Many Requests → レート制限
# 対処: しばらく待ってから再試行(これは一時的なエラーのため再試行される)
# 5xxエラー → サーバーエラー(一時的)
# 対処: 自動再試行が行われるCI/CDでのヘッドレスモード活用
bash
#!/bin/bash
# CI/CDパイプラインでのClaude Code活用例
# 事前に認証情報を環境変数で設定
export ANTHROPIC_API_KEY="your-api-key"
# ヘッドレスモードでコードレビューを実行
result=$(claude -p "このプルリクエストのコードをレビューしてください" 2>&1)
exit_code=$?
# 修正後: 4xxエラーは即座に失敗を返すため、タイムアウトを待たずに処理できる
if [ $exit_code -ne 0 ]; then
echo "Claude Code実行に失敗しました: $result"
exit 1
fi
echo "レビュー結果: $result"注意点
- 「needs auth」状態のMCPコネクターは、認証を完了するまで利用できません。
/mcp authコマンドで認証を行ってください。 - ヘッドレスモード(
-p)での4xxエラーは永続的なエラーとして扱われ、再試行されません。5xxエラー(サーバーエラー)は引き続き再試行されます。 - claude.ai MCPコネクターはclaude.aiのアカウントが必要です。組織のSSO設定によっては追加の認証手順が必要な場合があります。
- 認証トークンの有効期限が切れた場合は、再度
/mcp authで認証する必要があります。