langchain_community.agent_toolkits.load_tools.load_tools(tool_names: List[str], llm: Optional[BaseLanguageModel] = None, callbacks: Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]] = None, allow_dangerous_tools: bool = False, **kwargs: Any) List[BaseTool][source]

Load tools based on their name.

Tools allow agents to interact with various resources and services like APIs, databases, file systems, etc.

Please scope the permissions of each tools to the minimum required for the application.

For example, if an application only needs to read from a database, the database tool should not be given write permissions. Moreover consider scoping the permissions to only allow accessing specific tables and impose user-level quota for limiting resource usage.

Please read the APIs of the individual tools to determine which configuration they support.

See [Security]( for more information.

  • tool_names (List[str]) – name of tools to load.

  • llm (Optional[BaseLanguageModel]) – An optional language model, may be needed to initialize certain tools.

  • callbacks (Optional[Union[List[BaseCallbackHandler], BaseCallbackManager]]) – Optional callback manager or list of callback handlers. If not provided, default global callback manager will be used.

  • allow_dangerous_tools (bool) – Optional flag to allow dangerous tools. Tools that contain some level of risk. Please use with caution and read the documentation of these tools to understand the risks and how to mitigate them. Refer to for more information. Please note that this list may not be fully exhaustive. It is your responsibility to understand which tools you’re using and the risks associated with them.

  • kwargs (Any) –


List of tools.

Return type


Examples using load_tools