mcpField
O
OneTool MCP

OneTool MCP

ローカル
onetool.beycom.online開発ツール2414 週間前に更新

OneTool MCP について

OneTool MCP は、250 を超えるツールを Python API として公開し、既存の他の MCP サーバーもプロキシできる単一の MCP サーバーです。ツール定義によるコンテキストと トークンの消費を抑えたい開発者を対象としています。

主な機能

  1. 01250 を超える Python 関数形式のツール
  2. 02既存 MCP サーバーのプロキシと実行時の制御
  3. 03大きな出力を扱う ctx ハンドル
  4. 04セマンティック検索対応の mem 永続メモリ
  5. 05age 暗号化によるシークレット管理とパス境界制御

活用シーン

  1. 01検索、ドキュメント、データベースのツールを1つのサーバーから利用
  2. 02中間結果を変数で受け渡すツールの一括実行や連続実行
  3. 03既存の MCP サーバーを単一の入口に集約

MCP 対応

MCP サーバーとして動作し、内蔵ツールと YAML 設定でプロキシした他の MCP サーバーのツールを、Claude Code、Cursor、Codex などのクライアントに公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

OneTool

🧿 開発者向けの MCP はこれひとつ。ツール利用料も、コンテキストの劣化もありません。
エージェントが Python コードとして呼び出す 250 以上のツール:検索、ドキュメント、ファイル、データベース、図表、ビジョン、メモリに加え、すでに利用しているあらゆる MCP サーバー用のプロキシも備えています。

PyPI ライセンス Python GitHub スター

Claude Code、Cursor、Codex など、あらゆる MCP クライアントで動作します


問題点

MCP サーバーはリクエストのたびにツール定義を再送信します。毎回 3K~30K トークンです。サーバーを 5 つ接続すると、会話を始める前に 55K トークンを消費します。10 個以上接続すると、100K に達します。

計算すると深刻です。入力トークン 100 万個あたり $5 の Claude Opus 4.5 で、20 日間 × 10 会話 × 10 メッセージ × 3K トークンの場合、MCP サーバー 1 つあたり月額 $30です。ツールを一度も使わなくてもかかります。

さらに、コンテキストの劣化もあります。ツールを追加するほど、AI は文字どおり性能が低下します(Chroma Research、2025)。

解決策

OneTool は、ツールを Python API として公開する 単一の MCP サーバーです。ツール定義を読む代わりに、エージェントがコードを書きます。

__onetool brave.search(query="react 19 server components")

MCP サーバーを 1 つ設定するだけです。ツールをいくつ追加しても、使用するのは約 2K トークンです。

「エージェントは、ツールを呼び出すコードを書くことで、より適切にスケールできます。これにより、トークン使用量を 150,000 トークンから 2,000 トークンに削減でき……コストを 98.7% 節約できます」

— Anthropic Engineering

トークンを 97% 削減。コストを 30 分の 1 に。コンテキストの劣化なし。(実測値 — MCP サーバー 18 個に対して、入力トークンを 47,660 から 1,131 に削減。)

📖 詳しい説明を読む


コードがインターフェース

ツールは Python 関数なので、エージェントはツール呼び出しの JSON ではできない、バッチ処理、連鎖、ループ、組み合わせを実行できます。

__onetool
page = webfetch.fetch(url="https://fastmcp.dev/changelog", output_format="markdown")
notes = ot_llm.transform(data=page, prompt="Summarise the breaking changes")
mem.write(topic="deps/fastmcp", content=notes)

3 つのパックを 1 回のリクエストで利用できます。中間結果は変数としてツール間で受け渡されるため、ページ本文がコンテキストウィンドウに入ることはなく、要約も高価なコーディングエージェントではなく、安価なモデルで実行されます。

呼び出しはすべて明示的で確認可能です。__onetool brave.search(query="...") を見れば、何が実行されるか正確にわかります。ツール選択を推測する必要はありません。

