agent-tool
agent-tool
AIコーディングエージェント向けのMCP(Model Context Protocol)ツールサーバー。
なぜ?
AIコーディングエージェント(Claude Code、Cursor、Codexなど)の組み込みツールには既知の制限があります:
タブインデントの破壊:LLMはスペースを出力しますが、プロジェクトはタブを使用しています。組み込みのEditツールはスペースをそのまま書き込むため、インデントスタイルが壊れます。
エンコーディングの破損:EUC-KR、Shift-JIS、GB18030ファイルを編集すると、黙ってUTF-8に変換され、レガシープロジェクトが壊れます。
ツールが多すぎる:エージェントにRedis CLI、MySQLクライアント、SSHクライアントなどを探してインストール・設定させるのは面倒でエラーが発生しやすいです。agent-toolは54のツールを1つのバイナリにバンドルし、コンパクトなプロファイルを通じてオンデマンドで公開します。
リバースエンジニアリング非対応:組み込みツールはバイナリの逆アセンブル、PE/ELFヘッダーの検査、関数境界の特定、クロスリファレンスの検索ができません。agent-toolには静的バイナリ解析(逆アセンブル、xref、関数検出)、DAPデバッガー、CheatEngineスタイルのメモリツールが含まれており、エージェントに完全なリバースエンジニアリング機能を提供します。
ネットワーク検閲:一部の国では、政府レベルのWebフィルタリングにより、素の
curl/wgetリクエストが機能しません。agent-toolはデフォルトでECH(Encrypted Client Hello)とDoH(DNS over HTTPS)を使用して、これらの制限を回避します。
agent-toolは、プロジェクトの規約を維持しながらモデルコンテキストを制限内に保つ、エージェント指向のツールでこれらの問題を解決します。
Related MCP server: DevToolkit MCP Server
対応エージェント
Claude Code、Codex CLI、Cursor、Windsurf、Cline、Gemini CLI、およびMCP互換の任意のエージェント。
デフォルトでLLM効率的
デフォルトのcoreプロファイルは、全54個ではなく11個のスキーマ(toolboxを含む)のみを公開します。プロトコルレベルの測定では、シリアライズされたツールリストが約84KB(full)から18KBに削減されました。toolbox(operation="describe", tool="ssh", compact=true, tool_operation="execute")を使用して1つのオペレーションのフィールドと必須リストのみを読み込み、その後toolbox(operation="call", tool="ssh", arguments={...})を通じて呼び出します。ゲートウェイは動的なツールリストの更新に依存しないため、Codexなどの固定バインディングのクライアントでも動作します。describeはツール/バージョンに紐づくschema_handleを返します。後続のdescribeでそれを送信すると、スキーマがまだ最新である場合、短い変更なしの確認応答が返ります。--profile coding|remote|analysis|fullで起動することもできます。
大きくなる可能性のあるテキスト応答は、デフォルトで32K文字、ハード上限128Kです。切り詰めは常に可視化され、ページング可能なツールはnext_offsetまたはnext_cursorを返します。ローカルの相対パスは、明示的なワークスペース、次にMCPクライアントのルートに対して解決されます。
機能
Tool | Description | Status |
Edit | スマートなインデントとエンコーディング保持を備えた文字列置換(dry_run対応) | ✅ |
Read | エンコーディング対応の行番号付き読み取り。デフォルトは400行/32K文字、切り詰めと正確な | ✅ |
Write | エンコーディング対応のファイル作成/上書き | ✅ |
Grep | エンコーディング対応の正規表現検索。32K出力予算、ファイル別にグループ化されたコンパクトな出力、相対パス、 | ✅ |
Glob |
| ✅ |
ListDir | 上限付き/ページング可能なディレクトリ一覧。max_entries + 継続カーソル、ディレクトリ/ファイルフィルター、エントリ名のglobフィルター、件数のみモード、フラット/ツリー出力 | ✅ |
Diff | 2つのファイルをユニファイドdiff出力で比較(エンコーディング対応)。行末または末尾の改行のみが異なるファイルは、空のdiffを返す代わりにその旨を報告 | ✅ |
Patch | ファイルにユニファイドdiffパッチを適用(dry_run対応)。各行は独自の行末を保持するため、CRLF/LF混在ファイルは書き換えられない | ✅ |
Checksum | ファイルハッシュの計算(md5、sha1、sha256) | ✅ |
FileInfo | ファイルメタデータ(サイズ、エンコーディング、混在行末の数、インデント、行数) | ✅ |
Compress | zip / tar.gz アーカイブの作成 | ✅ |
Decompress | zip / tar.gz アーカイブの展開(Zip Slip/Bomb保護) | ✅ |
Backup | 除外パターン付きのタイムスタンプ付きzipバックアップ。ディレクトリ統計、パターンマッチ数、最大ファイルを含むdry_runプレビュー | ✅ |
ConvertEncoding | ファイルエンコーディングの変換(EUC-KR ↔ UTF-8、BOMの追加/削除など) | ✅ |
Delete | 安全な単一ファイル削除(ディレクトリ不可、シンボリックリンク不可、システムパス保護、dry_run対応) | ✅ |
Rename | ファイル/ディレクトリのアトミックな名前変更または移動(dry_run対応) | ✅ |
SysInfo | システム情報 — OS、CPU、RAM、ディスク、稼働時間、CPU使用率の測定 | ✅ |
FindTools | インストール済み開発ツールの検出 — コンパイラ、ランタイム、ビルドシステム(Go、.NET、Node、Python、Java、Rust、C/C++など)。PATH、環境変数、既知の場所(~/bin、snap、scoop、Homebrew、SDKMAN、nvm、fnm、pyenv)を検索 | ✅ |
ProcList | 実行中プロセスの一覧 — PID、名前、コマンドライン、メモリ。機密引数は自動マスク。名前またはポートでフィルタリング | ✅ |
ProcKill | PIDまたはポートでプロセスを強制終了、一時停止、再開。ツリーキル、シグナル選択(kill/term/hup/int/stop/cont)、ゾンビ処理(Linux)、dry_run対応 | ✅ |
ProcExec | コマンドを新しいプロセスとして実行。フォアグラウンド/バックグラウンド/一時停止での起動、タイムアウト/環境変数、期限付き生出力取得による安全な繰り返し診断の圧縮 | ✅ |
EnvVar | 環境変数の読み取り。機密値(パスワード、トークン)は自動マスク | ✅ |
Firewall | ファイアウォールルールの読み取り — iptables/nftables/firewalld(Linux)、netsh(Windows)。読み取り専用 | ✅ |
SSH | 32Kの先頭+末尾キャプチャ、元のバイト数、適切な非ゼロ終了エラー、バックグラウンドジョブ( | ✅ |
SFTP | SSH経由でファイルを転送し、リモートファイルシステムを管理。アップロード、ダウンロード、ls、stat、mkdir、rm、chmod、rename。SSHセッションプールを再利用。転送あたり最大2 GB | ✅ |
Bash | 作業ディレクトリ/環境を保持する永続シェルセッション、安全な繰り返し診断の圧縮、期限付き生出力取得。セッションプーリング(最大5、アイドルタイムアウト30分)。Unix: bash/sh、Windows: PowerShell/git-bash/cmd | ✅ |
WebFetch | テキスト/MarkdownとしてWebコンテンツを取得(デフォルト32K/最大128K)。ECH + DoH、HTML→Markdown変換、SSRF保護、プロキシ対応、Chrome User-Agent | ✅ |
WebSearch | Brave SearchまたはNaver APIによるWeb検索。APIキー環境変数( | ✅ |
Download | URLからファイルをディスクにダウンロード。デフォルトでECH + DoH。SSRF保護。HTTP/SOCKS5プロキシ。アトミック書き込み。最大2 GB | ✅ |
HTTPReq | 任意のメソッド(GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS)でHTTPリクエストを実行。カスタムヘッダー、ボディ、プロキシによるAPIテスト。SSRF保護 | ✅ |
JSONQuery | ドット記法パス(例: | ✅ |
YAMLQuery | ドット記法パスでYAMLファイルをクエリ(JSONQueryと同じ構文) | ✅ |
TOMLQuery | ドット記法パスでTOMLファイルをクエリ(JSONQueryと同じ構文)。TOML固有の型(datetime、int64)に対応 | ✅ |
Copy | アトミック書き込みと権限保持でファイル/ディレクトリをコピー。再帰的ディレクトリコピー。Windowsのロックされたファイルのフォールバック(実行中のexe/DLLを退避して名前変更)。dry_runプレビュー | ✅ |
Mkdir | オプションの権限モード(8進数、例: 0755)でディレクトリを作成。デフォルトで再帰的(mkdir -p)。dry_runプレビュー | ✅ |
MultiRead | 呼び出し全体で32K予算、ファイルあたりデフォルト200行、長い行の安全性、ファイルごと/全体の継続メタデータで最大50ファイルを読み取り。ハッシュはオプトイン | ✅ |
RegexReplace | ファイル/ディレクトリ全体での正規表現の検索と置換。エンコーディングと行末を保持、キャプチャグループ($1、$2)。バイナリファイルはスキップ。dry_runプレビュー | ✅ |
TLSCheck | TLS証明書の詳細を確認 — サブジェクト、発行者、有効期限、SAN、TLSバージョン、暗号スイート | ✅ |
DNSLookup | DNSレコードの参照(A/AAAA/MX/CNAME/TXT/NS/SOA)。プライバシー保護のためデフォルトでDNS over HTTPS(DoH) | ✅ |
MySQL | MySQL/MariaDBでSQLクエリを実行。行/列/セル/合計出力の制限を設定可能なテーブル形式のSELECT結果、DMLの影響行数。ページングにはSQLのLIMIT/OFFSETを使用 | ✅ |
Redis | 型ごとにフォーマットされた出力でRedisコマンドを実行。TLS対応。危険なコマンド(FLUSHALL、SHUTDOWNなど)はブロック | ✅ |
PortCheck | ホスト上のTCPポートが開いているか確認。応答時間とともにOPEN/CLOSEDを返す。ホスト名、IPv4、IPv6に対応 | ✅ |
ExternalIP | 外部(パブリック)IPアドレスを取得。自動フォールバック付きの複数プロバイダー(ipify、ifconfig.me、icanhazip) | ✅ |
SLOC | 言語ごとのソースコード行数をカウント。70以上の言語検出、ファイル/言語別の内訳、空白行の統計、max_depth制御 | ✅ |
Debug | DAP(Debug Adapter Protocol)による対話型デバッガ。変数、補完、モジュール、読み込み済みソースの上限付き値/出力とページングを備えた完全なDAP対応。dlv(Go)、debugpy(Python)、codelldb(C/C++/Rust)でテスト済み。DAP互換の任意のアダプターで動作。StdioおよびTCPモード。注: vsdbg(Microsoft)はVS Codeのライセンスが必要で単体では使用不可 — オープンソースの代替としてcodelldbまたはnetcoredbgを使用 | ✅ |
Analyze | 静的バイナリ解析とリバースエンジニアリング。x86/x64/ARM/ARM64逆アセンブル、PE/ELF/Mach-O解析(上限付き・ページング可能なPEインポート出力付き)、xref、関数検出/コールグラフ、ポインタ/RTTI/vtable/構造体解析、imphash、Richヘッダー、DWARF、文字列、hexdump、パターン検索、エントロピー、オーバーレイ検出、バイナリ差分。ファイルサイズのグローバル制限なし | ✅ |
Memtool | CheatEngineスタイルのプロセスメモリツール — メモリ値の検索/フィルタリング/読み取り/書き込み、read_chain(ベース+オフセットのポインタチェーンを1回の呼び出しで一括解決)、ライブ逆アセンブル(x86/x64/ARM/ARM64)、アンドゥ、構造体パターン検索、ポインタスキャン、メモリ差分。大規模スキャン用のディスクバックアップスナップショット。アイドルタイムアウト付きのセッション管理。Windows(ReadProcessMemory)とLinux(/proc/pid/mem)。Windowsでは昇格時にSeDebugPrivilegeを自動有効化。オプトインの | ✅ |
IPC | TCP経由のAIエージェントセッション間のプロセス間通信。ブロッキング受信による1:1メッセージ受け渡し。プロトコル: [2バイト型][4バイト長][ペイロード]。操作: send、receive(タイムアウト付きブロッキング)、ping。マシン間で動作。最大1MBメッセージ、300秒タイムアウト | ✅ |
Wintool | Windows GUI自動化 — ウィンドウと子コントロールの検索/列挙、スクリーンショットのキャプチャ(PrintWindow経由のImageContent PNG)、クリップボード画像の読み取り、テキストの読み取り/設定、クリック、タイピング、生メッセージの送信、表示/非表示/最小化/最大化、移動/リサイズ、閉じる、フォーカス。screenshot/clipboardはデフォルトでImageContentを返す(ファイル出力用のsave_pathオプションあり)。AIエージェントがGUIアプリケーションを「見て」操作できるようにする。Windowsのみ | ✅ |
CodeGraph | 完全組み込みのセマンティックコードグラフ: Go標準ライブラリのASTに加え、C/C++、Python、C#、Rust、Java用の遅延圧縮tree-sitter WASM。宣言/定義の同一性、リターンチェーンとジェネリック/エイリアスの伝播、推移的インクルード、調整済みオーバーロード証拠、仮想/インターフェースディスパッチ、マクロ/コールバックエッジ、ビルド条件の来歴、マルチルートワークスペースを追加。コンパイラ、言語サーバー、外部バイナリ、LLM呼び出し、トークンコストは不要 | ✅ |
SetConfig | ランタイム設定の変更(エンコーディング、ファイルサイズ制限、シンボリックリンク、ワークスペースなど) | ✅ |
Help | エージェント向けの組み込み使用ガイド(エンコーディング、インデント、トラブルシューティング) | ✅ |
主な改善点
スマートなインデント
LLMは通常スペースを出力しますが、多くのプロジェクトではタブを使用します。AgentToolはファイルの既存のスタイルに合わせてインデントを自動変換します。
.editorconfigからindent_styleとindent_sizeを読み取りますコンテンツベースの検出(最初の100行)にフォールバックします
レガシーファイルを保護します: 実際のコンテンツが
.editorconfigと矛盾する場合は変換しません
エンコーディングの保持
編集はUTF-8を強制するのではなく、元のファイルエンコーディングを保持します。
検出優先順位: BOM →
.editorconfigの charset → BOMなしUTF-16 → 有効なUTF-8 → chardet自動検出 → フォールバックエンコーディング対応: UTF-8、UTF-8 BOM、EUC-KR、Shift-JIS、ISO-8859-1、UTF-16(LE/BE、BOMあり/なし)、その他
ASCIIでの誤警告なし: 有効なUTF-8は直接検証されるため、プレーンなASCIIファイルが低信頼度の警告を出すことはありません
改行コード: LF、CRLF、CR、および混在ファイルを検出します。
editは、ファイルがCRLFまたはLFを使用している場合(両方が混在するファイルを含む)に複数行のold_stringに一致し、edit/regexreplaceによって挿入されたテキストは、それが配置される領域の改行スタイルに従うため、ファイルの残りの部分はバイト単位で同一のままになります
トークンセーフなディレクトリ一覧
listdir はデフォルトで1ページあたり500エントリで、さらにエントリがある場合は next_cursor を返します。directories_only、files_only、name_pattern(例: A*)、または include 内の複数のORパターンで結果を絞り込みます。一致するファイル/ディレクトリの数のみが必要な場合は counts_only=true を使用します。
アイドル時のメモリ解放
ツール呼び出しが30分ないと、サーバーはヒープをOSに返します。stdio MCPサーバーは、放棄されたクライアントと静かなクライアントを区別できません。サーバーを生成したプロセスは、生存しているか、処理を終了しているか、パイプを開いたまま保持している可能性があり、EOFが届くことはありません。その推測で終了すると、単に一時停止したセッションが壊れてしまいます。メモリを解放することは、そのトレードオフの安全な半分です。かつて50MBのファイルを読み取ったインスタンスは、マシンの稼働時間の残りずっと200MBを保持する代わりに、約20MBのベースラインに戻ります。開いているシェルとsshセッションは存続し、クライアントが観察できるものは何も変わりません。
クイックスタート
お使いのOS用のバイナリを Releases からダウンロードします
agent-tool installを実行します(特定のエージェントの場合はagent-tool install claude)IDE / エージェントを再起動します
完了 — コンパクトなコアツールがすぐに利用可能になります。
toolboxは他のすべてのツールをオンデマンドで説明し呼び出します
または、AIエージェントに任せるだけです:
"https://github.com/knewstimek/agent-tool/releases/latest から agent-tool をダウンロードして
agent-tool installを実行してください"
有能なAIコーディングエージェント(Claude Code、Codexなど)は、ダウンロード → インストール → 再起動の一連の流れを自動的に処理できます。
推奨: エージェントに agent-tool を優先するよう指示する
インストール後、エージェントは agent-tool にアクセスできますが、組み込みツール(Read、Editなど)をデフォルトで使用する場合があります。エージェントが agent-tool のエンコーディング対応、インデントスマートなツールを優先するようにするには、以下のいずれかの指示を追加してください。
コードナビゲーションのヒント: 大規模プロジェクトでは、ASTベースのコードナビゲーションを有効にするために、これを CLAUDE.md / AGENTS.md に追加してください:
At the start of a session, run codegraph(op="index", path="<project_root>") to build a code index.
For several repositories sharing one graph, use codegraph(op="index", path="<db_root>", roots=["<source_root_1>", "<source_root_2>"]). Source-root provenance prevents unrelated projects with the same symbol names from contaminating candidates while explicit/transitive includes can still cross roots.
Then use codegraph for structural queries (find, callers, callees, methods, inherits) instead of grep.Strict または Soft を選択:
モード | 使用するタイミング | 指示 |
Strict | 非UTF-8ファイルまたは混在インデントのプロジェクト |
|
Soft | 一般的なプロジェクト |
|
配置場所:
プロジェクトごと — プロジェクトの CLAUDE.md に追加:
ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.グローバル(全プロジェクト)— ~/.claude/CLAUDE.md に追加:
ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.ハードな強制 — ~/.claude/settings.json で権限レベルで組み込みファイルツールを拒否:
{
"permissions": {
"deny": ["Read", "Edit", "MultiEdit", "Write", "Glob", "Grep"]
}
}これにより、Claude Codeの組み込みファイルツールが使用できなくなり、エージェントは agent-tool を使用せざるを得なくなります。プロンプトの指示に頼らずに厳格な強制を行いたい場合に推奨されます。
~/.codex/config.tomlに追加(トップレベル、[mcp_servers.*]内ではない):
model_instructions_file = "~/.codex/model_instructions.md"~/.codex/model_instructions.mdを作成:
ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.Codex を再起動します。
プロジェクトごと — 代わりにプロジェクトの AGENTS.md に追加します。
プロジェクトの .cursorrules、.windsurfrules、または AGENTS.md に追加:
ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.インストール
自動インストール(推奨)
# Register with all detected agents (full auto-approve — all tools)
agent-tool install
# Safe mode — only auto-approve local file tools (no SSH, HTTP, DB, shell)
agent-tool install --safe-approve
# No auto-approve — manual approval required for every tool call
agent-tool install --no-auto-approve
# Register with a specific agent
agent-tool install claude
agent-tool install claude --safe-approve
# Uninstall (removes agent-tool entry only, preserves other settings)
agent-tool uninstall # from all agents
agent-tool uninstall claude # from specific agentインストール権限レベル:
レベル | フラグ | 自動承認されるツール |
フル(デフォルト) | (なし) | すべてのツール( |
セーフ |
| 29のローカルのみのツール(read、edit、write、grep、globなど)— SSH、HTTP、DB、bash、プロセス制御はなし |
なし |
| ツールなし — すべての呼び出しに手動承認が必要 |
承認レベルはスキーマプロファイルとは独立しています。インストールはフルネームスペースを承認できますが、サーバーは依然としてトークン効率の良い core プロファイルで起動します。toolbox は、その operation=call ゲートウェイがネットワーク、シェル、データベース、プロセス制御ツールを呼び出すことができるため、--safe-approve によって自動承認されないよう意図的に設計されています。セーフモードのユーザーは、各 toolbox の承認を確認し、AgentTool のフルネームスペースを信頼するつもりがない限り、永続的な許可ルールを付与しないようにしてください。
手動セットアップ
Claude Code / Cursor / Cline(settings.json または mcp.json):
{
"mcpServers": {
"agent-tool": {
"command": "/path/to/agent-tool"
}
}
}Codex CLI(~/.codex/config.toml):
[mcp_servers.agent-tool]
command = "/path/to/agent-tool"オプション
# Select the initial schema profile (default: core)
agent-tool --profile coding
# Set fallback encoding for projects with non-UTF-8 files
agent-tool --fallback-encoding EUC-KRプロファイルは加算的なプリセットです: core(11スキーマ)、coding(coreに加えてより広範なファイル/ビルド/シェルツール)、remote、analysis、full。実行時には、クライアントに依存しない toolbox ゲートウェイを優先してください: operation=describe は1つのツールのスキーマを返し(compact=true と tool_operation を組み合わせると1つの操作に制限されます)、operation=call は安定した toolbox バインディングを通じてそれを呼び出します。返された schema_handle を再送信すると、変更されていないスキーマを再度受け取ることを回避できます。コマンド診断がコンパクト化された場合、operation=output は報告されたIDによって制限付きの生出力を30分間取得し、ページングが必要な場合は next_offset を報告します。enable、disable、profile は、tools/list_changed を尊重するクライアントのために引き続き利用可能です。固定バインディングのクライアントは常にゲートウェイを使用し続けることができます。
環境変数
CLIフラグを繰り返さないように、AGENT_TOOL_FALLBACK_ENCODING および/または AGENT_TOOL_PROFILE を設定します:
# Windows (no admin required)
setx AGENT_TOOL_FALLBACK_ENCODING EUC-KR
setx AGENT_TOOL_PROFILE coding
# Linux / macOS (add to ~/.bashrc or ~/.zshrc)
export AGENT_TOOL_FALLBACK_ENCODING=EUC-KR
export AGENT_TOOL_PROFILE=coding優先順位: CLIフラグ > 環境変数 > デフォルト(UTF-8)。
ローカルSSH/SFTP接続プロファイル
SSHとSFTPは、connection_profile またはセッションローカルの connection_id のいずれかを受け入れるため、ホスト、ユーザー、キー、ジャンプホストのフィールドを繰り返す必要はありません。プロファイルはOSのユーザー設定ディレクトリの agent-tool/connections.json から読み取られます。場所は AGENT_TOOL_CONNECTION_PROFILE_FILE で上書きできます。このファイルはローカルに保ち、ワークスペース内に配置する場合は明示的に無視してください。
{
"connections": {
"dev": {
"host": "192.0.2.10",
"user": "builder",
"key_file": "/local/path/to/id_ed25519",
"host_key_check": "strict",
"trusted": true
}
}
}最初の呼び出しは、両方のツールで30分間再利用可能な不透明な connection_id を返します。trusted:true は表示のみに影響します: 許可されたプライベートアドレスの警告は、呼び出しごとではなく、プールされた接続ごとに1回表示されます。SSRFブロッキングとクラウドメタデータ保護は変更されません。SSHは quiet、echo_command、result_only もサポートしています。最後のものは、stdout、stderr、exit_code を中心としたコンパクトなJSONを返します。SFTPは quiet、result_only、upload_many(最大100ファイル)をサポートしています。
ランタイム設定
エージェントは再起動せずに set_config を介して実行時に設定を変更できます:
パラメータ | 説明 | デフォルト |
| 自動検出が失敗した場合のフォールバックエンコーディング |
|
| エンコーディング検出の警告を表示 |
|
| read/edit/grep の最大ファイルサイズ(MB) |
|
| tarアーカイブからのシンボリックリンク抽出を許可 |
|
| 明示的なローカルワークスペースルート。それ以外の場合は、最初のMCPクライアントルートが使用され、次にcwdが使用されます | (MCP root/cwd) |
| webfetch/download/httpreq がプライベートIPにアクセスすることを許可 |
|
| mysqlツールがプライベートIPにアクセスすることを許可 |
|
| redisツールがプライベートIPにアクセスすることを許可 |
|
| ssh/sftpツールがプライベートIPにアクセスすることを許可 |
|
| DNS over HTTPS をグローバルに有効にする(webfetch/download/httpreq/dnslookup) |
|
| Encrypted Client Hello をグローバルに有効にする(webfetch/download/httpreq) |
|
ビルド
go build -trimpath -ldflags="-s -w" -o agent-tool .クロスコンパイル:
GOOS=linux GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o agent-tool .
GOOS=darwin GOARCH=arm64 go build -trimpath -ldflags="-s -w" -o agent-tool .
GOOS=windows GOARCH=amd64 go build -trimpath -ldflags="-s -w" -o agent-tool.exe .トラブルシューティング
文字化け(エンコーディングの問題)
韓国語、日本語、その他の非ASCIIテキストが文字化けとして表示される場合:
オプション1: .editorconfig に charset を追加:
[*]
charset = euc-krオプション2: 環境変数を設定(永続的):
setx AGENT_TOOL_FALLBACK_ENCODING EUC-KR # Windows
export AGENT_TOOL_FALLBACK_ENCODING=EUC-KR # Linuxオプション3: CLIフラグ(セッションごと):
agent-tool --fallback-encoding EUC-KRエージェント向け組み込みヘルプ
agent-tool には、エージェントが使用ガイダンスのために呼び出せる agent_tool_help ツールが含まれています。エージェントがエンコーディング警告や文字化けに遭遇した場合、次のように呼び出すことができます:
{ "tool": "agent_tool_help", "arguments": { "topic": "encoding" } }利用可能なトピック: overview、encoding、indentation、tools、troubleshooting
セキュリティ
agent-tool は強力なシステムアクセス(SSH、MySQL、Redis、ファイル操作、HTTPリクエスト)を提供します。AIコーディングエージェントと一緒に使用する場合、プロンプトインジェクションのリスクに注意してください:
SSRF 保護: クラウドメタデータIP(169.254.x.x、fe80::/10)は設定に関係なく常にブロックされます。プライベートIPへのアクセスは、プロトコルごとに
set_config(allow_http_private、allow_mysql_private、allow_redis_private、allow_ssh_private)で設定できます。DLP(データ損失防止): すべての送信HTTPリクエストボディは、機密データパターン(PEM秘密鍵、AWSアクセスキー、GitHub/GitLabトークン、Slackトークン、.envファイルダンプ)がスキャンされ、送信前にブロックされます。
プロンプトインジェクション警告: プライベートIP接続のたびに、ユーザーとAIエージェントの両方にセキュリティ警告が表示され、取得したWebコンテンツからのプロンプトインジェクション攻撃の検出に役立ちます。
Zip Slip保護:
../パストラバーサルを含むアーカイブエントリはブロックされます(zipとtarの両方)。Zip Bomb保護: 単一ファイルの上限(1GB)、合計展開上限(5GB)。
シンボリックリンク: デフォルトではスキップされます。
set_config allow_symlinks=trueで有効化できます(tarのみ。zipのシンボリックリンクは常にスキップされます)。有効にしても、出力ディレクトリの外部を指すシンボリックリンクはブロックされます。ファイルサイズ制限: 設定可能な最大ファイルサイズ(デフォルト100MB)が大きなファイルでのOOMを防ぎます。
set_config max_file_size_mb=Nで調整できます。エンコーディングの安全性: chardetはメモリ効率のため、ファイル全体ではなく64KBのサンプルを使用します。
最大限のセキュリティを確保するには、承認前にAIエージェントのツール呼び出しを確認してください。特に、SSHコマンド、外部URLへのHTTPリクエスト、データベースクエリについて確認してください。
技術スタック
言語: Go
エンコーディング: saintfish/chardet + golang.org/x/text
配布: シングルバイナリ(クロスコンパイル)
ライセンス
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceEnables secure local filesystem operations and interactive terminal sessions for AI assistants. Provides 12 tools for file management, directory operations, code searching, and running interactive REPLs with security protections.28MIT
- AlicenseNot gradedqualityCmaintenanceProvides AI assistants with 28 developer tools across file, git, code analysis, HTTP, and system domains, enabling tasks like file editing, repository management, code analysis, and shell command execution.222MIT
- AlicenseAqualityBmaintenanceEnables AI agents to autonomously navigate a codebase by listing directories, reading files, searching code, and running whitelisted commands.512ISC
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to safely interact with the file system through a set of tools for reading, writing, deleting, copying, moving files, and managing directories.
Related MCP Connectors
Persistent memory and knowledge management for AI agents with semantic search and 50+ tools.
Machine-readable utilities and datasets for AI agents.
Codebase intelligence for agents: 152 structured artifacts across 21 programs, one call.
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/knewstimek/agent-tool'
If you have feedback or need assistance with the MCP directory API, please join our Discord server