|
|
| 3行目: |
3行目: |
| <br> | | <br> |
| このページでは、Claude Codeの主要機能とコマンドリファレンスを解説する。<br> | | このページでは、Claude Codeの主要機能とコマンドリファレンスを解説する。<br> |
| 特に重要な3つの機能を詳細に説明し、その他の有用なスラッシュコマンドとキーボードショートカットについても概要を示す。<br>
| | 特に重要な2つの機能を詳細に説明し、その他の有用なスラッシュコマンドとキーボードショートカットについても概要を示す。<br> |
| <br> | | <br> |
| 主要機能は以下の通りである。<br> | | 主要機能は以下の通りである。<br> |
| 9行目: |
9行目: |
| *: 以前の会話セッションに復帰する機能 | | *: 以前の会話セッションに復帰する機能 |
| *: 複数の作業セッションを並行管理できる | | *: 複数の作業セッションを並行管理できる |
| * Model Context Protocol機能 (/mcp)
| |
| *: 外部ツール、API、データベースへの接続を実現
| |
| *: 拡張可能なプラグインシステム
| |
| * 巻き戻し機能 (/rewind) | | * 巻き戻し機能 (/rewind) |
| *: コード変更と会話履歴を任意のポイントまで巻き戻す | | *: コード変更と会話履歴を任意のポイントまで巻き戻す |
| 30行目: |
27行目: |
| *: <br> | | *: <br> |
| * 方法2 : 特定のセッションに復帰 | | * 方法2 : 特定のセッションに復帰 |
| *: <pre>claude --resume [セッション名]</pre> | | *: <pre>claude --resume <セッション名></pre> |
| *: <br> | | *: <br> |
| * 方法3 : セッション内でのコマンド | | * 方法3 : セッション内でのコマンド |
| 163行目: |
160行目: |
| * 長期保存が必要な場合はエクスポート | | * 長期保存が必要な場合はエクスポート |
| *: 重要な会話履歴は別途保存する | | *: 重要な会話履歴は別途保存する |
| <br><br>
| |
|
| |
| == Model Context Protocol機能 (/mcp) ==
| |
| MCP (Model Context Protocol) は、Claude Codeが外部ツール、API、データベース、サービスに接続するための標準プロトコルである。<br>
| |
| MCPを使用することで、Claude Codeの機能を大幅に拡張できる。<br>
| |
| <br>
| |
| ==== MCPの概要 ====
| |
| MCPは、以下の接続を実現する。<br>
| |
| <br>
| |
| ===== 接続可能な外部システム =====
| |
| * 外部ツール
| |
| *: コマンドラインツール、スクリプト
| |
| * API
| |
| *: RESTful API、GraphQL API
| |
| * データベース
| |
| *: PostgreSQL、MySQL、MongoDB 等
| |
| * サービス
| |
| *: GitHub、Slack、Sentry 等
| |
| <br>
| |
| ===== MCPの仕組み =====
| |
| * MCPサーバ
| |
| *: 外部システムとの接続を提供するサーバ
| |
| * MCPクライアント
| |
| *: Claude Code内でMCPサーバと通信するクライアント
| |
| * トランスポート
| |
| *: HTTP/SSE、stdio 等複数のトランスポートをサポート
| |
| <br>
| |
| ==== MCPサーバのインストール ====
| |
| MCPサーバをインストールする方法を以下に示す。<br>
| |
| <br>
| |
| ===== トランスポートの種類 =====
| |
| * HTTP/SSE (Server-Sent Events)
| |
| *: ネットワーク経由での接続
| |
| * stdio
| |
| *: 標準入出力を使用したローカル接続
| |
| <br>
| |
| ===== MCPサーバのインストール方法 =====
| |
| <br>
| |
| * HTTP/SSEサーバの例
| |
| *: <syntaxhighlight lang="json">
| |
| {
| |
| "mcpServers": {
| |
| "my-server": {
| |
| "url": "http://localhost:3000/mcp",
| |
| "transport": "sse"
| |
| }
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| *: <br>
| |
| * stdioサーバの例
| |
| *: <syntaxhighlight lang="json">
| |
| {
| |
| "mcpServers": {
| |
| "my-local-server": {
| |
| "command": "node",
| |
| "args": ["/path/to/server.js"],
| |
| "transport": "stdio"
| |
| }
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| <br>
| |
| ==== MCPサーバの管理コマンド ====
| |
| MCPサーバを管理するためのコマンドを以下に示す。<br>
| |
| <br>
| |
| * サーバの一覧表示
| |
| *: <pre>claude mcp list</pre>
| |
| *: <br>
| |
| * サーバの追加
| |
| *: <pre>claude mcp add <名前> <URL または コマンド></pre>
| |
| *: <br>
| |
| * サーバの削除
| |
| *: <pre>claude mcp remove <名前></pre>
| |
| *: <br>
| |
| * サーバの詳細情報取得
| |
| *: <pre>claude mcp get <名前></pre>
| |
| <br>
| |
| ==== MCPスコープ ====
| |
| MCPサーバは、3つのスコープで管理できる。<br>
| |
| <br>
| |
| <center>
| |
| {| class="wikitable"
| |
| |+ MCPスコープの種類
| |
| ! スコープ !! 説明 !! 設定ファイルの場所
| |
| |-
| |
| | local || 現在のディレクトリのみ || .claude/mcp.json
| |
| |-
| |
| | project || プロジェクト全体 || プロジェクトルート/mcp.json
| |
| |-
| |
| | user || ユーザ全体 (全プロジェクト) || ~/.claude/mcp.json
| |
| |}
| |
| </center>
| |
| <br>
| |
| * スコープの優先順位
| |
| *: 同じ名前のサーバが複数のスコープで定義されている場合、優先順位の高いスコープの設定が使用される。
| |
| *# local (最優先)
| |
| *# project
| |
| *# user (最低優先)
| |
| <br>
| |
| ==== 実用的なMCPサーバの例 ====
| |
| 実際に使用されているMCPサーバの例を以下に示す。<br>
| |
| <br>
| |
| ===== Sentry連携 =====
| |
| エラートラッキングサービスSentryとの連携例を示す。<br>
| |
| <br>
| |
| * 設定例
| |
| *: <syntaxhighlight lang="json">
| |
| {
| |
| "mcpServers": {
| |
| "sentry": {
| |
| "url": "https://sentry.io/api/mcp",
| |
| "transport": "sse",
| |
| "env": {
| |
| "SENTRY_AUTH_TOKEN": "your-token-here"
| |
| }
| |
| }
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| <br>
| |
| # 使用例 1 :
| |
| 最近のエラーをSentryから取得して分析してください。
| |
|
| |
| # 使用例 2 :
| |
| Claudeは、MCPサーバ経由でSentryからエラー情報を取得し、分析を行う。
| |
| <br>
| |
| ===== GitHub連携 =====
| |
| GitHubのIssue、Pull Request、Discussionsとの連携例を示す。<br>
| |
| <br>
| |
| * 設定例
| |
| *: <syntaxhighlight lang="json">
| |
| {
| |
| "mcpServers": {
| |
| "github": {
| |
| "command": "npx",
| |
| "args": ["-y", "@modelcontextprotocol/server-github"],
| |
| "transport": "stdio",
| |
| "env": {
| |
| "GITHUB_PERSONAL_ACCESS_TOKEN": "your-token-here"
| |
| }
| |
| }
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| <br>
| |
| # 使用例 1 :
| |
| このリポジトリの未解決のIssueを一覧表示してください
| |
|
| |
| # 使用例 2 :
| |
| Issue #123 の内容を要約してください
| |
| <br>
| |
| ===== PostgreSQL連携 =====
| |
| PostgreSQLデータベースとの連携例を示す。<br>
| |
| <br>
| |
| * 設定例
| |
| *: <syntaxhighlight lang="json">
| |
| {
| |
| "mcpServers": {
| |
| "postgres": {
| |
| "command": "npx",
| |
| "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://user:password@localhost:5432/mydb"],
| |
| "transport": "stdio"
| |
| }
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| <br>
| |
| # 使用例 1 :
| |
| usersテーブルのスキーマを確認してください。
| |
|
| |
| # 使用例 2 :
| |
| 最近追加されたユーザを10件表示してください。
| |
| <br>
| |
| ==== 環境変数とヘッダ認証 ====
| |
| MCPサーバへの接続時に、環境変数やHTTPヘッダを使用した認証を設定できる。<br>
| |
| <br>
| |
| * 環境変数の設定
| |
| *: <syntaxhighlight lang="json">
| |
| {
| |
| "mcpServers": {
| |
| "api-server": {
| |
| "url": "https://api.example.com/mcp",
| |
| "transport": "sse",
| |
| "env": {
| |
| "API_KEY": "your-api-key",
| |
| "API_SECRET": "your-api-secret"
| |
| }
| |
| }
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| *: <br>
| |
| * HTTPヘッダの設定
| |
| *: <syntaxhighlight lang="json">
| |
| {
| |
| "mcpServers": {
| |
| "api-server": {
| |
| "url": "https://api.example.com/mcp",
| |
| "transport": "sse",
| |
| "headers": {
| |
| "Authorization": "Bearer your-token",
| |
| "X-Custom-Header": "custom-value"
| |
| }
| |
| }
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| <br>
| |
| ==== リソース参照 (@メンション) ====
| |
| MCPサーバが提供するリソースを、<code>@</code> メンションで参照できる。<br>
| |
| <br>
| |
| # リソース参照の例 :
| |
|
| |
| @github/issue/123 の内容を確認してください
| |
|
| |
| @sentry/error/latest を分析してください
| |
|
| |
| @postgres/table/users のスキーマを表示してください
| |
| <br>
| |
| リソース参照により、以下のメリットが得られる。<br>
| |
| * 直感的な操作
| |
| *: リソースを自然言語で参照できる
| |
| * コンテキストの明確化
| |
| *: どのリソースについて話しているかが明確
| |
| * 自動補完
| |
| *: 利用可能なリソースを自動補完で選択できる
| |
| <br>
| |
| ==== MCPスラッシュコマンド ====
| |
| MCP関連のスラッシュコマンドを以下に示す。<br>
| |
| <br>
| |
| * セッション内でのMCP管理
| |
| *: /mcp
| |
| <br>
| |
| このコマンドにより、以下の操作が可能になる。<br>
| |
| * MCPサーバの一覧表示
| |
| * MCPサーバの有効化/無効化
| |
| * MCPサーバの設定確認
| |
| * MCPリソースの参照
| |
| <br>
| |
| ==== 組織でのMCP管理 ====
| |
| 組織でMCPサーバを管理する方法を以下に示す。<br>
| |
| <br>
| |
| * managed-mcp.jsonファイル
| |
| *: <syntaxhighlight lang="json">
| |
| {
| |
| "allowlist": [
| |
| "github.com/modelcontextprotocol/*",
| |
| "example.com/approved-servers/*"
| |
| ],
| |
| "denylist": [
| |
| "untrusted.com/*"
| |
| ]
| |
| }
| |
| </syntaxhighlight>
| |
| <br>
| |
| 組織管理の仕組みを以下に示す。<br>
| |
| * allowlist
| |
| *: 許可されたMCPサーバのリスト
| |
| *: リストにあるサーバのみインストール可能
| |
| * denylist
| |
| *: 禁止されたMCPサーバのリスト
| |
| *: リストにあるサーバはインストール不可
| |
| <br>
| |
| これにより、組織全体でのセキュリティポリシーを維持できる。<br>
| |
| <br>
| |
| ==== セキュリティ上の注意事項 ====
| |
| MCPサーバを使用する際のセキュリティ注意事項を以下に示す。<br>
| |
| <br>
| |
| ===== プロンプトインジェクション対策 =====
| |
| * MCPサーバが返すデータを盲目的に信頼しない
| |
| *: 悪意のあるデータが含まれる可能性を考慮
| |
| * 外部データの検証
| |
| *: MCPサーバから取得したデータを検証してから使用
| |
| <br>
| |
| ===== 信頼できるサーバのみ使用 =====
| |
| * 公式のMCPサーバを優先
| |
| *: Model Context Protocol公式リポジトリのサーバを使用
| |
| * サードパーティサーバの検証
| |
| *: ソースコードを確認してから使用
| |
| * 組織のallowlist/denylistの遵守
| |
| *: 組織のポリシーに従う
| |
| <br>
| |
| ===== 認証情報の管理 =====
| |
| * 環境変数の使用
| |
| *: APIキーやトークンはハードコードせず環境変数で管理する。
| |
| * 設定ファイルのバージョン管理除外
| |
| *: mcp.jsonファイルを .gitignoreファイルに追加する。
| |
| * 最小権限の原則
| |
| *: 必要最小限の権限のみをMCPサーバに付与する。
| |
| <br><br> | | <br><br> |
|
| |
|
| 463行目: |
170行目: |
| <br> | | <br> |
| ===== 方法 1 : キーボードショートカット ===== | | ===== 方法 1 : キーボードショートカット ===== |
| * [Esc] --> [Esc] (Escキーを2回連続で押す) | | * [Esc] -> [Esc] (Escキーを2回連続で押す) |
| *: 巻き戻しメニューが表示される | | *: 巻き戻しメニューが表示される |
| <br> | | <br> |
| 563行目: |
270行目: |
|
| |
|
| == その他の重要なスラッシュコマンド == | | == その他の重要なスラッシュコマンド == |
| Claude Codeには、上記3つの主要機能以外にも有用なスラッシュコマンドが多数存在する。<br> | | Claude Codeには、上記2つの主要機能以外にも有用なスラッシュコマンドが多数存在する。<br> |
| <br> | | <br> |
| ==== セッション管理 ==== | | ==== セッション管理 ==== |
| 617行目: |
324行目: |
| | [Shift] + [Tab] || プランモード切り替え || プランモードと通常モードを切り替え | | | [Shift] + [Tab] || プランモード切り替え || プランモードと通常モードを切り替え |
| |- | | |- |
| | [Esc] --> [Esc]<br>([Esc]キーを2回押下) || 巻き戻し || 巻き戻しメニューを表示 | | | [Esc] -> [Esc]<br>([Esc]キーを2回押下) || 巻き戻し || 巻き戻しメニューを表示 |
| |- | | |- |
| | [Ctrl] + [L] || 画面クリア || ターミナル画面をクリア (会話は保持) | | | [Ctrl] + [L] || 画面クリア || ターミナル画面をクリア (会話は保持) |
| 645行目: |
352行目: |
| claude --model <モデル名> | | claude --model <モデル名> |
| <br> | | <br> |
| # 使用例 : | | # 使用例 |
| claude --model claude-opus-4-20250514 | | claude --model claude-opus-4-20250514 |
| | | |
| 673行目: |
380行目: |
| <br> | | <br> |
| Claude Codeのバージョンを表示する。<br> | | Claude Codeのバージョンを表示する。<br> |
| <br>
| |
| claude --no-mcp
| |
| <br>
| |
| MCPサーバを無効化して起動する。<br>
| |
| <br><br> | | <br><br> |
|
| |
|
| 700行目: |
403行目: |
| * 優先度を含める | | * 優先度を含める |
| *: 例: urgent-login-bug-fix | | *: 例: urgent-login-bug-fix |
| <br>
| |
| ==== MCPとセッションの組み合わせ ====
| |
| MCPサーバをセッションごとに使い分ける方法を示す。<br>
| |
| <br>
| |
| ===== プロジェクトスコープのMCP設定 =====
| |
| * プロジェクト固有のMCPサーバを設定
| |
| *: プロジェクトルートに mcp.json を配置
| |
| * セッション再開時に自動的にMCPサーバが読み込まれる
| |
| *: プロジェクトに復帰すると、そのプロジェクト用のMCP設定が有効になる
| |
| <br>
| |
| ===== ローカルスコープのMCP設定 =====
| |
| * 特定のディレクトリでのみ使用するMCPサーバ
| |
| *: .claude/mcp.jsonファイルに設定
| |
| * 実験的なMCPサーバの試行
| |
| *: ローカルスコープで試してから、プロジェクトスコープに昇格
| |
| <br> | | <br> |
| ==== 巻き戻しとGitの併用 ==== | | ==== 巻き戻しとGitの併用 ==== |
| 737行目: |
425行目: |
| 主要機能をプランモードと組み合わせる方法を示す。<br> | | 主要機能をプランモードと組み合わせる方法を示す。<br> |
| <br> | | <br> |
| * プランモードでの計画立案 --> 通常モードでの実装 | | * プランモードでの計画立案 -> 通常モードでの実装 |
| *# プランモード ([Shift] + [Tab] キー) で計画を立てる | | *# プランモード ([Shift] + [Tab] キー) で計画を立てる |
| *# セッションに名前を付けて保存 | | *# セッションに名前を付けて保存 |
| 744行目: |
432行目: |
| *# 完成したらGitコミット | | *# 完成したらGitコミット |
| *# セッションを終了または保存 | | *# セッションを終了または保存 |
| *: <br>
| |
| * プランモードでのMCP活用
| |
| *# プランモードでMCPサーバ経由でデータベーススキーマを確認
| |
| *# API仕様をMCP経由で取得
| |
| *# 計画を立案
| |
| *# 通常モードに切り替えて実装
| |
| <br><br> | | <br><br> |
|
| |
|
| 755行目: |
437行目: |
| * [https://code.claude.com/docs Claude Code公式ドキュメント] | | * [https://code.claude.com/docs Claude Code公式ドキュメント] |
| * [https://code.claude.com/docs/en/sessions Claude Code公式ドキュメント - Sessions] | | * [https://code.claude.com/docs/en/sessions Claude Code公式ドキュメント - Sessions] |
| * [https://code.claude.com/docs/en/mcp Claude Code公式ドキュメント - Model Context Protocol]
| |
| * [https://code.claude.com/docs/en/rewind Claude Code公式ドキュメント - Rewind] | | * [https://code.claude.com/docs/en/rewind Claude Code公式ドキュメント - Rewind] |
| * [https://modelcontextprotocol.io Model Context Protocol公式サイト]
| |
| <br><br> | | <br><br> |
|
| |
|