また、ランタイムはエージェントの実際の入力方法に合わせて設計されています。

  • mem.search(q="auth") と入力できます。曖昧さのないパラメーターの接頭辞はすべて解決されます(q= → query=)
  • wb.draw(...) と入力できます。パックには短いエイリアス(wb、ctx、img)があります
  • プロキシ経由のサーバーでは github.listRepositories() が動作します。snake_case/camelCase/PascalCase のいずれでも解決されます
  • ツール名を間違えると候補が表示され、サーバーが切断されている場合は、修正に使うコマンドが示されます
  • 大きすぎる結果はウィンドウにあふれないよう、検索可能なハンドルとして返されます

インストール

ブートストラップ(uv が見つからない場合はインストールし、OneTool をインストールして、設定を初期化し、MCP 設定を表示します):

curl -LsSf https://onetool.beycom.online/install.sh | sh          # macOS / Linux
irm https://onetool.beycom.online/install.ps1 | iex               # Windows (PowerShell)

または、uv を使って手動でインストールします:

uv tool install 'onetool-mcp[all]'   # everything
onetool init --config ~/.onetool

次に、解決済みの絶対パスを含む、すぐに貼り付けられる MCP クライアント設定を表示して、お使いのクライアント(claude-code、claude-desktop、cursor、または vscode)に追加します:

onetool init mcp-config --client claude-code   # or omit --client for all four

これだけです。250 以上のツールをすべて、すぐに利用できます。

検証:onetool init validate --config ~/.onetool/onetool.yaml

vercel-labs/skills を使って、ot-ref スキルをエージェントにインストールします。このスキルでは呼び出し規約を学べるほか、すべてのツールシグネチャを検索できるインデックスが付属しています:

npx skills add https://github.com/beycom/onetool-mcp --skill ot-ref --agent claude

📖 インストールガイド全文


内容

検索とドキュメントBrave、Google の検索結果に基づく検索、Tavily 検索(それぞれにバッチモードと回答モードあり)、Context7 のライブラリドキュメント、抽出制御付きのウェブ取得
ファイルとデータパス境界付きのファイル操作、Excel の完全な制御、SQL データベース、PDF/Word/PowerPoint から Markdown への変換、ripgrep、パッケージのバージョン
コンテキストの効率化大容量の出力を扱う ctx ハンドル、部分的なファイル読み込み(toc/slice)、専用の低コストモデルによる画像認識(ホストのトークン消費ゼロ)、LLM への委任(コストを 10 分の 1 に削減)
永続状態セマンティック検索とキーワード検索に対応した mem メモリ、履歴とロールバック、AI による拡張機能を備えた knowledge RAG ベース、Git ベースのプロジェクトスナップショットを作成する localhist
ビジュアルMermaid 互換 DSL とオフラインの自動レイアウトに対応したライブ Excalidraw ホワイトボード、Mermaid/PlantUML/D2 ダイアグラム、draw.io で編集可能な SVG に変換するアーキテクチャモデル
ランタイム実行時の有効化/無効化/再起動に対応した MCP サーバープロキシ、実行中プロセスへの直接的な CLI/API アクセス、エージェント向け ot-ref スキル、会話中のツール生成
信頼性OS のキーチェーンを使った age 暗号化シークレット、AST 検証、パス境界、出力のサニタイズ、推定削減量を含む実行時統計

ツール

28 個のパックに、すぐに使える 253 個のツールが含まれています(console はベータ版):

