CrewAI Tools
A rich collection of ready-to-use and custom-buildable tools that extend the capabilities of CrewAI agents.
Repository Health
Technical Analysis
CrewAI Tools is the official tool library for CrewAI, the popular multi-agent framework. It provides a large catalog of ready-to-use tools that give agents concrete capabilities: web search and scraping, file and database access, vector-store retrieval, code execution, and integrations with third-party APIs and AI services.
Beyond the built-in tools, the package supplies base classes and decorators for authoring custom tools, plus adapters that bring tools from ecosystems like LangChain into CrewAI. It is the primary way to move a CrewAI agent from reasoning-only to actually acting on the outside world.
What You Get
- Dozens of prebuilt tools for web search, scraping, file I/O, and database queries.
- Vector-database and RAG tools for Qdrant, Weaviate, MongoDB, and PGVector.
- AI-powered tools such as DALL-E image generation and vision analysis.
- Base classes and a
@tooldecorator for authoring custom tools quickly.
Common Use Cases
- Giving CrewAI agents the ability to search the web and scrape pages during a task.
- Adding retrieval-augmented generation over a vector store to an agent crew.
- Wrapping an internal API or database as a reusable custom tool for agents.
Under The Hood
Architecture
The library centers on a BaseTool abstraction (Pydantic-backed) and a @tool decorator; each concrete tool under crewai_tools/tools/ implements a _run method with a typed args schema. A generate_tool_specs.py step emits tool.specs.json describing every tool. CrewAI agents receive a list of these tool instances and invoke them by name during the reasoning loop.
Tech Stack
Python packaged with uv, built on Pydantic for tool schemas and the CrewAI core. Individual tools pull in optional dependencies for the services they wrap (scraping engines, vector-database clients, model SDKs), keeping the base install lean via extras.
Code Quality
The repo includes a tests suite, a BUILDING_TOOLS.md authoring guide, and a generated tool.specs.json contract. The standalone repository is now deprecated in favor of the maintained lib/crewai-tools package inside the main CrewAI monorepo, which carries active CI and releases.
API Design
Tool authoring is intentionally low-boilerplate: subclass BaseTool with a name, description, and args_schema, or annotate a function with @tool. Attaching tools to an agent is a plain list assignment. The consistency of the description/args_schema contract is what lets the LLM select and call tools reliably, and the documentation at docs.crewai.com covers each tool.