Find, install, update, and remove tools from tool.store
This page covers everything you need to know about finding tools on the registry, installing them on your machine, keeping them updated, and removing them when you no longer need them.
You can find tools either on the tool.store website or using the CLI.
The tool.store website provides a browseable catalog of all published tools. You can filter by runtime (Node.js, Python, Rust, Go) and sort by various criteria like download count or recently updated. Each tool has a detail page showing its description, version history, author information, and the tools, prompts, and resources it provides.
The website also shows screenshots and longer descriptions that might not appear in the CLI output. If you are exploring what tools exist or want to compare options, the website is a good place to start.
The tool search command queries the registry from your terminal:
tool search filesystemThis searches tool names, descriptions, and keywords. Results show the namespace, name, and short description for each matching tool.
You can search for multiple terms:
tool search database postgresThe search returns tools that match any of the terms, ranked by relevance.
Before installing a tool, you can preview what it provides using tool preview:
tool preview library/open-dataThis fetches the manifest from the registry and shows you the tool's capabilities without downloading or installing anything. You see the tools, prompts, and resources it exposes.
To see the full schemas for each method:
tool preview library/open-data --allTo inspect a specific method:
tool preview library/bash -m execThis is helpful when you want to understand what a tool does before committing to install it.
For installed tools or local projects, use tool info:
tool info library/bashThis displays:
For more detail about tool schemas, add flags:
tool info library/bash --tools # Show tool details
tool info library/bash --all # Show everything including schemas
tool info library/bash --json # Output as JSON for scriptingThe --all flag shows the complete input schema for each tool, which tells you exactly what parameters each function accepts.
The basic install command downloads and installs a tool from tool.store:
tool install namespace/toolnameFor example:
tool install library/bashThe CLI downloads the bundle (.mcpb or .mcpbx) from the registry, extracts it to ~/.tool/tools/namespace/toolname/, and runs any necessary setup like installing npm packages or Python dependencies.
By default, tool install gets the latest version. You can pin to a specific version:
tool install library/bash@1.0.0You can also use version ranges:
tool install library/bash@1 # Latest 1.x.x
tool install library/bash@1.2 # Latest 1.2.xVersion ranges let you get bug fixes while staying on a compatible version. If you need exact reproducibility, pin to a full version number.
For tools with platform-specific builds, the CLI automatically downloads the bundle matching your system:
tool install library/bashOn an Apple Silicon Mac, this downloads the darwin-arm64 bundle. If no platform-specific bundle matches your system, it falls back to the universal bundle.
You can explicitly request a specific platform:
tool install library/bash --platform=darwin-arm64 # Apple Silicon Mac
tool install library/bash --platform=linux-x64 # Linux x64
tool install library/bash --platform=universal # Universal bundleSupported platforms:
| Platform | Description |
|---|---|
darwin-arm64 | Apple Silicon Mac |
darwin-x64 | Intel Mac |
linux-arm64 | Linux ARM64 |
linux-x64 / linux-x86_64 | Linux x64 |
win32-x64 | Windows x64 |
universal | Universal bundle (all platforms) |
You can install tools from local directories or files instead of the registry. This is useful for testing tools you are developing or installing tools that are not published.
Install from a directory:
tool install ./my-local-toolInstall from a bundle file:
tool install ~/downloads/some-tool.mcpb
tool install ~/downloads/some-tool.mcpbxLocal installations work the same as registry installations. The CLI reads the manifest and sets up the tool accordingly.
Installed tools live under ~/.tool/tools/. Each tool gets its own directory named after its reference:
~/.tool/tools/
├── library/
│ └── bash/
│ ├── manifest.json
│ ├── server/
│ └── ...
├── local-tool/
│ └── ...Registry tools go under their namespace directory. Local tools go directly under tools/ without a namespace.
To see what you have installed:
tool listThis shows all installed tools with their versions.
You can filter the list:
tool list bash # Show tools matching "bash"
tool list --filter appcypher # Filter by namespaceFor more detail:
tool list --full # Include tool capabilities
tool list --json # Machine-readable outputThe --full flag shows what tools, prompts, and resources each installed tool provides. The --json flag outputs structured data you can pipe to other commands.
For installed tools, tool info works the same as for registry tools:
tool info library/bashYou can also point it at a local directory:
tool info ./my-projectThis reads the manifest from that directory and displays the tool's information without installing it. Useful for checking a tool before installation or inspecting a tool you are building.
To update an installed tool to a newer version, install it again:
tool install library/bashIf a newer version exists on the registry, the CLI downloads and installs it, replacing the old version.
To check if updates are available without installing them, you can compare the installed version (from tool list) with the latest version (from tool info).
Currently there is no dedicated tool update command. The install command handles updates.
To uninstall a tool:
tool uninstall library/bashThis removes the tool's directory from ~/.tool/tools/. It does not remove configuration you have set for the tool. If you reinstall the tool later, your configuration will still be there.
Uninstalling a tool does not automatically remove it from your MCP hosts. If you have registered the tool with Claude Desktop or another host, you should also run:
tool host remove claude-desktop library/bashOtherwise the host will try to start a tool that no longer exists and fail.
Sometimes you want to download a tool's bundle without installing it. The tool download command does this:
tool download library/bashThis downloads the bundle to the current directory. You can specify an output path:
tool download library/bash -o ~/tools/bash.mcpbDownloaded bundles are regular .mcpb or .mcpbx files. You can inspect them, share them, or install them later with tool install.
Like install, download automatically selects the bundle matching your system. You can override this:
tool download library/bash --platform=darwin-arm64 # Specific platform
tool download library/bash --platform=universal # Universal bundle
tool download library/bash --platform=linux-x64 # For Linux x64This is useful for:
The tool grep command searches through the schemas of installed tools:
tool grep fileThis finds tools with "file" in their name, description, or schema. It helps you discover what capabilities you already have installed.
You can narrow the search:
tool grep file --name # Search only tool names
tool grep file --description # Search only descriptions
tool grep file -i # Case-insensitive searchYou can also search a specific tool:
tool grep read library/bashThis searches only within that tool's schema.
You can install multiple tools in a single command:
tool install library/bash library/filesystem library/gitEach tool installs independently. If one fails, the others still install.
When adding tools to a host, you can add multiple at once:
tool host add claude-desktop library/bash library/filesystemOr add all installed tools:
tool host add claude-desktopIf installation fails, the error message usually indicates why. Common causes:
~/.tool/For dependency issues with Node tools, try deleting the tool's directory and reinstalling:
rm -rf ~/.tool/tools/namespace/toolname
tool install namespace/toolnameIf tool install says the tool was not found, check:
library/bash not just bash)If the installed version does not match what you expected, check whether you specified a version range. tool install namespace/name@1 installs the latest 1.x.x, which might be newer than what you tested with. Pin to a full version for reproducibility.