agent-tool
agent-tool
MCP-сервер (Model Context Protocol) с инструментами для ИИ-агентов, пишущих код.
Зачем?
Встроенные инструменты ИИ-агентов для написания кода (Claude Code, Cursor, Codex и др.) имеют известные ограничения:
Ломаются отступы из табов: LLM выводят пробелы, а в вашем проекте используются табы. Встроенный инструмент Edit записывает пробелы как есть, нарушая ваш стиль отступов.
Порча кодировки: При редактировании файлов в EUC-KR, Shift-JIS или GB18030 они молча конвертируются в UTF-8, ломая легаси-проекты.
Слишком много отдельных инструментов: Заставлять агента искать, устанавливать и настраивать Redis CLI, MySQL-клиент, SSH-клиент и т.д. — утомительно и чревато ошибками. agent-tool объединяет 54 инструмента в один бинарник и предоставляет их по требованию через компактные профили.
Нет поддержки реверс-инжиниринга: Встроенные инструменты не умеют дизассемблировать бинарники, анализировать PE/ELF-заголовки, находить границы функций или искать перекрёстные ссылки. agent-tool включает статический анализ бинарников (дизассемблирование, xref, определение функций), DAP-отладчик и инструменты работы с памятью в стиле CheatEngine — это даёт вашему агенту полные возможности реверс-инжиниринга.
Цензура в сети: В некоторых странах государственная фильтрация веб-трафика ломает обычные запросы
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 по умолчанию открывает только 11 схем (включая toolbox) вместо всех 54. При измерении на уровне протокола это сократило сериализованный список инструментов примерно с 84 КБ (full) до 18 КБ. Используйте
toolbox(operation="describe", tool="ssh", compact=true, tool_operation="execute"),
чтобы загрузить поля и список обязательных аргументов только одной операции, а затем вызывайте её через
toolbox(operation="call", tool="ssh", arguments={...}). Шлюз не зависит от динамического обновления списка инструментов, поэтому работает с клиентами с фиксированной привязкой, такими как Codex. Describe возвращает привязанный к инструменту/версии schema_handle; при повторном вызове describe с ним возвращается короткое подтверждение без изменений, если схема всё ещё актуальна. Также можно запустить с флагом --profile coding|remote|analysis|full.
Потенциально большие текстовые ответы по умолчанию ограничены 32К символами с жёстким потолком 128К. Усечение всегда заметно, а инструменты с постраничной выдачей возвращают next_offset или next_cursor. Локальные относительные пути разрешаются относительно явно заданного workspace, затем корня MCP-клиента.
Возможности
Инструмент | Описание | Статус |
Edit | Замена строк с умными отступами и сохранением кодировки (поддерживается dry_run) | ✅ |
Read | Чтение с учётом кодировки и номерами строк. По умолчанию 400 строк/32K символов, сообщает об усечении и точном | ✅ |
Write | Создание/перезапись файлов с учётом кодировки | ✅ |
Grep | Регулярный поиск с учётом кодировки, бюджет вывода 32K, компактный вывод, сгруппированный по файлам, относительные пути, фильтрация | ✅ |
Glob | Отсортированное ограниченное сопоставление файлов с | ✅ |
ListDir | Ограниченный/постраничный список каталога. | ✅ |
Diff | Сравнение двух файлов с выводом unified diff (с учётом кодировки). Файлы, отличающиеся только переводами строк или завершающим переводом строки, сообщают об этом вместо пустого diff | ✅ |
Patch | Применение unified 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 | Информация о системе — ОС, 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 | Выполнение SSH с захватом 32K head+tail, исходными счётчиками байтов, корректными ошибками ненулевого выхода и фоновыми заданиями ( | ✅ |
SFTP | Передача файлов и управление удалёнными файловыми системами по SSH. Загрузка, скачивание, ls, stat, mkdir, rm, chmod, rename. Использует пул SSH-сессий. Максимум 2 ГБ на передачу | ✅ |
Bash | Постоянные shell-сессии с сохранением рабочего каталога/окружения, безопасное уплотнение повторяющихся диагностик и истекающее получение необработанного вывода. Пул сессий (макс. 5, таймаут простоя 30 мин). Unix: bash/sh, Windows: PowerShell/git-bash/cmd | ✅ |
WebFetch | Получение веб-контента как текст/Markdown с максимумом 32K по умолчанию/128K. ECH + DoH, конвертация HTML→Markdown, защита SSRF, поддержка прокси, Chrome User-Agent | ✅ |
WebSearch | Веб-поиск через Brave Search или Naver API. Требуются переменные окружения с API-ключами ( | ✅ |
Download | Скачивание файлов с URL на диск. ECH + DoH по умолчанию. Защита SSRF. HTTP/SOCKS5 прокси. Атомарная запись. Максимум 2 ГБ | ✅ |
HTTPReq | Выполнение HTTP-запросов любым методом (GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS). Тестирование API с пользовательскими заголовками, телом, прокси. Защита SSRF | ✅ |
JSONQuery | Запросы к JSON-файлам с путями в точечной нотации (например, | ✅ |
YAMLQuery | Запросы к YAML-файлам с путями в точечной нотации (тот же синтаксис, что и JSONQuery) | ✅ |
TOMLQuery | Запросы к TOML-файлам с путями в точечной нотации (тот же синтаксис, что и JSONQuery). Поддерживает специфичные для TOML типы (datetime, int64) | ✅ |
Copy | Копирование файлов/каталогов с атомарной записью и сохранением прав. Рекурсивное копирование каталогов. Запасной вариант для заблокированных файлов Windows (переименование запущенных exe/DLL в сторону). Предпросмотр dry_run | ✅ |
Mkdir | Создание каталогов с опциональным режимом прав (восьмеричный, например 0755). Рекурсивно по умолчанию (mkdir -p). Предпросмотр dry_run | ✅ |
MultiRead | Чтение до 50 файлов с бюджетом 32K на вызов, по умолчанию 200 строк на файл, безопасность длинных строк и метаданные продолжения для каждого файла/в целом. Хеши опциональны | ✅ |
RegexReplace | Регулярный поиск и замена в файлах/каталогах. Сохранение кодировки и окончаний строк, группы захвата ($1, $2). Пропускает бинарные файлы. Предпросмотр dry_run | ✅ |
TLSCheck | Проверка деталей TLS-сертификата — субъект, издатель, срок действия, SAN, версия TLS, набор шифров | ✅ |
DNSLookup | Поиск DNS-записей (A/AAAA/MX/CNAME/TXT/NS/SOA). DNS через HTTPS (DoH) по умолчанию для конфиденциальности | ✅ |
MySQL | Выполнение SQL-запросов на MySQL/MariaDB. Результаты SELECT в табличном формате с настраиваемыми лимитами строк/столбцов/ячеек/общего вывода; затронутые строки для DML. Используйте SQL LIMIT/OFFSET для постраничной навигации | ✅ |
Redis | Выполнение команд Redis с форматированным выводом по типу. Поддержка TLS. Опасные команды (FLUSHALL, SHUTDOWN и т.д.) заблокированы | ✅ |
PortCheck | Проверка, открыт ли TCP-порт на хосте. Возвращает OPEN/CLOSED со временем ответа. Поддерживает hostname, IPv4, IPv6 | ✅ |
ExternalIP | Получение внешнего (публичного) IP-адреса. Несколько провайдеров с автоматическим резервным переключением (ipify, ifconfig.me, icanhazip) | ✅ |
SLOC | Подсчёт строк исходного кода по языкам. Определение 70+ языков, разбивка по файлам/языкам, статистика пустых строк, контроль | ✅ |
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 header, DWARF, строки, hexdump, поиск шаблонов, энтропия, обнаружение оверлеев и бинарный diff. Нет глобального ограничения размера файла | ✅ |
Memtool | Инструмент памяти процессов в стиле CheatEngine — поиск/фильтрация/чтение/запись значений памяти, | ✅ |
IPC | Межпроцессное взаимодействие между сессиями AI-агентов через TCP. Обмен сообщениями 1:1 с блокирующим приёмом. Протокол: [2-байтовый тип][4-байтовая длина][полезная нагрузка]. Операции: send, receive (блокирующий с таймаутом), ping. Работает между машинами. Максимум 1 МБ сообщение, таймаут 300 с | ✅ |
Wintool | Автоматизация GUI Windows — поиск/перечисление окон и дочерних элементов управления, захват скриншотов (ImageContent PNG через PrintWindow), чтение изображений из буфера обмена, чтение/установка текста, клик, ввод, отправка сырых сообщений, показать/скрыть/свернуть/развернуть, переместить/изменить размер, закрыть, фокус. screenshot/clipboard возвращают ImageContent по умолчанию (опция | ✅ |
CodeGraph | Полностью встроенный семантический граф кода: AST стандартной библиотеки Go плюс ленивый сжатый tree-sitter WASM для C/C++, Python, C#, Rust и Java. Добавляет идентичность объявлений/определений, цепочки возврата и распространение дженериков/алиасов, транзитивные include, калиброванные доказательства перегрузки, виртуальную/интерфейсную диспетчеризацию, рёбра макросов/обратных вызовов, происхождение условий сборки и мультикорневые рабочие области. Без компилятора, языкового сервера, внешних бинарников, вызовов LLM или затрат токенов | ✅ |
SetConfig | Изменение настроек времени выполнения (кодировка, лимит размера файла, симлинки, рабочая область и т.д.) | ✅ |
Help | Встроенное руководство по использованию для агентов (кодировка, отступы, устранение неполадок) | ✅ |
Ключевые улучшения
Умные отступы
LLM обычно выводят пробелы, но во многих проектах используются табуляции. AgentTool автоматически преобразует отступы в соответствии с существующим стилем файла.
Читает
.editorconfigдляindent_styleиindent_sizeВ качестве запасного варианта использует определение по содержимому (первые 100 строк)
Защищает устаревшие файлы: не выполняет преобразование, если фактическое содержимое противоречит
.editorconfig
Сохранение кодировки
Правки сохраняют исходную кодировку файла, а не принудительно используют UTF-8.
Приоритет определения: BOM → charset из
.editorconfig→ UTF-16 без BOM → корректный 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сопоставляет многострочныйold_stringнезависимо от того, использует ли файл CRLF или LF, включая файлы со смешанными переводами строк, а текст, вставленный черезedit/regexreplace, следует стилю перевода строк той области, в которую попадает, поэтому остальная часть файла остаётся побайтово идентичной
Экономные по токенам списки каталогов
listdir по умолчанию возвращает 500 записей на страницу и возвращает next_cursor, когда доступны дополнительные записи. Сузьте результаты с помощью directories_only, files_only, name_pattern (например, A*) или нескольких OR-шаблонов в include. Используйте counts_only=true, когда нужны только количества соответствующих файлов/каталогов.
Освобождение памяти в простое
После 30 минут без вызова инструментов сервер возвращает свою кучу (heap) операционной системе. stdio MCP-сервер не может отличить покинутого клиента от просто молчащего — процесс, который его запустил, может быть жив, уже закончил работу с ним и всё ещё удерживает pipe открытым, поэтому EOF никогда не наступает, — а завершение на основе такой догадки разорвало бы сессию, которая лишь приостановлена. Освобождение памяти — безопасная половина этой сделки: экземпляр, однажды прочитавший файл на 50MB, возвращается к своему базовому уровню ~20MB вместо того, чтобы удерживать 200MB всё время работы машины. Открытые shell и ssh сессии сохраняются, и ничто из того, что клиент может наблюдать, не меняется.
Быстрый старт
Скачайте бинарный файл для вашей ОС из Releases
Выполните
agent-tool install(илиagent-tool install claudeдля конкретного агента)Перезапустите вашу IDE / агента
Готово — компактные основные инструменты доступны сразу;
toolboxописывает и вызывает все остальные инструменты по требованию
Или просто попросите вашего ИИ-агента сделать это за вас:
"Скачайте agent-tool с https://github.com/knewstimek/agent-tool/releases/latest и выполните
agent-tool install"
Любой способный ИИ-агент для написания кода (Claude Code, Codex и т. д.) может автоматически выполнить весь процесс загрузка → установка → перезапуск.
Рекомендуется: укажите агенту предпочитать agent-tool
После установки агенты получат доступ к agent-tool, но по-прежнему могут по умолчанию использовать встроенные инструменты (Read, Edit и т. д.). Чтобы агенты предпочитали учитывающие кодировку и интеллектуально работающие с отступами инструменты agent-tool, добавьте одну из приведённых ниже инструкций.
Совет по навигации по коду: для крупных проектов добавьте это в CLAUDE.md / AGENTS.md, чтобы включить навигацию по коду на основе AST:
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 намеренно не одобряется автоматически через --safe-approve, поскольку его шлюз operation=call может вызывать сетевые инструменты, shell-инструменты, инструменты баз данных и управления процессами. Пользователям безопасного режима следует проверять каждое одобрение 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 плюс более широкие файловые/сборочные/shell инструменты), remote, analysis и full. Во время выполнения предпочитайте независимый от клиента шлюз toolbox: operation=describe возвращает схему одного инструмента (compact=true вместе с tool_operation ограничивает её одной операцией), а operation=call вызывает его через стабильную привязку toolbox. Повторно отправьте полученный schema_handle, чтобы не получать снова неизменённую схему. Когда диагностика команд сжимается, operation=output получает ограниченный необработанный вывод по указанному ID в течение 30 минут и сообщает next_offset, когда требуется постраничный переход. enable, disable и profile остаются доступны для клиентов, поддерживающих tools/list_changed; клиенты с фиксированной привязкой могут всегда продолжать использовать шлюз.
Переменная окружения
Задайте AGENT_TOOL_FALLBACK_ENCODING и/или AGENT_TOOL_PROFILE, чтобы не повторять флаги CLI:
# 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, поэтому поля host, user, key и jump-host не нужно повторять. Профили читаются из каталога конфигурации пользователя ОС по пути 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
}
}
}Первый вызов возвращает непрозрачный connection_id, который остаётся пригодным для повторного использования обоими инструментами в течение 30 минут. trusted:true влияет только на отображение: предупреждение о разрешённом частном адресе показывается один раз для объединённого подключения, а не при каждом вызове; блокировка SSRF и защита метаданных облака не меняются. SSH также поддерживает quiet, echo_command и result_only; последний возвращает компактный JSON с фокусом на stdout, stderr и exit_code. SFTP поддерживает quiet, result_only и upload_many (до 100 файлов).
Конфигурация во время выполнения
Агенты могут изменять настройки во время выполнения через set_config без перезапуска:
Параметр | Описание | По умолчанию |
| Запасная кодировка, когда автоопределение не срабатывает |
|
| Показывать предупреждения об определении кодировки |
|
| Максимальный размер файла для read/edit/grep (МБ) |
|
| Разрешить извлечение симлинков из tar-архивов |
|
| Явный корень локальной рабочей области. В противном случае используется первый корень MCP-клиента, затем cwd | (корень MCP/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: добавьте charset в ваш .editorconfig:
[*]
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-запросы). При использовании с ИИ-агентами для написания кода помните о рисках промпт-инъекций:
Защита от 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-адресу показывает предупреждение о безопасности, видимое и пользователю, и ИИ-агенту, помогая обнаруживать атаки промпт-инъекций из загруженного веб-контента
Защита от 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 (не весь файл) для эффективного использования памяти
Для максимальной безопасности проверяйте вызовы инструментов ИИ-агента перед одобрением, особенно команды SSH, HTTP-запросы к внешним URL и запросы к базам данных.
Технологический стек
Язык: 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