PackToolsExtraDescription
archgenerate, validate, bundle_solution, …[dev]アーキテクチャモデル → draw.ioで編集可能なSVG
bravesearch, news, image, video, search_batch[util]Braveのウェブ検索
chrome_utilhighlight_element, guide_user, …[dev]ブラウザーの注釈(Chrome DevTools)
console (ベータ)show, display, list, read, clear今後公開予定のonetool-consoleアプリへのメッセージ
context7search, doc[dev]ライブラリのドキュメント
convertpdf, word, powerpoint, excel, auto[util]ドキュメント → Markdown
dbquery, schema, tables, sample[dev]SQLデータベース
diagramrender_diagram, batch_render, get_template, …[dev]Kroki経由のMermaid / PlantUML / D2
excelread, write, formula, create_table, … (24 tools)[util]Excelの全機能を操作
fileread, write, edit, grep, slice, toc, … (16 tools)[util]パス境界を設定したファイル操作
groundsearch, dev, docs, reddit, search_batch[util]情報源付きのGoogle検索
knowledgesearch, ask, write, related, … (15 tools)[util]RAGナレッジベース(ハイブリッド検索)
localhistsave, diff, restore, autosave_start, … (15 tools)[dev]Gitで管理されたローカル履歴のスナップショット
memwrite, search, ask, history, rollback, … (31 tools)[util]セマンティック検索に対応した永続メモリー
othelp, tools, stats, status, result, … (18 tools)内部情報の取得と管理
ot_context (ctx)write, read, grep, slice, toc, ask, … (13 tools)大きな出力向けのスマートなコンテキストストア
ot_forgecreate_ext, validate_ext新しいツールパックのひな型を作成
ot_image (img)load, ask, clip_ask, summary, … (9 tools)専用モデルによる画像認識
ot_llmtransform, transform_fileLLMを活用した変換
ot_secretsset, encrypt, audit, rotate, … (8 tools)暗号化されたシークレットの管理
ot_serversenable, disable, restart, statusプロキシサーバーのランタイム制御
ot_timerstart, stop, elapsed, list, clear名前付きタイマー
packagepypi, npm, version, audit, models[dev]パッケージのバージョンと古さの確認
play_utilhighlight_element, guide_user, …[dev]ブラウザーの注釈(Playwright)
ripgrepsearch, count, files, types[dev]高速なコード検索
tavilysearch, research, extract, search_batch, …[util]AIネイティブな検索と抽出
webfetchfetch, fetch_batch[dev]ウェブコンテンツの抽出
whiteboard (wb)open, draw, layout, screenshot, … (22 tools)[util]ライブExcalidrawキャンバス
📖 ツールの完全なリファレンス — すべてのシグネチャをソースから生成

MCP サーバープロキシ

すでに使用している MCP サーバーをそのまま使えます。YAML でラップし、ツールのオーバーヘッドなしで、Python の名前空間として明示的に呼び出します。

# .onetool/onetool.yaml
servers:
  local_tools:
    type: stdio
    command: npx
    args: ["-y", "some-mcp-server@latest"]
  private_api:
    type: http
    url: ${PRIVATE_MCP_URL}
    auth:
      type: bearer
      token: ${PRIVATE_MCP_TOKEN}
__onetool private_api.read_resource(path="README.md")

プロキシされたサーバーは、クライアントを再起動せずに ot_servers で会話の途中でも有効化、無効化、再起動できます。

📖 設定ガイド


コミットできるシークレット

onetool init では、暗号化されたシークレットの設定を順に進められます。secrets.yaml 内の値は age で暗号化され、秘密鍵は OS のキーチェーンに保存され、読み込み時に透過的に復号されます。

# secrets.yaml - safe to inspect, safe to commit
brave_api_key: age1enc:YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNT...

📖 セキュリティガイド


CLI から使用

MCP サーバーとしてだけでなく、同じ実行中のプロセスへの直接 CLI ブリッジとしても動作します。読み込み済みの設定、シークレット、プロキシ接続はそのまま維持されます。エージェントハーネス、スクリプト、自動化に便利です。

# Recommended local MCP root mode: stdio
onetool serve --config .onetool/onetool.yaml

# URL-based MCP root mode for containerized clients
onetool serve --transport http --config .onetool/onetool.yaml --host 127.0.0.1 --port 8767 --path /mcp

# Enable the MCP-owned direct API in onetool.yaml:
# direct.host.enabled: true

# Start OneTool as MCP, then use the port printed in startup logs.
onetool direct run --port 8765 "ot.packs()" --format json | jq '.[0].name'
onetool direct run --port 8765 "brave.search(query='latest AI news')" --format raw

📖 直接使用ガイド


拡張

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

📖 ツール作成ガイド


ドキュメント


参考資料


テレメトリ

OneTool は匿名の起動時 ping(イベントの種類、バージョン、OS)を送信します。個人データは送信されません。オプトアウトするには、export DO_NOT_TRACK=1 を実行するか、onetool.yaml で telemetry.enabled: false を設定します。詳細


問題

まず既存の問題を確認してください:

新しい問題を報告する: github.com/beycom/onetool-mcp/issues/new


サポート

OneTool が役に立ったと感じたら:

Ko-fi


ライセンス

GPLv3

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。