Skip to main content
Glama

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 next_offset, verarbeitet sehr lange Zeilen sicher, optional SHA-256. Flexible Offset- und MCP ImageContent-Unterstützung

Write

Kodierungsbewusstes Erstellen/Überschreiben von Dateien

Grep

Kodierungsbewusste Regex-Suche mit 32K-Ausgabebudget, kompakte nach Dateien gruppierte Ausgabe, relative Pfade, .gitignore/Generierte-Verzeichnisse-Filterung, Binärerkennung, Ausgabemodi/Kontext und deterministisches next_cursor-Paging ohne wiederholte Treffer

Glob

Sortierte, begrenzte Dateisuche mit **, relative Pfade, Filterung generierter Verzeichnisse, explizites has_more und deterministisches Cursor-Paging

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 (start/status/tail/cancel). Authentifizierungsbewusstes Pooling, Host-Key-Verifizierung, ProxyJump, IPv6

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 (BRAVE_SEARCH_API_KEY oder NAVER_CLIENT_ID/NAVER_CLIENT_SECRET). Wählt die Engine automatisch, Brave bevorzugt

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. dependencies.react, items[*].id). Bestimmte Werte extrahieren, ohne die gesamte Datei in den Kontext zu laden

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 force_dacl umgeht die selbstgehärtete DACL eines Prozesses desselben Benutzers (Original wird danach wiederhergestellt)

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 .editorconfig für indent_style und indent_size

  • Fällt auf inhaltsbasierte Erkennung zurück (erste 100 Zeilen)

  • Schützt Altdateien: Konvertiert nicht, wenn der tatsächliche Inhalt .editorconfig widerspricht

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-Kodierung

  • Unterstü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. edit gleicht einen mehrzeiligen old_string ab, unabhängig davon, ob die Datei CRLF oder LF verwendet, einschließlich Dateien, die beide mischen, und von edit/regexreplace eingefü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

  1. Laden Sie die Binärdatei für Ihr Betriebssystem von Releases herunter

  2. Führen Sie agent-tool install aus (oder agent-tool install claude für einen bestimmten Agenten)

  3. Starten Sie Ihre IDE / Ihren Agenten neu

  4. Fertig – die kompakten Kern-Tools sind sofort verfügbar; toolbox beschreibt 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 install aus"

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

ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools. agent-tool preserves file encoding and respects .editorconfig indentation settings.

Soft

Allgemeine Projekte

Prefer agent-tool MCP tools (mcp__agent-tool__*) over built-in file tools when available.

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.

  1. Fügen Sie zu ~/.codex/config.toml hinzu (auf oberster Ebene, nicht innerhalb von [mcp_servers.*]):

model_instructions_file = "~/.codex/model_instructions.md"
  1. Erstellen Sie ~/.codex/model_instructions.md:

ALWAYS use agent-tool MCP tools (mcp__agent-tool__*) instead of built-in file tools.
  1. 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 agent

Berechtigungsstufen für die Installation:

Stufe

Flag

Automatisch genehmigte Tools

Voll (Standard)

(keine)

Alle Tools (mcp__agent-tool__*-Platzhalter)

Sicher

--safe-approve

29 nur-lokale Tools (read, edit, write, grep, glob usw.) — kein SSH, HTTP, DB, bash, Prozesssteuerung

Keine

--no-auto-approve

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-KR

Profile 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=coding

Prioritä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_encoding

Fallback-Kodierung, wenn die Autoerkennung fehlschlägt

UTF-8

encoding_warnings

Kodierungserkennungswarnungen anzeigen

true

max_file_size_mb

Maximale Dateigröße für read/edit/grep (MB)

100

allow_symlinks

Symlink-Extraktion aus tar-Archiven zulassen

false

workspace

Explizites lokales Arbeitsbereichsverzeichnis. Andernfalls wird zuerst das erste MCP-Client-Root verwendet, dann cwd

(MCP-Root/cwd)

allow_http_private

webfetch/download/httpreq den Zugriff auf private IPs erlauben

false

allow_mysql_private

mysql-Tool den Zugriff auf private IPs erlauben

true

allow_redis_private

redis-Tool den Zugriff auf private IPs erlauben

true

allow_ssh_private

ssh/sftp-Tools den Zugriff auf private IPs erlauben

true

enable_doh

DNS over HTTPS global aktivieren (webfetch/download/httpreq/dnslookup)

true

enable_ech

Encrypted Client Hello global aktivieren (webfetch/download/httpreq)

true

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-kr

Option 2: Umgebungsvariable setzen (dauerhaft):

setx AGENT_TOOL_FALLBACK_ENCODING EUC-KR   # Windows
export AGENT_TOOL_FALLBACK_ENCODING=EUC-KR  # Linux

Option 3: CLI-Flag (pro Sitzung):

agent-tool --fallback-encoding EUC-KR

Integrierte 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_config konfigurierbar (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, blockiert

  • Dateigrößenlimit: Konfigurierbare maximale Dateigröße (Standard 100 MB) verhindert OOM bei großen Dateien. Einstellbar über set_config max_file_size_mb=N

  • Kodierungssicherheit: 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

Lizenz

MIT

A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
4dRelease cycle
41Releases (12mo)
Commit activity

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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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