概要
- Claude Code SDK は、AIコーディングアシスタントをアプリに統合するための開発ツール。
- CLI操作 をサポートし、TypeScriptとPython SDKは近日公開予定。
- MCP構成 で外部ツールやリソースの拡張が可能。
- 出力形式 はテキスト・JSON・ストリーミングJSONに対応。
- GitHub Actions など、実際の開発フローへの組み込み事例あり。
Claude Code SDKの概要と活用方法
SDKの基本機能
- Claude Code SDK は、アプリケーションから Claude Code をサブプロセスとして実行し、AIコーディングアシスタント機能を統合することが可能。
- コマンドライン操作 に対応し、今後 TypeScript および Python SDK の提供を予定。
- 非対話モード での利用が基本であり、アプリから直接Claude Codeを呼び出すことができるよう設計されていることを確認。
高度な利用法
-
マルチターン会話 ・セッションIDを指定して 会話の再開 や 直近のセッションからの継続 を行うことが可能。
-
カスタムシステムプロンプト ・独自の システムプロンプト を指定し、Claudeの挙動を制御することが可能。 ・デフォルトのプロンプトに 追加指示 を付与することも可能。
-
MCP(Model Context Protocol)構成 ・外部サーバーから 追加ツールやリソース をロードし、Claude Codeの機能を拡張するために利用。 ・
--mcp-configフラグでJSON構成ファイルを指定し、 データベースアクセスやAPI連携 などの専門機能を追加。 ・ セキュリティ対策 として、--allowedToolsで利用可能ツールを明示的に許可することが必要。 ・MCPツール名はmcp__<serverName>__<toolName>形式で指定することを確認。
主なCLIオプション
- --print, -p :非対話モードで実行すること
- --output-format :出力形式(text, json, stream-json)を指定すること
- --resume, -r :セッションIDで会話を再開すること
- --continue, -c :最新の会話セッションを継続すること
- --system-prompt :システムプロンプトを上書きすること(--print時のみ)
- --append-system-prompt :システムプロンプトへ追加指示を付与すること(--print時のみ)
- --allowedTools :許可するツールをカンマまたはスペース区切りで指定すること(MCPツール含む)
- --disallowedTools :禁止するツールを指定すること
- --mcp-config :MCPサーバーのJSONファイルを読み込むこと
- --permission-prompt-tool :許可プロンプト処理用のMCPツールを指定すること(--print時のみ)
- --verbose :詳細ログを有効化すること
- --max-turns :非対話モードでのエージェントターン数を制限すること
出力形式とレスポンススキーマ
- テキスト出力 (デフォルト):応答テキストのみを返すこと
- JSON出力 :メタデータを含む構造化データを返すこと
- ストリーミングJSON出力 :各メッセージを受信ごとにJSONオブジェクトとして出力すること ・各会話はinitメッセージで始まり、ユーザー・アシスタントメッセージ、最終結果メッセージで構成されること
- メッセージスキーマ :JSON APIのレスポンスは厳密に型定義されており、今後JSONSchema形式で公開予定
- セマンティックバージョニング を採用し、互換性の変更を明示すること
利用例とベストプラクティス
- シンプルなスクリプト統合 や ファイル処理、 セッション管理 などの実装例あり
- JSON出力形式 を利用し、プログラムによるレスポンス解析を推奨
- エラー処理 (exitコードやstderrの確認)を徹底すること
- マルチターン会話 ではセッション管理を活用すること
- 長時間処理 にはタイムアウト設定を検討すること
- レートリミット への配慮として、複数リクエスト時は遅延を入れること
実際の開発フローへの応用
- Claude Code SDK は、開発ワークフローへの強力な統合を実現 ・例: Claude Code GitHub Actions による自動コードレビュー、PR作成、Issueトリアージの自動化
- CLIドキュメント や GitHub Actions連携、 チュートリアル も提供されており、幅広いユースケースに対応
参考情報
- CLI操作とコントロール :公式ドキュメントで全オプションを確認すること
- GitHub Actions統合 :自動化ワークフローの構築に活用すること
- チュートリアル :一般的なユースケースの手順を学習すること