# Claude Agent SDK for Python ## Docs - [ClaudeSDKClient](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/claude-sdk-client.md): Client for bidirectional, interactive conversations with Claude Code - [create_sdk_mcp_server()](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/create-sdk-mcp-server.md): Create an in-process MCP server that runs within your Python application - [query()](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/query.md): Query Claude Code for one-shot or unidirectional streaming interactions - [@tool](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/tool.md): Decorator for defining MCP tools with type safety - [ClaudeAgentOptions](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/types/claude-agent-options.md): Configuration options for Claude Agent SDK queries and sessions - [Content Block Types](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/types/content-blocks.md): Content block types for message content in Claude Agent SDK - [Error Types](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/types/errors.md): Exception types for error handling in Claude Agent SDK - [Hook Types](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/types/hooks.md): Hook-related types for lifecycle event handling in Claude Agent SDK - [MCP Types](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/types/mcp-types.md): MCP server configuration and status types for Claude Agent SDK - [Message Types](https://mintlify.wiki/anthropics/claude-agent-sdk-python/api/types/messages.md): Message types for Claude Agent SDK conversations - [Error Handling](https://mintlify.wiki/anthropics/claude-agent-sdk-python/core-concepts/error-handling.md): Understanding error types and handling patterns in the Claude Agent SDK - [Messages and Content Blocks](https://mintlify.wiki/anthropics/claude-agent-sdk-python/core-concepts/messages.md): Understanding message types and content blocks in the Claude Agent SDK - [ClaudeAgentOptions](https://mintlify.wiki/anthropics/claude-agent-sdk-python/core-concepts/options.md): Configuration options for customizing Claude Agent SDK behavior - [query() vs ClaudeSDKClient](https://mintlify.wiki/anthropics/claude-agent-sdk-python/core-concepts/query-vs-client.md): Understanding when to use query() for one-shot queries versus ClaudeSDKClient for interactive conversations - [Hooks Implementation Examples](https://mintlify.wiki/anthropics/claude-agent-sdk-python/examples/hooks-example.md): Customize SDK behavior with hooks for advanced control over tool execution - [MCP Calculator Example](https://mintlify.wiki/anthropics/claude-agent-sdk-python/examples/mcp-calculator.md): Build an in-process MCP server with calculator tools - [Simple Query Examples](https://mintlify.wiki/anthropics/claude-agent-sdk-python/examples/simple-queries.md): Learn how to use the query() function for simple, one-shot interactions with Claude - [Streaming Mode Examples](https://mintlify.wiki/anthropics/claude-agent-sdk-python/examples/streaming-mode.md): Build interactive applications with ClaudeSDKClient streaming interface - [Tool Permission Examples](https://mintlify.wiki/anthropics/claude-agent-sdk-python/examples/tool-permissions.md): Control which tools Claude can use and modify their inputs with permission callbacks - [Working with Agents](https://mintlify.wiki/anthropics/claude-agent-sdk-python/guides/agents.md): Create and use programmatic subagents with custom behaviors, tools, and models - [Basic Usage](https://mintlify.wiki/anthropics/claude-agent-sdk-python/guides/basic-usage.md): Learn how to use the query() function for simple, one-shot interactions with Claude - [Custom Tools](https://mintlify.wiki/anthropics/claude-agent-sdk-python/guides/custom-tools.md): Create custom tools using the @tool decorator and SDK MCP servers - [Hooks](https://mintlify.wiki/anthropics/claude-agent-sdk-python/guides/hooks.md): Implement hooks to customize agent behavior and control tool execution - [Interactive Conversations](https://mintlify.wiki/anthropics/claude-agent-sdk-python/guides/interactive-conversations.md): Use ClaudeSDKClient for bidirectional, stateful conversations with full control - [Working with MCP Servers](https://mintlify.wiki/anthropics/claude-agent-sdk-python/guides/mcp-servers.md): Learn how to use SDK and external MCP servers with the Claude Agent SDK - [Permission Management](https://mintlify.wiki/anthropics/claude-agent-sdk-python/guides/permissions.md): Control tool permissions and manage security with permission modes and callbacks - [Session Management](https://mintlify.wiki/anthropics/claude-agent-sdk-python/guides/sessions.md): Manage sessions, continue conversations, and track file changes with checkpointing - [Installation](https://mintlify.wiki/anthropics/claude-agent-sdk-python/installation.md): Install the Claude Agent SDK for Python and get started in minutes - [Claude Agent SDK for Python](https://mintlify.wiki/anthropics/claude-agent-sdk-python/introduction.md): Build AI agents with Claude Code featuring bidirectional conversations, custom tools, and MCP server support - [Quickstart](https://mintlify.wiki/anthropics/claude-agent-sdk-python/quickstart.md): Get started with the Claude Agent SDK and build your first agent in minutes