crewai-tools 1.12.2


pip install crewai-tools

  Latest version

Released: Mar 26, 2026


Meta
Author: João Moura
Requires Python: <3.14,>=3.10

Classifiers

Logo of crewAI, two people rowing on a boat

CrewAI Tools

Empower your CrewAI agents with powerful, customizable tools to elevate their capabilities and tackle sophisticated, real-world tasks.

CrewAI Tools provide the essential functionality to extend your agents, helping you rapidly enhance your automations with reliable, ready-to-use tools or custom-built solutions tailored precisely to your needs.


Quick Links

Homepage | Documentation | Examples | Community


Available Tools

CrewAI provides an extensive collection of powerful tools ready to enhance your agents:

  • File Management: FileReadTool, FileWriteTool
  • Web Scraping: ScrapeWebsiteTool, SeleniumScrapingTool
  • Database Integrations: MySQLSearchTool
  • Vector Database Integrations: MongoDBVectorSearchTool, QdrantVectorSearchTool, WeaviateVectorSearchTool
  • API Integrations: SerperApiTool, EXASearchTool
  • AI-powered Tools: DallETool, VisionTool, StagehandTool

And many more robust tools to simplify your agent integrations.


Creating Custom Tools

CrewAI offers two straightforward approaches to creating custom tools:

Subclassing BaseTool

Define your tool by subclassing:

from crewai.tools import BaseTool

class MyCustomTool(BaseTool):
    name: str = "Tool Name"
    description: str = "Detailed description here."

    def _run(self, *args, **kwargs):
        # Your tool logic here

Using the tool Decorator

Quickly create lightweight tools using decorators:

from crewai import tool

@tool("Tool Name")
def my_custom_function(input):
    # Tool logic here
    return output

CrewAI Tools and MCP

CrewAI Tools supports the Model Context Protocol (MCP). It gives you access to thousands of tools from the hundreds of MCP servers out there built by the community.

Before you start using MCP with CrewAI tools, you need to install the mcp extra dependencies:

pip install crewai-tools[mcp]
# or
uv add crewai-tools --extra mcp

To quickly get started with MCP in CrewAI you have 2 options:

Option 1: Fully managed connection

In this scenario we use a contextmanager (with statement) to start and stop the the connection with the MCP server. This is done in the background and you only get to interact with the CrewAI tools corresponding to the MCP server's tools.

For an STDIO based MCP server:

from mcp import StdioServerParameters
from crewai_tools import MCPServerAdapter

serverparams = StdioServerParameters(
    command="uvx",
    args=["--quiet", "pubmedmcp@0.1.3"],
    env={"UV_PYTHON": "3.12", **os.environ},
)

with MCPServerAdapter(serverparams) as tools:
    # tools is now a list of CrewAI Tools matching 1:1 with the MCP server's tools
    agent = Agent(..., tools=tools)
    task = Task(...)
    crew = Crew(..., agents=[agent], tasks=[task])
    crew.kickoff(...)

For an SSE based MCP server:

serverparams = {"url": "http://localhost:8000/sse"}
with MCPServerAdapter(serverparams) as tools:
    # tools is now a list of CrewAI Tools matching 1:1 with the MCP server's tools
    agent = Agent(..., tools=tools)
    task = Task(...)
    crew = Crew(..., agents=[agent], tasks=[task])
    crew.kickoff(...)

Option 2: More control over the MCP connection

If you need more control over the MCP connection, you can instanciate the MCPServerAdapter into an mcp_server_adapter object which can be used to manage the connection with the MCP server and access the available tools.

important: in this case you need to call mcp_server_adapter.stop() to make sure the connection is correctly stopped. We recommend that you use a try ... finally block run to make sure the .stop() is called even in case of errors.

Here is the same example for an STDIO MCP Server:

from mcp import StdioServerParameters
from crewai_tools import MCPServerAdapter

serverparams = StdioServerParameters(
    command="uvx",
    args=["--quiet", "pubmedmcp@0.1.3"],
    env={"UV_PYTHON": "3.12", **os.environ},
)

try:
    mcp_server_adapter = MCPServerAdapter(serverparams)
    tools = mcp_server_adapter.tools
    # tools is now a list of CrewAI Tools matching 1:1 with the MCP server's tools
    agent = Agent(..., tools=tools)
    task = Task(...)
    crew = Crew(..., agents=[agent], tasks=[task])
    crew.kickoff(...)

# ** important ** don't forget to stop the connection
finally: 
    mcp_server_adapter.stop()

And finally the same thing but for an SSE MCP Server:

from mcp import StdioServerParameters
from crewai_tools import MCPServerAdapter

serverparams = {"url": "http://localhost:8000/sse"}

