{"id":3282,"library":"strands-agents-tools","title":"Strands Agents Tools","description":"Strands Agents Tools is a collection of specialized tools designed for use with Strands Agents. It provides functionalities like web search, code interpretation, and data interaction for Large Language Models. The library maintains a frequent release cadence, often with minor version updates addressing bug fixes, security enhancements, and new tool capabilities. The current version is 0.4.1.","status":"active","version":"0.4.1","language":"en","source_language":"en","source_url":"https://github.com/strands-agents/tools","tags":["ai","agents","tools","large-language-models","llm"],"install":[{"cmd":"pip install strands-agents-tools","lang":"bash","label":"Install core library"}],"dependencies":[{"reason":"Core dependency for many tools' functionality.","package":"strands-agent-core","optional":false},{"reason":"Optional dependency for the `exa_search` tool. Install with `pip install strands-agents-tools[exa]`.","package":"exa","optional":true},{"reason":"Optional dependency for the `selenium_browser` tool. Install with `pip install strands-agents-tools[selenium]`.","package":"selenium","optional":true}],"imports":[{"symbol":"load_tools","correct":"from strands_tools import load_tools"},{"symbol":"exa_search","correct":"from strands_tools import exa_search"}],"quickstart":{"code":"import os\nfrom strands_sdk import Agent # Note: strands-sdk is often used in conjunction with strands-agents-tools\nfrom strands_tools import load_tools\n\n# To use tools like exa_search, install its optional dependency:\n# pip install strands-agents-tools[exa]\n# and set the corresponding API key as an environment variable.\n# Example: os.environ['EXA_API_KEY'] = 'your-exa-api-key'\n\nos.environ['EXA_API_KEY'] = os.environ.get('EXA_API_KEY', 'YOUR_EXA_API_KEY_HERE')\n\ntry:\n    # Load specific tools by name\n    # bypass_tool_consent=True is often useful for quickstarts\n    tools = load_tools(tool_names=[\"exa_search\"], bypass_tool_consent=True)\n\n    # Initialize the agent with the loaded tools\n    # The Agent class typically comes from strands_sdk, install with: pip install strands-sdk\n    agent = Agent(tools=tools)\n\n    # Use the agent with a query\n    response = agent(\"Perform a deep search on recent developments in quantum computing.\")\n    print(f\"Agent Response: {response}\")\n\nexcept ImportError as e:\n    print(f\"Could not load tools or agent: {e}. Ensure all necessary optional dependencies (e.g., '[exa]') and 'strands-sdk' are installed.\")\nexcept Exception as e:\n    print(f\"An error occurred during agent execution: {e}\")\n","lang":"python","description":"This quickstart demonstrates how to load a specific tool (exa_search) from `strands_tools` and integrate it with an `Agent` from `strands_sdk`. It highlights the need to install optional dependencies for specific tools and set environment variables for authentication. Remember to install `strands-sdk` (`pip install strands-sdk`) and any optional dependencies like `strands-agents-tools[exa]`."},"warnings":[{"fix":"Update your `exa_search` calls to use the `deep` search mode. For example, `agent(\"Do a deep search on quantum computing breakthrough\")`.","message":"In version 0.4.0, the `exa_search` tool's API changed significantly. The `neural` and `keyword` search types were removed, and the `deep` search mode was introduced as the primary comprehensive search option.","severity":"breaking","affected_versions":">=0.4.0"},{"fix":"Install the package with the desired optional dependency group, e.g., `pip install strands-agents-tools[exa]` or `pip install strands-agents-tools[selenium]`. Consult the project's `pyproject.toml` or documentation for available groups.","message":"Many tools within `strands-agents-tools` (e.g., `exa_search`, `selenium_browser`, `mongodb_atlas`) require additional optional dependencies to be installed. The core `strands-agents-tools` package does not include these by default.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Set the required environment variables with your API keys before initializing tools or agents. Refer to the specific tool's documentation for the exact variable names.","message":"Most tools require corresponding API keys or credentials to be set as environment variables (e.g., `EXA_API_KEY`, `ANTHROPIC_API_KEY`). Without these, tools will fail to initialize or execute.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Ensure you have `strands-sdk` installed (`pip install strands-sdk`) and import `Agent` from `strands_sdk` (e.g., `from strands_sdk import Agent`).","message":"While the tools are imported from `strands_tools`, the `Agent` class itself, commonly used to orchestrate these tools, is typically provided by the `strands_sdk` library, which needs to be installed separately.","severity":"gotcha","affected_versions":"All versions"},{"fix":"Upgrade to version 0.4.1 or higher to benefit from enhanced security measures for Elasticsearch and MongoDB tools.","message":"Version 0.4.1 introduced namespace validation and fixes for Time-of-Check to Time-of-Use (TOCTOU) vulnerabilities in Elasticsearch and MongoDB memory tools. Older versions might be susceptible to security risks if not properly configured.","severity":"gotcha","affected_versions":"<0.4.1"}],"env_vars":null,"last_verified":"2026-04-11T00:00:00.000Z","next_check":"2026-07-10T00:00:00.000Z"}