# OneTool > MCP server exposing a single `run` tool for LLM code execution. OneTool reduces tool-definition context overhead by exposing tools as Python APIs. ## Quick Start ```bash uv tool install 'onetool-mcp[all]' onetool init --config ~/.onetool onetool --config ~/.onetool/onetool.yaml --secrets ~/.onetool/secrets.yaml ``` ## Invocation ```python >>> brave.search(query="AI news") ``` ## Packs Source of truth: `src/ot/config/global_templates/prompts.yaml` (`prompts.packs`). | Pack | Extra | Description | |---|---|---| | `ot` | `core` | ** Discover tools, packs. Get the help you need to call them correctly. The BEST PLACE to start. ** | | `aws` | `[dev]` | Manage AWS resources — dynamically enable any of their 50+ dedicated MCP tools | | `brave` | `[util]` | Search the web, news, and images — fast, private, with batch support | | `chrome_util` | `[dev]` | Annotate and highlight page elements via Chrome DevTools | | `context7` | `[dev]` | Pull up-to-date docs for any library — React, FastAPI, etc. | | `convert` | `[util]` | Turn PDF, Word, Excel, and PowerPoint files into clean markdown | | `db` | `[dev]` | Explore and query databases — list tables, inspect schema, run SQL | | `diagram` | `[dev]` | Create diagrams — Mermaid, Graphviz, PlantUML, D2, Excalidraw [experimental] | | `excel` | `[util]` | Work with Excel files — read, write, search, pivot, and set formulas | | `file` | `[util]` | Read, write, edit, copy, move, and delete files; browse directory trees | | `ground` | `[util]` | Research any topic with Google AI-grounded search and source citations | | `mem` | `[util]` | Persistent topic-based memory — write, search, grep, slice, and organise | | `ot_context` | `core` | Smart context store — ask, read, search, grep large tool responses without filling context window; format-aware toc/slice/query for json, yaml, and markdown | | `ot_forge` | `core` | Scaffold and generate code from templates | | `ot_image` | `core` | Vision analysis via dedicated model — load images, ask questions, get summaries; zero tokens to host session | | `ot_llm` | `core` | Run any text through an LLM — summarise, extract, reformat, translate | | `ot_secrets` | `core` | Store and retrieve API keys and secrets for OneTool services | | `ot_timer` | `core` | Time tool calls and report performance | | `package` | `[dev]` | Look up PyPI and npm packages, audit deps, find the latest AI models | | `play_util` | `[dev]` | Annotate and highlight page elements via Playwright | | `ripgrep` | `[dev]` | Search code and text at speed — regex, globs, file types, context lines | | `tavily` | `[util]` | Search the web with Tavily AI — clean results, answer summaries, URL extraction | | `webfetch` | `[dev]` | Fetch any URL and extract clean, readable content | | `whiteboard` | `[dev]` | Live whiteboard using Excalidraw — you can **draw** diagrams with a powerful DSL, assisted by AI | ## Documentation - Learn: `docs/learn/` - Extending: `docs/learn/extension-tools.md` - Tool Reference: `docs/reference/tools/` - CLI Reference: `docs/reference/cli/` - Server Reference: `docs/reference/servers/` ## Adding Tools Create a new extension module (example path): ```python # src/mytool.py from ot.decorators import tool pack = "mytool" @tool def hello(*, name: str) -> str: """Return a greeting.""" return f"Hello, {name}!" ``` Then include it in your config `tools_dir` glob. ## Repository https://github.com/beycom/onetool-mcp ## License GPLv3