try:
    mcp_server_adapter = MCPServerAdapter(serverparams)
    tools = mcp_server_adapter.tools
    # tools is now a list of CrewAI Tools matching 1:1 with the MCP server's tools
    agent = Agent(..., tools=tools)
    task = Task(...)
    crew = Crew(..., agents=[agent], tasks=[task])
    crew.kickoff(...)

# ** important ** don't forget to stop the connection
finally: 
    mcp_server_adapter.stop()

Considerations & Limitations

Staying Safe with MCP

Always make sure that you trust the MCP Server before using it. Using an STDIO server will execute code on your machine. Using SSE is still not a silver bullet with many injection possible into your application from a malicious MCP server.

Limitations

  • At this time we only support tools from MCP Server not other type of primitives like prompts, resources...
  • We only return the first text output returned by the MCP Server tool using .content[0].text

Why Use CrewAI Tools?

  • Simplicity & Flexibility: Easy-to-use yet powerful enough for complex workflows.
  • Rapid Integration: Seamlessly incorporate external services, APIs, and databases.
  • Enterprise Ready: Built for stability, performance, and consistent results.

Contribution Guidelines

We welcome contributions from the community!

  1. Fork and clone the repository.
  2. Create a new branch (git checkout -b feature/my-feature).
  3. Commit your changes (git commit -m 'Add my feature').
  4. Push your branch (git push origin feature/my-feature).
  5. Open a pull request.

Developer Quickstart

pip install crewai[tools]

Development Setup

  • Install dependencies: uv sync
  • Run tests: uv run pytest
  • Run static type checking: uv run pyright
  • Set up pre-commit hooks: pre-commit install

Support and Community

Join our rapidly growing community and receive real-time support:

Build smarter, faster, and more powerful AI solutions—powered by CrewAI Tools.

