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)")
📚 详细文档
- 快速入门 - 30秒内完成首次工具调用
- 安装指南 - 支持所有平台
- 配置说明 - YAML配置文件架构
- 工具参考 - 所有100多种工具的详细信息
- 安全指南 - 安全防护机制
- 扩展开发 - 自定义工具开发
- 开发文档 - 内部开发者文档
- 规范说明 - OpenSpec规范索引
🔧 技术细节
工具列表
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许可证。
其他信息
参考资料
- Code Execution with MCP - Anthropic Engineering
- Context Rot - Chroma Research
数据统计
OneTool会发送匿名启动信息(事件类型、版本、操作系统),不包含个人数据。你可以通过以下方式选择不参与统计:export DO_NOT_TRACK=1 或在 onetool.yaml 中设置 telemetry.enabled: false。详细信息
问题反馈
请先检查是否已有相关问题:
- 浏览问题跟踪器:github.com/beycom/onetool-mcp/issues
- 使用GitHub语法搜索:
is:issue repo:beycom/onetool-mcp <关键字>提出新问题: github.com/beycom/onetool-mcp/issues/new
微信扫一扫