関数
query()
Claude Code とやり取りするための主要な関数です。メッセージが到着するとストリーミングする非同期ジェネレーターを作成します。
パラメーター
パラメーター | 型 | 説明 |
---|---|---|
prompt | string | AsyncIterable< SDKUserMessage > | 文字列またはストリーミングモード用の非同期イテラブルとしての入力プロンプト |
options | Options | オプションの設定オブジェクト(以下の Options 型を参照) |
戻り値
追加のメソッドを持つAsyncGenerator<
SDKMessage
, void>
を拡張した Query
オブジェクトを返します。
tool()
SDK MCP サーバーで使用するための型安全な MCP ツール定義を作成します。
パラメーター
パラメーター | 型 | 説明 |
---|---|---|
name | string | ツールの名前 |
description | string | ツールが何をするかの説明 |
inputSchema | Schema extends ZodRawShape | ツールの入力パラメーターを定義する Zod スキーマ |
handler | (args, extra) => Promise< CallToolResult > | ツールロジックを実行する非同期関数 |
createSdkMcpServer()
アプリケーションと同じプロセスで実行される MCP サーバーインスタンスを作成します。
パラメーター
パラメーター | 型 | 説明 |
---|---|---|
options.name | string | MCP サーバーの名前 |
options.version | string | オプションのバージョン文字列 |
options.tools | Array<SdkMcpToolDefinition> | tool() で作成されたツール定義の配列 |
型
Options
query()
関数の設定オブジェクト。
プロパティ | 型 | デフォルト | 説明 |
---|---|---|---|
abortController | AbortController | new AbortController() | 操作をキャンセルするためのコントローラー |
additionalDirectories | string[] | [] | Claude がアクセスできる追加ディレクトリ |
allowedTools | string[] | すべてのツール | 許可されたツール名のリスト |
appendSystemPrompt | string | undefined | デフォルトのシステムプロンプトに追加するテキスト |
canUseTool | CanUseTool | undefined | ツール使用のためのカスタム権限関数 |
continue | boolean | false | 最新の会話を続行する |
customSystemPrompt | string | undefined | デフォルトのシステムプロンプトを完全に置き換える |
cwd | string | process.cwd() | 現在の作業ディレクトリ |
disallowedTools | string[] | [] | 許可されていないツール名のリスト |
env | Dict<string> | process.env | 環境変数 |
executable | 'bun' | 'deno' | 'node' | 自動検出 | 使用する JavaScript ランタイム |
executableArgs | string[] | [] | 実行可能ファイルに渡す引数 |
extraArgs | Record<string, string | null> | {} | 追加の引数 |
fallbackModel | string | undefined | プライマリが失敗した場合に使用するモデル |
hooks | Partial<Record< HookEvent , HookCallbackMatcher []>> | {} | イベント用のフックコールバック |
includePartialMessages | boolean | false | 部分メッセージイベントを含める |
maxThinkingTokens | number | undefined | 思考プロセスの最大トークン数 |
maxTurns | number | undefined | 最大会話ターン数 |
mcpServers | Record<string, McpServerConfig > | {} | MCP サーバー設定 |
model | string | CLI からのデフォルト | 使用する Claude モデル |
pathToClaudeCodeExecutable | string | 自動検出 | Claude Code 実行可能ファイルへのパス |
permissionMode | PermissionMode | 'default' | セッションの権限モード |
permissionPromptToolName | string | undefined | 権限プロンプト用の MCP ツール名 |
resume | string | undefined | 再開するセッション ID |
stderr | (data: string) => void | undefined | stderr 出力のコールバック |
strictMcpConfig | boolean | false | 厳密な MCP 検証を強制する |
Query
query()
関数によって返されるインターフェース。
メソッド
メソッド | 説明 |
---|---|
interrupt() | クエリを中断します(ストリーミング入力モードでのみ利用可能) |
setPermissionMode() | 権限モードを変更します(ストリーミング入力モードでのみ利用可能) |
PermissionMode
CanUseTool
ツール使用を制御するためのカスタム権限関数型。
PermissionResult
権限チェックの結果。
McpServerConfig
MCP サーバーの設定。
McpStdioServerConfig
McpSSEServerConfig
McpHttpServerConfig
McpSdkServerConfigWithInstance
メッセージ型
SDKMessage
クエリによって返される可能性のあるすべてのメッセージのユニオン型。
SDKAssistantMessage
アシスタント応答メッセージ。
SDKUserMessage
ユーザー入力メッセージ。
SDKUserMessageReplay
必須の UUID を持つ再生されたユーザーメッセージ。
SDKResultMessage
最終結果メッセージ。
SDKSystemMessage
システム初期化メッセージ。
SDKPartialAssistantMessage
ストリーミング部分メッセージ(includePartialMessages
が true の場合のみ)。
SDKCompactBoundaryMessage
会話圧縮境界を示すメッセージ。
SDKPermissionDenial
拒否されたツール使用に関する情報。
フック型
HookEvent
利用可能なフックイベント。
HookCallback
フックコールバック関数型。
HookCallbackMatcher
オプションのマッチャーを持つフック設定。
HookInput
すべてのフック入力型のユニオン型。
BaseHookInput
すべてのフック入力型が拡張するベースインターフェース。
PreToolUseHookInput
PostToolUseHookInput
NotificationHookInput
UserPromptSubmitHookInput
SessionStartHookInput
SessionEndHookInput
StopHookInput
SubagentStopHookInput
PreCompactHookInput
HookJSONOutput
フックの戻り値。
AsyncHookJSONOutput
SyncHookJSONOutput
ツール入力型
すべての組み込み Claude Code ツールの入力スキーマのドキュメント。これらの型は@anthropic/claude-code-sdk
からエクスポートされ、型安全なツールインタラクションに使用できます。
ToolInput
注意: これは明確性のためのドキュメント専用型です。すべてのツール入力型のユニオンを表します。
Task
ツール名:Task
Bash
ツール名:Bash
BashOutput
ツール名:BashOutput
Edit
ツール名:Edit
MultiEdit
ツール名:MultiEdit
Read
ツール名:Read
Write
ツール名:Write
Glob
ツール名:Glob
Grep
ツール名:Grep
KillBash
ツール名:KillBash
NotebookEdit
ツール名:NotebookEdit
WebFetch
ツール名:WebFetch
WebSearch
ツール名:WebSearch
TodoWrite
ツール名:TodoWrite
ExitPlanMode
ツール名:ExitPlanMode
ListMcpResources
ツール名:ListMcpResources
ReadMcpResource
ツール名:ReadMcpResource
ツール出力型
すべての組み込み Claude Code ツールの出力スキーマのドキュメント。これらの型は各ツールによって返される実際の応答データを表します。ToolOutput
注意: これは明確性のためのドキュメント専用型です。すべてのツール出力型のユニオンを表します。
Task
ツール名:Task
Bash
ツール名:Bash
BashOutput
ツール名:BashOutput
Edit
ツール名:Edit
MultiEdit
ツール名:MultiEdit
Read
ツール名:Read
Write
ツール名:Write
Glob
ツール名:Glob
Grep
ツール名:Grep
KillBash
ツール名:KillBash
NotebookEdit
ツール名:NotebookEdit
WebFetch
ツール名:WebFetch
WebSearch
ツール名:WebSearch
TodoWrite
ツール名:TodoWrite
ExitPlanMode
ツール名:ExitPlanMode
ListMcpResources
ツール名:ListMcpResources
ReadMcpResource
ツール名:ReadMcpResource
権限型
PermissionUpdate
権限を更新するための操作。
PermissionBehavior
PermissionUpdateDestination
PermissionRuleValue
その他の型
ApiKeySource
ConfigScope
NonNullableUsage
すべての nullable フィールドを non-nullable にした Usage
のバージョン。
Usage
トークン使用統計(@anthropic-ai/sdk
から)。
CallToolResult
MCP ツール結果型(@modelcontextprotocol/sdk/types.js
から)。
AbortError
中止操作用のカスタムエラークラス。
関連項目
- TypeScript SDK ガイド - チュートリアルと例
- SDK 概要 - 一般的な SDK 概念
- Python SDK リファレンス - Python SDK ドキュメント
- CLI リファレンス - コマンドラインインターフェース
- 一般的なワークフロー - ステップバイステップガイド