Skip to content

Tool Repository

The Tool Repository is a package manager for CrewAI tools. It allows users to publish, install, and manage tools that integrate with CrewAI crews and flows.

Tools can be:

  • Private: accessible only within your organization (default)
  • Public: accessible to all CrewAI users if published with the --public flag

The repository is not a version control system. Use Git to track code changes and enable collaboration.

Before using the Tool Repository, ensure you have:

  • A CrewAI AMP account
  • CrewAI CLI installed
  • uv>=0.5.0 installed. Check out how to upgrade
  • Git installed and configured
  • Access permissions to publish or install tools in your CrewAI AMP organization

To install a tool:

Terminal window
crewai tool install <tool-name>

This installs the tool and adds it to pyproject.toml.

You can use the tool by importing it and adding it to your agents:

from your_tool.tool import YourTool
custom_tool = YourTool()
researcher = Agent(
role='Market Research Analyst',
goal='Provide up-to-date market analysis of the AI industry',
backstory='An expert analyst with a keen eye for market trends.',
tools=[custom_tool],
verbose=True
)

Adding other packages after installing a tool

Section titled “Adding other packages after installing a tool”

After installing a tool from the CrewAI AMP Tool Repository, you need to use the crewai uv command to add other packages to your project. Using pure uv commands will fail due to authentication to tool repository being handled by the CLI. By using the crewai uv command, you can add other packages to your project without having to worry about authentication. Any uv command can be used with the crewai uv command, making it a powerful tool for managing your project’s dependencies without the hassle of managing authentication through environment variables or other methods.

Say that you have installed a custom tool from the CrewAI AMP Tool Repository called “my-tool”:

Terminal window
crewai tool install my-tool

And now you want to add another package to your project, you can use the following command:

Terminal window
crewai uv add requests

Other commands like uv sync or uv remove can also be used with the crewai uv command:

Terminal window
crewai uv sync
Terminal window
crewai uv remove requests

This will add the package to your project and update pyproject.toml accordingly.

To create a new tool project:

Terminal window
crewai tool create <tool-name>

This generates a scaffolded tool project locally.

After making changes, initialize a Git repository and commit the code:

Terminal window
git init
git add .
git commit -m "Initial version"

To publish the tool:

Terminal window
crewai tool publish

By default, tools are published as private. To make a tool public:

Terminal window
crewai tool publish --public

For more details on how to build tools, see Creating your own tools.

To update a published tool:

  1. Modify the tool locally
  2. Update the version in pyproject.toml (e.g., from 0.1.0 to 0.1.1)
  3. Commit the changes and publish
Terminal window
git commit -m "Update version to 0.1.1"
crewai tool publish

To delete a tool:

  1. Go to CrewAI AMP
  2. Navigate to Tools
  3. Select the tool
  4. Click Delete

Every published version undergoes automated security checks, and are only available to install after they pass.

You can check the security check status of a tool at:

CrewAI AMP > Tools > Your Tool > Versions

Need Help?

Contact our support team for assistance with API integration or troubleshooting.