Installation¶
Python 3.11+ required.
For the quickest path, see Quickstart. This page covers all platforms and optional features.
System Requirements¶
| Requirement | Version | Purpose |
|---|---|---|
| Python | >= 3.11 | Runtime environment |
| uv | Latest | Package management |
Installing System Requirements¶
macOS:
Linux (Debian/Ubuntu):
Windows:
Install¶
This installs onetool and bench commands globally with the core tool set.
Optional Tool Packs¶
Tools are split into optional extras for leaner installs:
| Extra | Tools | Install |
|---|---|---|
[util] |
brave, convert, excel, file, ground, mem |
uv tool install 'onetool-mcp[util]' |
[dev] |
aws, chrome_util, context7, db, diagram, package, play_util, ripgrep, web, worktree |
uv tool install 'onetool-mcp[dev]' |
[all] |
Everything | uv tool install 'onetool-mcp[all]' |
# Install with all tools
uv tool install 'onetool-mcp[all]'
# Install with specific extras
uv tool install 'onetool-mcp[util,dev]'
Optional: For safe file deletion (moves to trash instead of permanent delete), add send2trash:
Upgrade¶
Or to upgrade all tools:
Uninstall¶
This removes the tool and its isolated environment. Any config directories you created are preserved.
From Source (Development)¶
Local Development Install¶
Code changes are picked up immediately. Reinstall only for new entry points, dependencies, or top-level packages.
API Keys¶
API keys are stored in secrets.yaml (gitignored) and passed to the server via --secrets:
| Key | Service | Used By |
|---|---|---|
OPENAI_API_KEY |
OpenAI-compatible providers (including OpenRouter) | ot_llm.transform |
BRAVE_API_KEY |
Brave Search | brave.* tools |
CONTEXT7_API_KEY |
Context7 | context7.* tools |
Example secrets.yaml¶
Pass it to the server via --secrets /path/to/secrets.yaml. If omitted, no secrets are loaded.
Configuration Variables¶
| Variable | Default | Purpose |
|---|---|---|
OT_LOG_LEVEL |
INFO |
Logging verbosity |
OT_LOG_DIR |
../logs |
Log file directory (relative to config) |
Transform Tool Configuration¶
The transform tool requires explicit configuration in onetool.yaml under tools.ot_llm:
tools:
ot_llm:
base_url: "https://openrouter.ai/api/v1" # Required
model: "openai/gpt-5-mini" # Required
The tool is not available until both base_url and model are configured, plus OPENAI_API_KEY in secrets.
MCP Configuration¶
Claude Code¶
Add to ~/.claude/mcp.json (or use claude mcp add):
{
"mcpServers": {
"onetool": {
"command": "onetool",
"args": ["--config", "/path/to/.onetool/onetool.yaml", "--secrets", "/path/to/.onetool/secrets.yaml"]
}
}
}
Or using the CLI:
claude mcp add onetool -- onetool --config ~/.onetool/onetool.yaml --secrets ~/.onetool/secrets.yaml
External Tools¶
Ripgrep Search¶
# macOS
brew install ripgrep
# Linux
apt install ripgrep
# Windows
winget install BurntSushi.ripgrep.MSVC
Verify Installation¶
# Check version
onetool --version
# Initialize and validate config
onetool init -c ~/.onetool
onetool init validate -c ~/.onetool/onetool.yaml
# Run benchmarks (from source)
bench run demo/bench/compare.yaml
Next Steps¶
- Configuration - YAML schema and options
- CLI Reference - Command-line tools