返回 MCP 目录
public公开dns本地运行

onetool-mcp

OneTool是一个统一的MCP服务器,通过Python API暴露100多种工具,大幅减少AI调用工具时的token消耗和成本,避免上下文污染,支持Web搜索、数据库、文件操作、图表绘制等多种功能。

article

README

🚀 One MCP开发工具集

🧿 专为开发者打造的一体化MCP工具,无需工具使用成本,避免上下文陈旧问题。它集成了100多种工具,涵盖Brave、Google、Context7、Excalidraw、AWS、版本检查器、Excel、文件操作、数据库、图像视觉、Playwright以及Chrome DevTools实用工具等等。

🚀 快速开始

问题所在

每个MCP服务器每次请求会消耗3K - 30K个令牌。连接5个服务器,在对话开始前就会消耗55K个令牌;连接10个以上服务器,消耗的令牌将达到100K。 按照这个计算方式,Claude Opus 4.5的输入令牌成本为每百万个5美元,20天 × 10次对话 × 10条消息 × 3K个令牌,意味着每个MCP服务器每月需花费30美元,即便你从未使用这些工具。 此外,还存在上下文陈旧问题 — 随着添加的工具增多,你的AI实际上会变得更“笨”(Chroma Research, 2025)。

解决方案

OneTool是一个MCP服务器,它以Python API的形式提供工具。你的代理无需读取工具定义,而是编写代码来调用工具:

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

只需配置一个MCP服务器,即可使用无限数量的工具。

“通过编写代码调用工具,代理可以更好地扩展。这将令牌使用量从150,000个减少到2,000个……节省了98.7%的成本。”

Anthropic Engineering 使用OneTool,令牌使用量减少96%,成本降低30倍,且无上下文陈旧问题📖 阅读完整故事

✨ 主要特性

| 特性 | 详情 | | ---- | ---- | | 节省96%的令牌 | 无论添加多少工具,仅需约2K个令牌 | | 100多种内置工具 | 包括网页搜索、AWS、数据库、文件操作、图表绘制、格式转换等 | | 显式执行 | 可以确切看到执行的内容,例如>>> brave.search(q="AI") | | 动态AWS | 代理所有57个以上的AWSlabs MCP服务器,处理单点登录和凭证 | | 实时白板 | 通过Excalidraw使用与Mermaid兼容的DSL绘制图表 | | MCP服务器代理 | 包装现有的MCP服务器,无需工具使用成本 | | 加密密钥 | 使用age加密的secrets.yaml,由操作系统钥匙串提供支持 | | 自定义工具 | 在对话中构建新工具 | | 图像视觉 | 通过ot_image (img) 路由到更便宜、更强大的视觉模型。无需主机令牌。支持本地文件、URL、剪贴板;支持PNG、JPEG、GIF、WebP、TIFF、HEIC、AVIF、SVG格式 | | 智能上下文 | ot_context (ctx) — SQLite + FTS5存储。无需填满上下文窗口即可搜索和导航大型输出 | | 智能工具 | 委托给更便宜的大语言模型(节省10倍成本) | | 安全防护 | 包括AST验证、路径边界检查、输出清理 |

📦 安装指南

安装需要 uv

uv tool install 'onetool-mcp[all]'   # 安装所有工具
onetool init -c ~/.onetool

添加到Claude Code:

claude mcp add onetool -- onetool --config ~/.onetool/onetool.yaml

或者手动添加到 ~/.claude/mcp.json

{
  "mcpServers": {
    "onetool": {
      "command": "onetool",
      "args": ["--config", "/Users/yourname/.onetool/onetool.yaml"]
    }
  }
}

完成以上步骤后,所有100多种工具即可开箱即用。 验证安装:onetool init validate -c ~/.onetool/onetool.yaml 📖 完整安装指南

💻 使用示例

基础用法

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

高级用法

# 调用MCP服务器代理的GitHub工具获取README.md内容
>>> mcp.call(server="github", tool="get_file_contents", arguments={"path": "README.md"})
# 调用自定义工具获取维基百科文章摘要
>>> wiki.summary(title="Python_(programming_language)")

📚 详细文档

🔧 技术细节

工具列表

27个以上工具包,230多种工具随时可用: | 工具包 | 工具 | 额外信息 | 描述 | | ---- | ---- | ---- | ---- | | aws | whoami, login, start_packs, roles | [dev] | 动态AWS代理(57个以上服务器) | | brave | search, news | [util] | 网页和新闻搜索 | | chrome_util | highlight_element, guide_user | [dev] | 浏览器注释(DevTools) | | context7 | search, doc | [dev] | 库文档查询 | | convert | pdf_to_md, docx_to_md, pptx_to_md | [util] | 文档格式转换 | | db | query, schema, tables | [dev] | 数据库操作 | | diagram | create, get_playground_url | [dev] | Mermaid / Kroki图表绘制 | | excel | read, write, query | [util] | Excel文件操作 | | file | read, write, grep, slice, toc | [util] | 文件操作 | | ground | search | [util] | Google Grounding搜索 | | mem | write, read, search, grep | [util] | 持久化内存操作 | | ot_forge | create_ext, validate_ext, install_skills | | 新工具包搭建 | | ot_context (ctx) | write, read, search, grep, slice, toc | | 智能上下文存储(SQLite + FTS5) | | ot_image (img) | load, load_batch, ask, summary, list, delete, purge | [util] | 通过专用模型实现图像视觉处理 | | ot_llm | transform, transform_file | | 大语言模型驱动的转换 | | ot_secrets | init, encrypt, audit, rotate | | 密钥加密 | | ot_timer | start, elapsed, list | | 命名计时器 | | ot | help, tools, stats, skills | | 自省工具 | | package | npm, pypi, cargo | [dev] | 包版本查询 | | play_util | highlight_element, guide_user | [dev] | 浏览器注释(Playwright) | | ripgrep | search, count | [dev] | 快速代码搜索 | | tavily | search, search_batch, research | [util] | AI原生搜索 | | webfetch | fetch, fetch_batch | [dev] | 网页抓取 | | whiteboard | open, draw, screenshot, save | [dev] | 实时Excalidraw画布 | | worktree | add, commit, diff, remove | [dev] | 并行代理git工作树 | 📖 完整工具参考 — 包含所有230多种工具的完整摘要表

MCP服务器代理

可以包装任何现有的MCP服务器并显式调用,通过简单的yaml配置,无需工具使用成本:

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

📖 配置指南

扩展工具

只需放置一个Python文件,即可创建一个工具包,无需注册和配置:

# .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")
>>> wiki.summary(title="Python_(programming_language)")

📖 创建工具指南

📄 许可证

本项目采用GPLv3许可证。

其他信息

参考资料

数据统计

OneTool会发送匿名启动信息(事件类型、版本、操作系统),不包含个人数据。你可以通过以下方式选择不参与统计:export DO_NOT_TRACK=1 或在 onetool.yaml 中设置 telemetry.enabled: false详细信息

问题反馈

请先检查是否已有相关问题:

支持项目

如果你觉得OneTool很有用,请考虑支持我们: Ko-fi

help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端