LABSCO SUMMARY
Unlimited tools without the per-server tool definitions.
Because the tools are functions, the agent can batch, chain and loop them in one request — fetch a page, summarise it on a cheaper model, and write the result to memory — and the intermediate values stay inside the runtime instead of passing through the conversation.
What it is
A single MCP server that exposes its tools as a Python API rather than as individual tool definitions. The agent writes a snippet — __onetool brave.search(query="…") — and the runtime executes it, so intermediate results flow between calls as variables instead of through the conversation.
What you get
- Search and docs —
bravefor web, news, image, video and batch search;groundfor Google-grounded results with sources;tavilyfor research and extraction;webfetchfor page content with extraction controls - Files and data —
fileoperations with path boundaries,excelwith 24 tools,dbfor SQL databases,archfor architecture models exported as editable SVG - Context economy —
ot_context(aliasedctx) stores large outputs as searchable handles with grep, slice and toc, so a page body never enters your context window;ot_image(img) runs vision on a dedicated cheap model;ot_llmdelegates transforms to another model - Persistent state —
memwith semantic and keyword search plus history and rollback,knowledgebases,localhistfor Git-backed project snapshots - Visual —
diagramrenders Mermaid, PlantUML and D2 through Kroki, plus a live whiteboard with a Mermaid-compatible DSL - Runtime —
ot_serversenables, disables and restarts proxied MCP servers mid-conversation with no client restart;ot_secretshandles encrypted secrets;ot_forgescaffolds new tool packs;ot_timerfor named timers - Forgiving call conventions: any unambiguous parameter prefix resolves (
q=becomesquery=), packs have short aliases, snake, camel and Pascal names all resolve on proxied servers, and a typo gets a did-you-mean
Requirements
Python 3.12+. The bootstrap script installs uv if it is missing and prints the client config; manually it is uv tool install 'onetool-mcp[all]' then onetool init --config ~/.onetool, then onetool init mcp-config --client claude-code to print a ready-to-paste entry. Check the result with onetool init validate --config ~/.onetool/onetool.yaml. Security is allowlist-based and everything is blocked by default: the bundled security.yaml is not loaded automatically and must be listed under include:, which onetool init does for you but a hand-written config will not. API keys for the search packs and credentials for any proxied server live in secrets.yaml, passed with --secrets.
Setup effort
Follow the published steps — uv tool install 'onetool-mcp[all]'
USE CASES
Researching something without flooding the context
Search, fetch the pages, and transform them on a cheaper model in one snippet — the page bodies live in the context store and only the answer comes back.
Keeping what you learned between sessions
Write findings into memory with a topic, then search them semantically later; history and rollback mean a bad write is recoverable.
Consolidating the servers you already run
Register your existing MCP servers as proxied entries, then enable, disable or restart any of them mid-conversation without touching the client.
Reading a spreadsheet properly
Full Excel control — read, write, formulas and tables — instead of exporting to CSV and pasting it in.
Drawing the architecture you just described
Render Mermaid, PlantUML or D2, or build an architecture model and export it as an editable SVG.
Asking about an image cheaply
Vision runs on a dedicated model, so the picture is examined without spending your coding agent's context on it.
BEFORE YOU INSTALL
What to know first
Requires
- Python 3.12+
- uv
INSTALLATION
Connect your client
Server setup
uv tool install 'onetool-mcp[all]'
onetool init --config ~/.onetoolMCP Clients
Claude Code
onetool init mcp-config --client claude-codeClaude Desktop
onetool init mcp-config --client claude-desktopCursor
onetool init mcp-config --client cursorVS Code
onetool init mcp-config --client vscode