--- title: "Built-in Tools" description: "Ready-to-use tools that ship with Agency Swarm framework." icon: "toolbox" --- Agency Swarm includes a set of built-in tools that provide common functionality for your agents. These tools are production-ready and can be used immediately without additional configuration. ## Quick Overview Execute Python code in an isolated environment with persistent state. Run shell commands in a persistent terminal session. Load and process local images and PDF files. ## Tool Details Executes Python code in an isolated IPython environment with persistent state between calls. ### Use Cases **Data Analysis** Analyze and process datasets **Calculations** Perform mathematical and statistical operations **Testing** Test code snippets in a safe environment **Scripts** Run Python scripts and automation ### Usage Example ```python from agency_swarm import Agent from agency_swarm.tools import IPythonInterpreter data_analyst = Agent( name="Data Analyst", description="Analyzes data using Python", instructions="./instructions.md", tools=[IPythonInterpreter] ) ``` Similar to the Agents SDK `LocalShellTool`, but works with any model. Executes shell commands in a persistent terminal session, maintaining state across multiple commands. ### Use Cases **CLI Commands** Execute command-line operations **File Operations** Navigate and manage file systems **Git Operations** Version control and repository management **Build Operations** Run build scripts and compile code ### Usage Example ```python from agency_swarm import Agent from agency_swarm.tools import PersistentShellTool devops_agent = Agent( name="DevOps Agent", description="Manages deployment and infrastructure", instructions="./instructions.md", tools=[PersistentShellTool] ) ``` Loads local files and returns them in the appropriate format for the agent to view. Only supports images and PDF files. For other file types, use the `FileSearch` and `CodeInterpreter` tools from the Agents SDK. ### Use Cases **Image Processing** Load and analyze image files **PDF Reading** Extract and process PDF content **User Files** Handle user-uploaded file attachments **File Analysis** Inspect and analyze local files ### Usage Example ```python from agency_swarm import Agent from agency_swarm.tools import LoadFileAttachment file_processor = Agent( name="File Processor", description="Processes and analyzes local files", instructions="./instructions.md", tools=[LoadFileAttachment] ) ``` The agent can use both absolute paths and paths relative to the current working directory. Make sure to instruct your agent accordingly on how to use this tool. --- ## Next Steps Build your own tools from scratch Convert APIs into tools Use Model Context Protocol tools