Skip to main content

🧿 One MCP for developers - No tool tax, no context rot. 100+ tools including Brave, Gemini, Context7, Version Checker, Excel, File Ops, Database, Chrome DevTools.

Reason this release was yanked:

RC

Project description

OneTool

🧿 One MCP for developers - No tool tax, no context rot.
100+ tools including Brave, Gemini, Context7, Version Checker, Excel, File Ops, Database, Chrome DevTools.

PyPI License Python GitHub stars

Works with Claude Code or any MCP client


The Problem

Each MCP server consumes 3K-30K tokens per request. Connect 5 servers and you've burned 55K tokens before the conversation starts. Connect 10+ and you're at 100K tokens.

The math is brutal: Claude Opus 4.5 at $5/M input tokens, 20 days × 10 conversations × 10 messages × 3K tokens = $30/month per MCP server - even if you never use the tools.

And then there's context rot - your AI literally gets dumber as you add more tools (Chroma Research, 2025).

The Solution

OneTool is one MCP server that exposes tools as a Python API. Instead of reading tool definitions, your agent writes code:

__ot brave.search(query="react docs 2026")

Configure one MCP server. Use unlimited tools.

"Agents scale better by writing code to call tools instead. This reduces the token usage from 150,000 tokens to 2,000 tokens...a cost saving of 98.7%"

Anthropic Engineering

96% fewer tokens. 24× lower cost. No context rot.

📖 Read the full story


See It In Action

Demo Description
Compare the Search Side-by-side token comparison
Build a Wikipedia Tool Create a custom tool in seconds

Install

Requires uv:

uv tool install onetool-mcp
onetool init

Add to Claude Code:

claude mcp add onetool onetool

Or manually add to ~/.claude/mcp.json:

{
  "mcpServers": {
    "onetool": {
      "command": "onetool"
    }
  }
}

That's it. All 100+ tools work out of the box.

Verify: onetool init validate

📖 Full installation guide


Features

Feature Description
96% Token Savings ~2K tokens no matter how many tools you add
100+ Built-in Tools Web search, databases, file ops, diagrams, conversions
Explicit Execution See exactly what runs - __ot brave.search(q="AI")
MCP Server Proxy Wrap existing MCP servers without the tool tax
Scaffold Tools Build new tools as part of the conversation
Smart Tools Delegate to cheaper LLMs (10× savings)
Single YAML Config Global configuration, per-pack settings, includes
Security Layers AST validation, path boundaries, output sanitisation

Tools

15 packs, 100+ tools ready to use:

Pack Tools Description
brave search, news Web and news search
code search, search_batch, status Semantic code search
context7 resolve, get_docs Library documentation
convert pdf_to_md, docx_to_md, pptx_to_md Document conversion
db query, schema, tables Database operations
diagram create Mermaid diagrams
excel read, write, query Excel files
file read, write, list, search File operations
ground search Google Grounding
llm transform, transform_file LLM-powered transforms
ot help, tools, stats Introspection
package npm, pypi, cargo Package versions
ripgrep search, count Fast code search
scaffold tool Generate new tools
web fetch, fetch_batch Web fetching

📖 Complete tools reference — full summary table with all 100+ tools


MCP Server Proxy

Wrap any existing MCP server and call it explicitly - without the tool tax:

# .onetool/onetool.yaml
mcp_servers:
  chrome-devtools:
    command: npx
    args: ["-y", "@anthropic-ai/chrome-devtools-mcp@latest"]
  github:
    command: npx
    args: ["-y", "@anthropic-ai/github-mcp-server@latest"]
__ot mcp.call(server="github", tool="get_file_contents", arguments={"path": "README.md"})

📖 Configuration guide


Extending

Drop a Python file, get a pack. No registration, no config:

# .onetool/tools/wiki.py
pack = "wiki"

def summary(*, title: str) -> str:
    """Get Wikipedia article summary."""
    import httpx
    url = f"https://en.wikipedia.org/api/rest_v1/page/summary/{title}"
    return httpx.get(url).json().get("extract", "Not found")
__ot wiki.summary(title="Python_(programming_language)")

📖 Creating tools guide


Documentation


References


License

GPLv3 - Will transition to MIT at v2.0.


Support

If you find OneTool useful:

Ko-fi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onetool_mcp-1.0.0rc3.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onetool_mcp-1.0.0rc3-py3-none-any.whl (321.9 kB view details)

Uploaded Python 3

File details

Details for the file onetool_mcp-1.0.0rc3.tar.gz.

File metadata

  • Download URL: onetool_mcp-1.0.0rc3.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for onetool_mcp-1.0.0rc3.tar.gz
Algorithm Hash digest
SHA256 4345616f5832c3dc2eb99515a4b42130362038b3872d85440e10e79a254aee55
MD5 6c13e0ad9482f4088be4fca09f5f2819
BLAKE2b-256 f7c6e2aa2bc0eac2f77862e86201f6c75aa82a6b51291cd04403c9fd7f136533

See more details on using hashes here.

File details

Details for the file onetool_mcp-1.0.0rc3-py3-none-any.whl.

File metadata

  • Download URL: onetool_mcp-1.0.0rc3-py3-none-any.whl
  • Upload date:
  • Size: 321.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.29 {"installer":{"name":"uv","version":"0.9.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for onetool_mcp-1.0.0rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 51309bc97fbf608c43869f0180b370d93851d4fce696cb50f1da1d0cc3ea5421
MD5 e127d24bb3619d9183a5c8c677588c81
BLAKE2b-256 0490a41c1eff21dd45bba22f7e463a3f3d8f771137c55c0ef4f9c0ce82a0250d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page