1.13.0rc1 Mar 27, 2026
1.13.0rc1.dev20260331 Mar 31, 2026
1.13.0rc1.dev20260328 Mar 28, 2026
1.13.0rc1.dev20260327 Mar 27, 2026
1.13.0a7 Apr 02, 2026
1.13.0a6 Apr 01, 2026
1.13.0a6.dev20260402 Apr 02, 2026
1.13.0a5 Apr 01, 2026
1.13.0a4 Mar 31, 2026
1.13.0a4.dev20260401 Apr 01, 2026
1.13.0a3 Mar 31, 2026
1.13.0a2 Mar 26, 2026
1.13.0a1 Mar 26, 2026
1.12.2 Mar 26, 2026
1.12.1 Mar 26, 2026
1.12.1.dev20260326 Mar 26, 2026
1.12.0 Mar 26, 2026
1.12.0a3 Mar 25, 2026
1.12.0a2 Mar 25, 2026
1.12.0a1 Mar 25, 2026
1.11.1 Mar 23, 2026
1.11.1.dev20260325 Mar 25, 2026
1.11.1.dev20260324 Mar 24, 2026
1.11.0 Mar 18, 2026
1.11.0rc2 Mar 17, 2026
1.11.0rc2.dev20260318 Mar 18, 2026
1.11.0rc1 Mar 16, 2026
1.11.0rc1.dev20260317 Mar 17, 2026
1.11.0rc1.dev20260316 Mar 16, 2026
1.11.0.dev20260323 Mar 23, 2026
1.11.0.dev20260321 Mar 21, 2026
1.11.0.dev20260320 Mar 20, 2026
1.11.0.dev20260319 Mar 19, 2026
1.10.2rc2 Mar 14, 2026
1.10.2rc2.dev20260315 Mar 15, 2026
1.10.2rc2.dev20260314 Mar 14, 2026
1.10.2rc1 Mar 13, 2026
1.10.2a1 Mar 11, 2026
1.10.2a1.dev20260313 Mar 13, 2026
1.10.2a1.dev20260312 Mar 12, 2026
1.10.1 Mar 04, 2026
1.10.1b1 Feb 27, 2026
1.10.1b0 Feb 27, 2026
1.10.1a1 Feb 27, 2026
1.10.1a0 Feb 27, 2026
1.10.1.dev20260311 Mar 11, 2026
1.10.1.dev20260310 Mar 10, 2026
1.10.1.dev20260309 Mar 09, 2026
1.10.1.dev20260307 Mar 07, 2026
1.10.0 Feb 27, 2026
1.10.0a1 Feb 19, 2026
1.9.3 Jan 30, 2026
1.9.2 Jan 29, 2026
1.9.1 Jan 28, 2026
1.9.0 Jan 27, 2026
1.8.1 Jan 15, 2026
1.8.0 Jan 08, 2026
1.7.2 Dec 19, 2025
1.7.1 Dec 16, 2025
1.7.0 Dec 09, 2025
1.6.1 Nov 29, 2025
1.6.0 Nov 25, 2025
1.5.0 Nov 16, 2025
1.4.1 Nov 07, 2025
1.4.0 Nov 07, 2025
1.3.0 Nov 01, 2025
1.2.1 Oct 27, 2025
1.2.0 Oct 24, 2025
1.1.0 Oct 21, 2025
1.0.0 Oct 20, 2025
1.0.0b3 Oct 18, 2025
1.0.0b2 Oct 16, 2025
1.0.0b1 Oct 14, 2025
1.0.0a4 Oct 09, 2025
1.0.0a3 Oct 03, 2025
1.0.0a2 Oct 02, 2025
1.0.0a1 Sep 28, 2025
0.76.0 Oct 08, 2025
0.75.0 Sep 26, 2025
0.74.1 Sep 26, 2025
0.74.0 Sep 25, 2025
0.73.1 Sep 20, 2025
0.73.0 Sep 19, 2025
0.71.0 Sep 10, 2025
0.69.0 Sep 03, 2025
0.65.0 Aug 27, 2025
0.62.3 Aug 19, 2025
0.62.2 Aug 19, 2025
0.62.1 Aug 19, 2025
0.62.0 Aug 13, 2025
0.60.0 Aug 06, 2025
0.59.0 Jul 30, 2025
0.58.0 Jul 23, 2025
0.55.0 Jul 16, 2025
0.51.1 Jul 09, 2025
0.51.0 Jul 09, 2025
0.49.0 Jul 02, 2025
0.48.0 Jun 25, 2025
0.47.1 Jun 11, 2025
0.47.0 Jun 05, 2025
0.46.0 May 28, 2025
0.45.0 May 14, 2025
0.44.0 May 07, 2025
0.43.0 Apr 29, 2025
0.42.2 Apr 28, 2025
0.42.0 Apr 24, 2025
0.40.1 Apr 08, 2025
0.40.0 Apr 07, 2025
0.38.1 Mar 18, 2025
0.38.0 Mar 14, 2025
0.37.0 Mar 09, 2025
0.36.0 Feb 12, 2025
0.33.0 Jan 28, 2025
0.32.1 Jan 19, 2025
0.32.0 Jan 19, 2025
0.25.8 Jan 03, 2025
0.25.7 Jan 03, 2025
0.25.6 Jan 03, 2025
0.25.5 Jan 03, 2025
0.25.4 Jan 03, 2025
0.25.3 Jan 03, 2025
0.25.2 Jan 03, 2025
0.25.1 Jan 03, 2025
0.25.0 Jan 03, 2025
0.17.0 Dec 05, 2024
0.14.0 Nov 10, 2024
0.13.4 Oct 30, 2024
0.13.2 Oct 18, 2024
0.13.1 Oct 17, 2024
0.13.0 Oct 17, 2024
0.12.1 Sep 18, 2024
0.12.0 Sep 02, 2024
0.8.3 Aug 11, 2024
0.8.0 Aug 11, 2024
0.4.26 Jul 19, 2024
0.4.25 Jul 19, 2024
0.4.8 Jul 08, 2024
0.4.7 Jul 04, 2024
0.4.6 Jul 02, 2024
0.4.5 Jul 02, 2024
0.4.4 Jul 01, 2024
0.4.3 Jul 01, 2024
0.4.1 Jul 01, 2024
0.4.0 Jun 27, 2024
0.3.0 Jun 20, 2024
0.2.6 May 14, 2024
0.2.5 May 09, 2024
0.2.4 May 06, 2024
0.2.3 May 03, 2024
0.2.2 May 02, 2024
0.2.1 May 02, 2024
0.2.0 May 02, 2024
0.1.7 Apr 10, 2024
0.1.6 Apr 07, 2024
0.1.5 Apr 06, 2024
0.1.4 Apr 04, 2024
0.1.3 Apr 04, 2024
0.1.2 Apr 03, 2024
0.1.1 Mar 27, 2024
0.1.0 Mar 19, 2024
0.0.16 Mar 07, 2024
0.0.15 Mar 03, 2024
0.0.14 Mar 02, 2024
0.0.12 Feb 26, 2024
0.0.11 Feb 26, 2024
0.0.10 Feb 26, 2024
0.0.9 Feb 26, 2024
0.0.7 Feb 24, 2024
0.0.6 Feb 22, 2024
0.0.5 Feb 22, 2024
0.0.3 Feb 20, 2024
0.0.2 Feb 19, 2024
0.0.1 Jan 15, 2024

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies:
beautifulsoup4 (~=4.13.4)
crewai (==1.12.2)
docker (~=7.1.0)
pymupdf (~=1.26.6)
python-docx (~=1.2.0)
pytube (~=15.0.0)
requests (~=2.32.5)
tiktoken (~=0.8.0)
youtube-transcript-api (~=1.2.2)