Funciones
query()
La función principal para interactuar con Claude Code. Crea un generador asíncrono que transmite mensajes a medida que llegan.
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
prompt | string | AsyncIterable< SDKUserMessage > | El prompt de entrada como una cadena o iterable asíncrono para el modo de transmisión |
options | Options | Objeto de configuración opcional (ver tipo Options a continuación) |
Retorna
Retorna un objetoQuery
que extiende AsyncGenerator<
SDKMessage
, void>
con métodos adicionales.
tool()
Crea una definición de herramienta MCP con seguridad de tipos para usar con servidores MCP del SDK.
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
name | string | El nombre de la herramienta |
description | string | Una descripción de lo que hace la herramienta |
inputSchema | Schema extends ZodRawShape | Esquema Zod que define los parámetros de entrada de la herramienta |
handler | (args, extra) => Promise< CallToolResult > | Función asíncrona que ejecuta la lógica de la herramienta |
createSdkMcpServer()
Crea una instancia de servidor MCP que se ejecuta en el mismo proceso que tu aplicación.
Parámetros
Parámetro | Tipo | Descripción |
---|---|---|
options.name | string | El nombre del servidor MCP |
options.version | string | Cadena de versión opcional |
options.tools | Array<SdkMcpToolDefinition> | Array de definiciones de herramientas creadas con tool() |
Tipos
Options
Objeto de configuración para la función query()
.
Propiedad | Tipo | Por defecto | Descripción |
---|---|---|---|
abortController | AbortController | new AbortController() | Controlador para cancelar operaciones |
additionalDirectories | string[] | [] | Directorios adicionales a los que Claude puede acceder |
allowedTools | string[] | Todas las herramientas | Lista de nombres de herramientas permitidas |
appendSystemPrompt | string | undefined | Texto para agregar al prompt del sistema por defecto |
canUseTool | CanUseTool | undefined | Función de permisos personalizada para el uso de herramientas |
continue | boolean | false | Continuar la conversación más reciente |
customSystemPrompt | string | undefined | Reemplazar completamente el prompt del sistema por defecto |
cwd | string | process.cwd() | Directorio de trabajo actual |
disallowedTools | string[] | [] | Lista de nombres de herramientas no permitidas |
env | Dict<string> | process.env | Variables de entorno |
executable | 'bun' | 'deno' | 'node' | Auto-detectado | Runtime de JavaScript a usar |
executableArgs | string[] | [] | Argumentos para pasar al ejecutable |
extraArgs | Record<string, string | null> | {} | Argumentos adicionales |
fallbackModel | string | undefined | Modelo a usar si el principal falla |
hooks | Partial<Record< HookEvent , HookCallbackMatcher []>> | {} | Callbacks de hooks para eventos |
includePartialMessages | boolean | false | Incluir eventos de mensajes parciales |
maxThinkingTokens | number | undefined | Tokens máximos para el proceso de pensamiento |
maxTurns | number | undefined | Turnos máximos de conversación |
mcpServers | Record<string, McpServerConfig > | {} | Configuraciones de servidores MCP |
model | string | Por defecto del CLI | Modelo de Claude a usar |
pathToClaudeCodeExecutable | string | Auto-detectado | Ruta al ejecutable de Claude Code |
permissionMode | PermissionMode | 'default' | Modo de permisos para la sesión |
permissionPromptToolName | string | undefined | Nombre de herramienta MCP para prompts de permisos |
resume | string | undefined | ID de sesión para reanudar |
stderr | (data: string) => void | undefined | Callback para salida stderr |
strictMcpConfig | boolean | false | Aplicar validación estricta de MCP |
Query
Interfaz retornada por la función query()
.
Métodos
Método | Descripción |
---|---|
interrupt() | Interrumpe la consulta (solo disponible en modo de entrada de transmisión) |
setPermissionMode() | Cambia el modo de permisos (solo disponible en modo de entrada de transmisión) |
PermissionMode
CanUseTool
Tipo de función de permisos personalizada para controlar el uso de herramientas.
PermissionResult
Resultado de una verificación de permisos.
McpServerConfig
Configuración para servidores MCP.
McpStdioServerConfig
McpSSEServerConfig
McpHttpServerConfig
McpSdkServerConfigWithInstance
Tipos de Mensajes
SDKMessage
Tipo unión de todos los mensajes posibles retornados por la consulta.
SDKAssistantMessage
Mensaje de respuesta del asistente.
SDKUserMessage
Mensaje de entrada del usuario.
SDKUserMessageReplay
Mensaje de usuario reproducido con UUID requerido.
SDKResultMessage
Mensaje de resultado final.
SDKSystemMessage
Mensaje de inicialización del sistema.
SDKPartialAssistantMessage
Mensaje parcial de transmisión (solo cuando includePartialMessages
es true).
SDKCompactBoundaryMessage
Mensaje que indica un límite de compactación de conversación.
SDKPermissionDenial
Información sobre un uso de herramienta denegado.
Tipos de Hooks
HookEvent
Eventos de hooks disponibles.
HookCallback
Tipo de función callback de hook.
HookCallbackMatcher
Configuración de hook con matcher opcional.
HookInput
Tipo unión de todos los tipos de entrada de hook.
BaseHookInput
Interfaz base que extienden todos los tipos de entrada de hook.
PreToolUseHookInput
PostToolUseHookInput
NotificationHookInput
UserPromptSubmitHookInput
SessionStartHookInput
SessionEndHookInput
StopHookInput
SubagentStopHookInput
PreCompactHookInput
HookJSONOutput
Valor de retorno del hook.
AsyncHookJSONOutput
SyncHookJSONOutput
Tipos de Entrada de Herramientas
Documentación de esquemas de entrada para todas las herramientas integradas de Claude Code. Estos tipos se exportan desde@anthropic/claude-code-sdk
y pueden usarse para interacciones de herramientas con seguridad de tipos.
ToolInput
Nota: Este es un tipo solo para documentación por claridad. Representa la unión de todos los tipos de entrada de herramientas.
Task
Nombre de herramienta:Task
Bash
Nombre de herramienta:Bash
BashOutput
Nombre de herramienta:BashOutput
Edit
Nombre de herramienta:Edit
MultiEdit
Nombre de herramienta:MultiEdit
Read
Nombre de herramienta:Read
Write
Nombre de herramienta:Write
Glob
Nombre de herramienta:Glob
Grep
Nombre de herramienta:Grep
KillBash
Nombre de herramienta:KillBash
NotebookEdit
Nombre de herramienta:NotebookEdit
WebFetch
Nombre de herramienta:WebFetch
WebSearch
Nombre de herramienta:WebSearch
TodoWrite
Nombre de herramienta:TodoWrite
ExitPlanMode
Nombre de herramienta:ExitPlanMode
ListMcpResources
Nombre de herramienta:ListMcpResources
ReadMcpResource
Nombre de herramienta:ReadMcpResource
Tipos de Salida de Herramientas
Documentación de esquemas de salida para todas las herramientas integradas de Claude Code. Estos tipos representan los datos de respuesta reales retornados por cada herramienta.ToolOutput
Nota: Este es un tipo solo para documentación por claridad. Representa la unión de todos los tipos de salida de herramientas.
Task
Nombre de herramienta:Task
Bash
Nombre de herramienta:Bash
BashOutput
Nombre de herramienta:BashOutput
Edit
Nombre de herramienta:Edit
MultiEdit
Nombre de herramienta:MultiEdit
Read
Nombre de herramienta:Read
Write
Nombre de herramienta:Write
Glob
Nombre de herramienta:Glob
Grep
Nombre de herramienta:Grep
KillBash
Nombre de herramienta:KillBash
NotebookEdit
Nombre de herramienta:NotebookEdit
WebFetch
Nombre de herramienta:WebFetch
WebSearch
Nombre de herramienta:WebSearch
TodoWrite
Nombre de herramienta:TodoWrite
ExitPlanMode
Nombre de herramienta:ExitPlanMode
ListMcpResources
Nombre de herramienta:ListMcpResources
ReadMcpResource
Nombre de herramienta:ReadMcpResource
Tipos de Permisos
PermissionUpdate
Operaciones para actualizar permisos.
PermissionBehavior
PermissionUpdateDestination
PermissionRuleValue
Otros Tipos
ApiKeySource
ConfigScope
NonNullableUsage
Una versión de Usage
con todos los campos anulables hechos no anulables.
Usage
Estadísticas de uso de tokens (de @anthropic-ai/sdk
).
CallToolResult
Tipo de resultado de herramienta MCP (de @modelcontextprotocol/sdk/types.js
).
AbortError
Clase de error personalizada para operaciones de aborto.
Ver también
- Guía del SDK de TypeScript - Tutorial y ejemplos
- Resumen del SDK - Conceptos generales del SDK
- Referencia del SDK de Python - Documentación del SDK de Python
- Referencia del CLI - Interfaz de línea de comandos
- Flujos de trabajo comunes - Guías paso a paso