Nexeed Lab

Claude Code v2.1.85リリース!MCP環境変数・Hooks条件フィルタなど注目の新機能を解説

Claude Code v2.1.85リリース!MCP環境変数・Hooks条件フィルタなど注目の新機能を解説

Claude Codeの最新バージョン v2.1.85 がリリースされました。今回のアップデートでは、MCPサーバー連携の柔軟性向上、Hooks機能の最適化、そしてスケジュールタスクのトランスクリプト改善など、日々の開発体験をさらに快適にする改善が盛り込まれています。

この記事では、それぞれの新機能を初心者にもわかりやすく解説していきます。


1. MCPサーバー向け新環境変数の追加

何が変わった?

MCP(Model Context Protocol)の headersHelper スクリプトで、以下の2つの環境変数が新たに利用できるようになりました。

  • CLAUDE_CODE_MCP_SERVER_NAME — 接続先のMCPサーバー名
  • CLAUDE_CODE_MCP_SERVER_URL — 接続先のMCPサーバーURL

なぜ嬉しいの?

これまで、複数のMCPサーバーを利用している場合、それぞれのサーバーごとに別々の headersHelper スクリプトを用意する必要がありました。今回の変更により、1つのヘルパースクリプトで複数のMCPサーバーに対応できるようになります。

たとえば、社内向けMCPサーバーと外部サービス用MCPサーバーで異なる認証トークンを使い分けたい場合、1つのスクリプト内で環境変数を参照して動的にヘッダーを切り替えられます。

実用例

以下は、サーバー名に応じて異なるAPIキーをヘッダーとして返す headersHelper スクリプトの例です。

#!/bin/bash
# headers_helper.sh — 複数のMCPサーバーに対応するヘルパースクリプト

SERVER_NAME="$CLAUDE_CODE_MCP_SERVER_NAME"
SERVER_URL="$CLAUDE_CODE_MCP_SERVER_URL"

echo "Connecting to: $SERVER_NAME ($SERVER_URL)" >&2

case "$SERVER_NAME" in
  "internal-tools")
    echo '{"Authorization": "Bearer '"$INTERNAL_API_KEY"'"}'
    ;;
  "external-service")
    echo '{"Authorization": "Bearer '"$EXTERNAL_API_KEY"'"}'
    ;;
  *)
    echo '{"Authorization": "Bearer '"$DEFAULT_API_KEY"'"}'
    ;;
esac

このように、CLAUDE_CODE_MCP_SERVER_NAME で条件分岐するだけで、1つのスクリプトを使い回せるのがポイントです。MCPサーバーを複数運用しているチームにとっては、管理コストが大幅に下がる嬉しい改善ですね。


2. Hooksに条件フィルタ(if フィールド)が追加

何が変わった?

Claude CodeのHooks機能に、新たに if フィールド が追加されました。このフィールドでは、パーミッションルール構文(例: Bash(git *))を使って、Hookが実行される条件を指定できます。

なぜ嬉しいの?

これまでHooksは、設定されたイベントが発生するたびに毎回スクリプトが起動されていました。たとえば「Bashコマンドの実行時」にフックを設定すると、ls でも git commit でも、すべてのBashコマンドでプロセスが生成されていたのです。

if フィールドを使えば、特定のコマンドパターンにマッチした場合だけHookを実行できるため、不要なプロセス生成(spawning)のオーバーヘッドを削減できます。これはパフォーマンスの観点からも非常に重要な改善です。

設定イメージ

以下は、git 関連のコマンドが実行された場合にのみHookを発火させる設定の概念例です。

{
  "hooks": {
    "on_tool_call": [
      {
        "if": "Bash(git *)",
        "command": "echo 'Git command detected' >> /tmp/claude-git-log.txt"
      }
    ]
  }
}

この設定では、Bash(git *) というパーミッションルール構文を使い、git で始まるBashコマンドが実行された場合のみ、ログを記録するスクリプトが走ります。npm installls などの無関係なコマンドではHookが発火しないため、無駄なオーバーヘッドがなくなります。


3. スケジュールタスクにタイムスタンプマーカーを追加

何が変わった?

Claude Codeの /loop コマンドなどで実行されるスケジュールタスクのトランスクリプト(実行記録)に、タイムスタンプマーカーが追加されました。

なぜ嬉しいの?

スケジュールタスクは、長時間にわたってバックグラウンドで実行されることがあります。これまではトランスクリプトを確認しても「いつ」その処理が行われたのかが分かりにくい場合がありました。

タイムスタンプが付与されることで、以下のようなメリットがあります。

  • デバッグがしやすくなる — 処理のどのステップでどれくらい時間がかかったか一目瞭然
  • 実行履歴の管理が向上 — 複数回のループ実行を時系列で追いやすくなる
  • チーム共有時の可読性向上 — トランスクリプトを共有する際に、時間情報があると状況把握が容易

地味に見える改善ですが、長時間のタスクを多用するユーザーにとっては非常にありがたいアップデートです。


まとめ

Claude Code v2.1.85は、派手な新機能というよりも 日々の開発体験をじわじわと改善するアップデート が中心です。特に注目したいのは以下の3点です。

新機能 メリット
MCP環境変数の追加 1つのheadersHelperで複数サーバーに対応可能
Hooksのif条件フィルタ 不要なプロセス生成を削減しパフォーマンス向上
タイムスタンプマーカー スケジュールタスクのデバッグ・管理が容易に

MCPサーバーを複数運用している方、Hooksを積極的に活用している方にとっては特に恩恵の大きいリリースです。まだこれらの機能を使ったことがない方も、これを機にぜひ試してみてください。

Claude Codeは着実に進化を続けており、今後のアップデートも楽しみです!


参考リンク:

この記事をシェア

XFacebookはてブ