agent-tool
agent-tool
MCP (Model Context Protocol) Tool-Server für KI-Codierungsagenten.
Warum?
Integrierte Tools in KI-Codierungsagenten (Claude Code, Cursor, Codex usw.) haben bekannte Einschränkungen:
Tab-Einrückung bricht: LLMs geben Leerzeichen aus, aber Ihr Projekt verwendet Tabs. Das integrierte Edit-Tool schreibt Leerzeichen unverändert und beschädigt so Ihren Einrückungsstil.
Kodierungsbeschädigung: Das Bearbeiten von EUC-KR-, Shift-JIS- oder GB18030-Dateien konvertiert diese stillschweigend in UTF-8 und bricht damit Legacy-Projekte.
Zu viele separate Tools: Den Agenten dazu zu bringen, Redis CLI, MySQL-Client, SSH-Client usw. zu finden, zu installieren und zu konfigurieren, ist mühsam und fehleranfällig. agent-tool bündelt 54 Tools in einer einzigen Binärdatei und stellt sie bei Bedarf über kompakte Profile bereit.
Keine Reverse-Engineering-Unterstützung: Integrierte Tools können keine Binärdateien disassemblieren, PE/ELF-Header untersuchen, Funktionsgrenzen finden oder Querverweise durchsuchen. agent-tool enthält statische Binäranalyse (Disassemblierung, Xref, Funktionserkennung), einen DAP-Debugger und CheatEngine-artige Speichertools – das gibt Ihrem Agenten vollständige Reverse-Engineering-Fähigkeiten.
Netzzensur: In einigen Ländern unterbricht staatliche Webfilterung einfache
curl/wget-Anfragen. agent-tool verwendet standardmäßig ECH (Encrypted Client Hello) und DoH (DNS over HTTPS), um diese Einschränkungen zu umgehen.
agent-tool löst diese Probleme mit agentenorientierten Tools, die Projektkonventionen bewahren und gleichzeitig den Modellkontext begrenzt halten.
Related MCP server: DevToolkit MCP Server
Unterstützte Agenten
Claude Code, Codex CLI, Cursor, Windsurf, Cline, Gemini CLI und jeder MCP-kompatible Agent.
Standardmäßig LLM-effizient
Das Standardprofil core stellt nur 11 Schemas (einschließlich toolbox) bereit, statt aller 54. In einer Messung auf Protokollebene reduzierte dies die serialisierte Tool-Liste von etwa 84 KB (full) auf 18 KB. Verwenden Sie toolbox(operation="describe", tool="ssh", compact=true, tool_operation="execute"), um nur die Felder und die Pflichtliste einer einzigen Operation zu laden, und rufen Sie sie dann über toolbox(operation="call", tool="ssh", arguments={...}) auf. Das Gateway hängt nicht von einer dynamischen Aktualisierung der Tool-Liste ab und funktioniert daher mit Clients mit fester Bindung wie Codex. Describe gibt einen tool-/versionsgebundenen schema_handle zurück; wenn Sie ihn bei einem späteren Describe senden, erhalten Sie eine kurze unveränderte Bestätigung, solange das Schema noch aktuell ist. Sie können auch mit --profile coding|remote|analysis|full starten.
Potentiell große Textantworten sind standardmäßig auf 32K Zeichen begrenzt, mit einer harten Obergrenze von 128K. Kürzungen sind immer sichtbar, und paginierbare Tools geben next_offset oder next_cursor zurück. Lokale relative Pfade werden zuerst gegen einen expliziten Workspace aufgelöst, dann gegen die MCP-Client-Root.
Funktionen
Tool | Beschreibung | Status |
Edit | Zeichenfolgenersetzung mit intelligenter Einrückung und Kodierungserhaltung (unterstützt dry_run) | ✅ |
Read | Kodierungsbewusstes Lesen mit Zeilennummern. Standardmäßig 400 Zeilen/32K Zeichen, meldet Abschneiden und exaktes | ✅ |
Write | Kodierungsbewusstes Erstellen/Überschreiben von Dateien | ✅ |
Grep | Kodierungsbewusste Regex-Suche mit 32K-Ausgabebudget, kompakte nach Dateien gruppierte Ausgabe, relative Pfade, | ✅ |
Glob | Sortierte, begrenzte Dateisuche mit | ✅ |
ListDir | Begrenzte/seitenweise Verzeichnisauflistung. max_entries + Fortsetzungscursor, Verzeichnis-/Dateifilter, Glob-Filter für Eintragsnamen, Nur-Zähler-Modus, flache/Baum-Ausgabe | ✅ |
Diff | Vergleicht zwei Dateien mit Unified-Diff-Ausgabe (kodierungsbewusst). Dateien, die sich nur in Zeilenenden oder einem abschließenden Zeilenumbruch unterscheiden, melden dies, statt ein leeres Diff zurückzugeben | ✅ |
Patch | Wendet einen Unified-Diff-Patch auf eine Datei an (unterstützt dry_run). Jede Zeile behält ihr eigenes Zeilenende, sodass eine Datei mit gemischten CRLF/LF nicht neu geschrieben wird | ✅ |
Checksum | Datei-Hash berechnen (md5, sha1, sha256) | ✅ |
FileInfo | Dateimetadaten (Größe, Kodierung, Anzahl gemischter Zeilenenden, Einrückung, Zeilenzahl) | ✅ |
Compress | zip / tar.gz-Archive erstellen | ✅ |
Decompress | zip / tar.gz-Archive extrahieren (Zip-Slip/Bomb-Schutz) | ✅ |
Backup | Zeitgestempeltes zip-Backup mit Ausschlussmustern. dry_run-Vorschau mit Verzeichnisstatistiken, Muster-Trefferzahlen und größten Dateien | ✅ |
ConvertEncoding | Dateikodierung konvertieren (EUC-KR ↔ UTF-8, BOM hinzufügen/entfernen usw.) | ✅ |
Delete | Sicheres Löschen einzelner Dateien (keine Verzeichnisse, keine Symlinks, Schutz von Systempfaden, dry_run) | ✅ |
Rename | Atomares Umbenennen oder Verschieben von Dateien/Verzeichnissen (dry_run) | ✅ |
SysInfo | Systeminformationen — Betriebssystem, CPU, RAM, Festplatte, Betriebszeit, CPU-Auslastungsmessung | ✅ |
FindTools | Installierte Entwicklungswerkzeuge finden — Compiler, Laufzeiten, Build-Systeme (Go, .NET, Node, Python, Java, Rust, C/C++ usw.). Durchsucht PATH, Umgebungsvariablen und bekannte Speicherorte (~/bin, snap, scoop, Homebrew, SDKMAN, nvm, fnm, pyenv) | ✅ |
ProcList | Laufende Prozesse auflisten — PID, Name, Befehlszeile, Speicher. Sensible Argumente werden automatisch maskiert. Nach Name oder Port filtern | ✅ |
ProcKill | Prozesse nach PID oder Port beenden, anhalten oder fortsetzen. Baum-Beendigung, Signalauswahl (kill/term/hup/int/stop/cont), Zombie-Behandlung (Linux), dry_run | ✅ |
ProcExec | Befehle als neue Prozesse ausführen. Start im Vordergrund/Hintergrund/angehalten, Timeout/Umgebungsvariablen und sichere Komprimierung wiederholter Diagnosen mit ablaufendem Abruf der Rohausgabe | ✅ |
EnvVar | Umgebungsvariablen lesen. Sensible Werte (Passwörter, Token) werden automatisch maskiert | ✅ |
Firewall | Firewall-Regeln lesen — iptables/nftables/firewalld (Linux), netsh (Windows). Nur lesen | ✅ |
SSH | SSH-Ausführung mit 32K Kopf+Ende-Erfassung, ursprünglichen Bytezahlen, korrekten Fehlern bei Nicht-Null-Exit und Hintergrundjobs ( | ✅ |
SFTP | Dateien über SSH übertragen und entfernte Dateisysteme verwalten. Upload, Download, ls, stat, mkdir, rm, chmod, rename. Nutzt den SSH-Sitzungspool wieder. Max. 2 GB pro Übertragung | ✅ |
Bash | Permanente Shell-Sitzungen mit Beibehaltung von Arbeitsverzeichnis/Umgebung, sichere Komprimierung wiederholter Diagnosen und ablaufender Abruf der Rohausgabe. Sitzungspooling (max. 5, Leerlauf-Timeout 30 Min.). Unix: bash/sh, Windows: PowerShell/git-bash/cmd | ✅ |
WebFetch | Webinhalte als Text/Markdown abrufen mit 32K Standard/128K Maximum. ECH + DoH, HTML→Markdown-Konvertierung, SSRF-Schutz, Proxy-Unterstützung, Chrome User-Agent | ✅ |
WebSearch | Websuche über Brave Search oder Naver API. Erfordert API-Schlüssel-Umgebungsvariablen ( | ✅ |
Download | Dateien von URLs auf die Festplatte herunterladen. ECH + DoH standardmäßig. SSRF-Schutz. HTTP/SOCKS5-Proxy. Atomares Schreiben. Max. 2 GB | ✅ |
HTTPReq | HTTP-Anfragen mit beliebiger Methode ausführen (GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS). API-Tests mit benutzerdefinierten Headern, Body, Proxy. SSRF-Schutz | ✅ |
JSONQuery | JSON-Dateien mit Punktnotation-Pfaden abfragen (z. B. | ✅ |
YAMLQuery | YAML-Dateien mit Punktnotation-Pfaden abfragen (gleiche Syntax wie JSONQuery) | ✅ |
TOMLQuery | TOML-Dateien mit Punktnotation-Pfaden abfragen (gleiche Syntax wie JSONQuery). Unterstützt TOML-spezifische Typen (datetime, int64) | ✅ |
Copy | Dateien/Verzeichnisse mit atomarem Schreiben und Beibehaltung der Berechtigungen kopieren. Rekursives Kopieren von Verzeichnissen. Windows-Fallback für gesperrte Dateien (benennt laufende exe/DLL zur Seite). dry_run-Vorschau | ✅ |
Mkdir | Verzeichnisse mit optionalem Berechtigungsmodus erstellen (oktal, z. B. 0755). Standardmäßig rekursiv (mkdir -p). dry_run-Vorschau | ✅ |
MultiRead | Bis zu 50 Dateien mit einem aufrufweiten 32K-Budget lesen, 200 Zeilen pro Datei standardmäßig, Sicherheit bei langen Zeilen und Fortsetzungsmetadaten pro Datei/insgesamt. Hashes sind optional | ✅ |
RegexReplace | Regex-Suchen-und-Ersetzen über Dateien/Verzeichnisse. Erhält Kodierung und Zeilenenden, Erfassungsgruppen ($1, $2). Überspringt Binärdateien. dry_run-Vorschau | ✅ |
TLSCheck | TLS-Zertifikatsdetails prüfen — Antragsteller, Aussteller, Ablauf, SANs, TLS-Version, Cipher Suite | ✅ |
DNSLookup | DNS-Einträge abfragen (A/AAAA/MX/CNAME/TXT/NS/SOA). DNS over HTTPS (DoH) standardmäßig für den Datenschutz | ✅ |
MySQL | SQL-Abfragen auf MySQL/MariaDB ausführen. Tabellenformatierte SELECT-Ergebnisse mit konfigurierbaren Zeilen-/Spalten-/Zellen-/Gesamtausgabelimits; betroffene Zeilen für DML. SQL LIMIT/OFFSET für Paging verwenden | ✅ |
Redis | Redis-Befehle mit nach Typ formatierter Ausgabe ausführen. TLS-Unterstützung. Gefährliche Befehle (FLUSHALL, SHUTDOWN usw.) blockiert | ✅ |
PortCheck | Prüfen, ob ein TCP-Port auf einem Host offen ist. Gibt OPEN/CLOSED mit Antwortzeit zurück. Unterstützt Hostname, IPv4, IPv6 | ✅ |
ExternalIP | Externe (öffentliche) IP-Adresse abrufen. Mehrere Anbieter mit automatischem Fallback (ipify, ifconfig.me, icanhazip) | ✅ |
SLOC | Quellcodezeilen pro Sprache zählen. Erkennung von 70+ Sprachen, Aufschlüsselung pro Datei/Sprache, Statistiken zu Leerzeilen, max_depth-Steuerung | ✅ |
Debug | Interaktiver Debugger über DAP (Debug Adapter Protocol). Vollständige DAP-Abdeckung mit begrenzten Werten/Ausgabe und Paging für Variablen, Vervollständigungen, Module und geladene Quellen. Getestet mit dlv (Go), debugpy (Python), codelldb (C/C++/Rust). Funktioniert mit jedem DAP-kompatiblen Adapter. Stdio- und TCP-Modi. Hinweis: vsdbg (Microsoft) erfordert eine VS-Code-Lizenz und ist nicht eigenständig nutzbar — verwenden Sie codelldb oder netcoredbg als Open-Source-Alternativen | ✅ |
Analyze | Statische Binäranalyse und Reverse Engineering. x86/x64/ARM/ARM64-Disassemblierung; PE/ELF/Mach-O-Parsing mit begrenzter, seitenweiser PE-Import-Ausgabe; xref, Funktionserkennung/Aufrufgraphen, Zeiger-/RTTI-/vtable-/struct-Analyse, imphash, Rich-Header, DWARF, Strings, Hexdump, Mustersuche, Entropie, Overlay-Erkennung und Binärdiff. Kein globales Dateigrößenlimit | ✅ |
Memtool | CheatEngine-artiges Prozessspeicher-Tool — Speicherwerte suchen/filtern/lesen/schreiben, read_chain (Basis+Offset-Zeigerketten auflösen, in einem Aufruf gebündelt), Live-Disassemblierung (x86/x64/ARM/ARM64), Rückgängig, struct-Mustersuche, Zeigerscan, Speicherdiff. Festplattengestützte Snapshots für große Scans. Sitzungsverwaltung mit Leerlauf-Timeout. Windows (ReadProcessMemory) und Linux (/proc/pid/mem). Windows aktiviert SeDebugPrivilege automatisch bei erhöhten Rechten; optionales | ✅ |
IPC | Interprozesskommunikation zwischen KI-Agenten-Sitzungen über TCP. 1:1-Nachrichtenaustausch mit blockierendem Empfang. Protokoll: [2-Byte-Typ][4-Byte-Länge][Nutzlast]. Operationen: send, receive (blockierend mit Timeout), ping. Funktioniert über Maschinen hinweg. Max. 1MB Nachricht, 300s Timeout | ✅ |
Wintool | Windows-GUI-Automatisierung — Fenster und untergeordnete Steuerelemente finden/aufzählen, Screenshots erfassen (ImageContent PNG über PrintWindow), Zwischenablagebilder lesen, Text lesen/setzen, klicken, tippen, rohe Nachrichten senden, anzeigen/ausblenden/minimieren/maximieren, verschieben/größenändern, schließen, fokussieren. screenshot/clipboard geben standardmäßig ImageContent zurück (save_path-Option für Dateiausgabe). Ermöglicht KI-Agenten, GUI-Anwendungen zu "sehen" und mit ihnen zu interagieren. Nur Windows | ✅ |
CodeGraph | Vollständig eingebetteter semantischer Codegraph: Go-Standardbibliotheks-AST plus lazy komprimiertes tree-sitter WASM für C/C++, Python, C#, Rust und Java. Fügt Deklarations-/Definitionsidentität, Rückgabeketten- und Generik-/Alias-Propagation, transitive Includes, kalibrierte Überladungsnachweise, virtuellen/Interface-Dispatch, Makro-/Callback-Kanten, Build-Bedingungs-Herkunft und Multi-Root-Workspaces hinzu. Keine Compiler-, Sprachserver-, externe Binär-, LLM-Aufruf- oder Token-Kosten | ✅ |
SetConfig | Laufzeiteinstellungen ändern (Kodierung, Dateigrößenlimit, Symlinks, Arbeitsbereich usw.) | ✅ |
Help | Integrierter Verwendungsleitfaden für Agenten (Kodierung, Einrückung, Fehlerbehebung) | ✅ |
Wichtigste Verbesserungen
Intelligente Einrückung
LLMs geben typischerweise Leerzeichen aus, aber viele Projekte verwenden Tabs. AgentTool konvertiert die Einrückung automatisch, sodass sie zum vorhandenen Stil der Datei passt.
Liest
.editorconfigfürindent_styleundindent_sizeFällt auf inhaltsbasierte Erkennung zurück (erste 100 Zeilen)
Schützt Altdateien: Konvertiert nicht, wenn der tatsächliche Inhalt
.editorconfigwiderspricht
Erhaltung der Kodierung
Bearbeitungen erhalten die ursprüngliche Dateikodierung, anstatt UTF-8 zu erzwingen.
Erkennungspriorität: BOM →
.editorconfig-Zeichensatz → UTF-16 ohne BOM → gültiges UTF-8 → chardet-Autoerkennung → Fallback-KodierungUnterstützt: UTF-8, UTF-8-BOM, EUC-KR, Shift-JIS, ISO-8859-1, UTF-16 (LE/BE, mit oder ohne BOM) und mehr
Keine falschen Warnungen bei ASCII: Gültiges UTF-8 wird direkt verifiziert, sodass reine ASCII-Dateien niemals eine Warnung mit geringer Konfidenz auslösen
Zeilenenden: Erkennt LF, CRLF, CR und gemischte Dateien.
editgleicht einen mehrzeiligenold_stringab, unabhängig davon, ob die Datei CRLF oder LF verwendet, einschließlich Dateien, die beide mischen, und vonedit/regexreplaceeingefügter Text folgt dem Zeilenumbruchstil der Region, in der er landet, sodass der Rest der Datei byte-identisch bleibt
Token-sichere Verzeichnisauflistungen
listdir verwendet standardmäßig 500 Einträge pro Seite und gibt next_cursor zurück, wenn weitere Einträge verfügbar sind. Eingrenzen der Ergebnisse mit directories_only, files_only, name_pattern (zum Beispiel A*) oder mehreren ODER-Mustern in include. Verwenden Sie counts_only=true, wenn nur übereinstimmende Datei-/Verzeichnisanzahlen benötigt werden.
Speicherfreigabe im Leerlauf
Nach 30 Minuten ohne Tool-Aufruf gibt der Server seinen Heap an das Betriebssystem zurück. Ein stdio-MCP-Server kann einen verlassenen Client nicht von einem ruhigen unterscheiden – der Prozess, der ihn gestartet hat, kann noch am Leben sein, mit ihm fertig sein und die Pipe weiterhin offen halten, sodass nie ein EOF eintrifft – und ein Beenden aufgrund dieser Vermutung würde eine Sitzung unterbrechen, die nur pausiert hat. Die Speicherfreigabe ist die sichere Hälfte dieses Kompromisses: Eine Instanz, die einmal eine 50-MB-Datei gelesen hat, kehrt zu ihrer ~20-MB-Basislinie zurück, anstatt 200 MB für die restliche Betriebszeit der Maschine zu halten. Offene Shell- und SSH-Sitzungen überleben, und nichts, was der Client beobachten kann, ändert sich.
Schnellstart
Laden Sie die Binärdatei für Ihr Betriebssystem von Releases herunter
Führen Sie
agent-tool installaus (oderagent-tool install claudefür einen bestimmten Agenten)Starten Sie Ihre IDE / Ihren Agenten neu
Fertig – die kompakten Kern-Tools sind sofort verfügbar;
toolboxbeschreibt und ruft jedes andere Tool bei Bedarf auf
Oder bitten Sie einfach Ihren KI-Agenten, es für Sie zu erledigen:
„Laden Sie agent-tool von https://github.com/knewstimek/agent-tool/releases/latest herunter und führen Sie
agent-tool installaus"
Jeder leistungsfähige KI-Codierungsagent (Claude Code, Codex usw.) kann den vollständigen Download-→-Installations-→-Neustart-Ablauf automatisch bewältigen.
Empfohlen: Sagen Sie Ihrem Agenten, dass er agent-tool bevorzugen soll
Nach der Installation haben Agenten Zugriff auf agent-tool, verwenden aber möglicherweise weiterhin standardmäßig integrierte Tools (Read, Edit usw.). Um sicherzustellen, dass Agenten die kodierungsbewussten, einrückungsintelligenten Tools von agent-tool bevorzugen, fügen Sie eine der folgenden Anweisungen hinzu.
Tipp zur Codenavigation: Fügen Sie für große Projekte Folgendes zu Ihrer CLAUDE.md / AGENTS.md hinzu, um AST-basierte Codenavigation zu aktivieren:
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.Wählen Sie Strict oder Soft:
Modus | Wann verwenden | Anweisung |
Strict | Projekte mit Nicht-UTF-8-Dateien oder gemischter Einrückung |
|
Soft | Allgemeine Projekte |
|
Wo Sie es platzieren:
Pro Projekt — fügen Sie Folgendes zur CLAUDE.md Ihres Projekts hinzu:
ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.Global (alle Projekte) — fügen Sie Folgendes zu ~/.claude/CLAUDE.md hinzu:
ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.Harte Durchsetzung — verweigern Sie integrierte Datei-Tools auf Berechtigungsebene über ~/.claude/settings.json:
{
"permissions": {
"deny": ["Read", "Edit", "MultiEdit", "Write", "Glob", "Grep"]
}
}Dadurch werden die integrierten Datei-Tools von Claude Code nicht verfügbar, sodass der Agent gezwungen ist, agent-tool zu verwenden. Empfohlen, wenn Sie eine strikte Durchsetzung ohne Verlass auf Eingabeaufforderungsanweisungen wünschen.
Fügen Sie zu
~/.codex/config.tomlhinzu (auf oberster Ebene, nicht innerhalb von[mcp_servers.*]):
model_instructions_file = "~/.codex/model_instructions.md"Erstellen Sie
~/.codex/model_instructions.md:
ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.Starten Sie Codex neu.
Pro Projekt — fügen Sie stattdessen zur AGENTS.md Ihres Projekts hinzu.
Fügen Sie zu .cursorrules, .windsurfrules oder AGENTS.md Ihres Projekts hinzu:
ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.Installation
Automatische Installation (empfohlen)
# 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 agentBerechtigungsstufen für die Installation:
Stufe | Flag | Automatisch genehmigte Tools |
Voll (Standard) | (keine) | Alle Tools ( |
Sicher |
| 29 nur-lokale Tools (read, edit, write, grep, glob usw.) — kein SSH, HTTP, DB, bash, Prozesssteuerung |
Keine |
| Keine Tools — jeder Aufruf erfordert manuelle Genehmigung |
Die Genehmigungsstufe ist unabhängig vom Schema-Profil: Die Installation kann den vollständigen Namespace genehmigen, während der Server weiterhin mit dem token-effizienten core-Profil startet. toolbox wird absichtlich nicht durch --safe-approve automatisch genehmigt, da sein operation=call-Gateway Netzwerk-, Shell-, Datenbank- und Prozesssteuerungs-Tools aufrufen kann. Benutzer im Sicherheitsmodus sollten jede toolbox-Genehmigung überprüfen und vermeiden, ihr eine dauerhafte Erlaubnisregel zu erteilen, es sei denn, sie beabsichtigen, dem vollständigen AgentTool-Namespace zu vertrauen.
Manuelle Einrichtung
Claude Code / Cursor / Cline (settings.json oder mcp.json):
{
"mcpServers": {
"agent-tool": {
"command": "/path/to/agent-tool"
}
}
}Codex CLI (~/.codex/config.toml):
[mcp_servers.agent-tool]
command = "/path/to/agent-tool"Optionen
# 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-KRProfile sind additive Voreinstellungen: core (11 Schemas), coding (core plus breitere Datei-/Build-/Shell-Tools), remote, analysis und full. Zur Laufzeit bevorzugen Sie das clientunabhängige toolbox-Gateway: operation=describe gibt das Schema eines Tools zurück (compact=true plus tool_operation begrenzt es auf eine Operation), und operation=call ruft es über die stabile toolbox-Bindung auf. Senden Sie einen zurückgegebenen schema_handle erneut, um zu vermeiden, ein unverändertes Schema erneut zu erhalten. Wenn Befehlsdiagnosen komprimiert werden, ruft operation=output die begrenzte Rohausgabe anhand ihrer gemeldeten ID 30 Minuten lang ab und meldet next_offset, wenn Paginierung erforderlich ist. enable, disable und profile bleiben für Clients verfügbar, die tools/list_changed unterstützen; Clients mit festen Bindungen können das Gateway weiterhin verwenden.
Umgebungsvariable
Setzen Sie AGENT_TOOL_FALLBACK_ENCODING und/oder AGENT_TOOL_PROFILE, um sich wiederholende CLI-Flags zu vermeiden:
# 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=codingPriorität: CLI-Flag > Umgebungsvariable > Standard (UTF-8).
Lokale SSH/SFTP-Verbindungsprofile
SSH und SFTP akzeptieren entweder connection_profile oder eine sitzungslokale connection_id, sodass Host-, Benutzer-, Schlüssel- und Sprunghost-Felder nicht wiederholt werden müssen. Profile werden aus dem Benutzerkonfigurationsverzeichnis des Betriebssystems unter agent-tool/connections.json gelesen; überschreiben Sie den Speicherort mit AGENT_TOOL_CONNECTION_PROFILE_FILE. Halten Sie diese Datei lokal und ignorieren Sie sie explizit, wenn sie in einem Arbeitsbereich platziert wird.
{
"connections": {
"dev": {
"host": "192.0.2.10",
"user": "builder",
"key_file": "/local/path/to/id_ed25519",
"host_key_check": "strict",
"trusted": true
}
}
}Ein erster Aufruf gibt eine undurchsichtige connection_id zurück, die von beiden Tools 30 Minuten lang wiederverwendbar bleibt. trusted:true betrifft nur die Anzeige: Eine zulässige Warnung für private Adressen wird einmal pro gepoolter Verbindung angezeigt, anstatt bei jedem Aufruf; SSRF-Blockierung und Cloud-Metadatenschutz bleiben unverändert. SSH unterstützt außerdem quiet, echo_command und result_only; letzteres gibt kompaktes JSON zurück, das auf stdout, stderr und exit_code fokussiert ist. SFTP unterstützt quiet, result_only und upload_many (bis zu 100 Dateien).
Laufzeitkonfiguration
Agenten können Einstellungen zur Laufzeit über set_config ändern, ohne neu zu starten:
Parameter | Beschreibung | Standard |
| Fallback-Kodierung, wenn die Autoerkennung fehlschlägt |
|
| Kodierungserkennungswarnungen anzeigen |
|
| Maximale Dateigröße für read/edit/grep (MB) |
|
| Symlink-Extraktion aus tar-Archiven zulassen |
|
| Explizites lokales Arbeitsbereichsverzeichnis. Andernfalls wird zuerst das erste MCP-Client-Root verwendet, dann cwd | (MCP-Root/cwd) |
| webfetch/download/httpreq den Zugriff auf private IPs erlauben |
|
| mysql-Tool den Zugriff auf private IPs erlauben |
|
| redis-Tool den Zugriff auf private IPs erlauben |
|
| ssh/sftp-Tools den Zugriff auf private IPs erlauben |
|
| DNS over HTTPS global aktivieren (webfetch/download/httpreq/dnslookup) |
|
| Encrypted Client Hello global aktivieren (webfetch/download/httpreq) |
|
Build
go build -trimpath -ldflags="-s -w" -o agent-tool .Cross-Kompilierung:
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 .Fehlerbehebung
Verstümmelter Text (Kodierungsprobleme)
Wenn koreanischer, japanischer oder anderer Nicht-ASCII-Text als Zeichensalat erscheint:
Option 1: Fügen Sie charset zu Ihrer .editorconfig hinzu:
[*]
charset = euc-krOption 2: Umgebungsvariable setzen (dauerhaft):
setx AGENT_TOOL_FALLBACK_ENCODING EUC-KR # Windows
export AGENT_TOOL_FALLBACK_ENCODING=EUC-KR # LinuxOption 3: CLI-Flag (pro Sitzung):
agent-tool --fallback-encoding EUC-KRIntegrierte Hilfe für Agenten
agent-tool enthält ein agent_tool_help-Tool, das Agenten für Nutzungshinweise aufrufen können. Wenn ein Agent auf Kodierungswarnungen oder verstümmelten Text stößt, kann er Folgendes aufrufen:
{ "tool": "agent_tool_help", "arguments": { "topic": "encoding" } }Verfügbare Themen: overview, encoding, indentation, tools, troubleshooting
Sicherheit
agent-tool bietet leistungsstarken Systemzugriff (SSH, MySQL, Redis, Dateioperationen, HTTP-Anfragen). Bei der Verwendung mit KI-Codierungsagenten sollten Sie sich der Risiken von Prompt-Injection bewusst sein:
SSRF-Schutz: Cloud-Metadaten-IPs (169.254.x.x, fe80::/10) werden unabhängig von den Einstellungen immer blockiert. Der Zugriff auf private IPs ist pro Protokoll über
set_configkonfigurierbar (allow_http_private,allow_mysql_private,allow_redis_private,allow_ssh_private)DLP (Data Loss Prevention / Verhinderung von Datenverlust): Alle ausgehenden HTTP-Anfragekörper werden auf sensible Datenmuster gescannt (PEM-Private-Keys, AWS-Zugriffsschlüssel, GitHub/GitLab-Tokens, Slack-Tokens, .env-Datei-Dumps) und vor der Übertragung blockiert
Warnungen vor Prompt-Injection: Jede Verbindung zu einer privaten IP zeigt eine Sicherheitswarnung, die sowohl für den Benutzer als auch für den KI-Agenten sichtbar ist, und hilft so, Prompt-Injection-Angriffe über abgerufene Webinhalte zu erkennen
Zip-Slip-Schutz: Archiveinträge mit
../-Pfad-Traversal werden blockiert (sowohl zip als auch tar)Zip-Bomben-Schutz: Einzeldateilimit (1 GB), Gesamtextraktionslimit (5 GB)
Symlinks: Standardmäßig übersprungen. Aktivierung über
set_config allow_symlinks=true(nur tar; zip-Symlinks werden immer übersprungen). Selbst wenn aktiviert, werden Symlinks, die aus dem Ausgabeverzeichnis herausführen, blockiertDateigrößenlimit: Konfigurierbare maximale Dateigröße (Standard 100 MB) verhindert OOM bei großen Dateien. Einstellbar über
set_config max_file_size_mb=NKodierungssicherheit: chardet verwendet eine 64-KB-Stichprobe (nicht die gesamte Datei) für Speichereffizienz
Für maximale Sicherheit sollten Sie die Tool-Aufrufe des KI-Agenten vor der Freigabe überprüfen, insbesondere bei SSH-Befehlen, HTTP-Anfragen an externe URLs und Datenbankabfragen.
Technologie-Stack
Sprache: Go
Kodierung: saintfish/chardet + golang.org/x/text
Verteilung: Einzelne Binärdatei (cross-kompiliert)
Lizenz
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