Skip to content
Agentmart
Submit a tool

agent-tool

Encoding-aware, indentation-smart file tools for AI coding agents with SSH, SFTP, and 20+ tools.

Connector by knewstimek · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 24
Write a review

Install

Works with Claude Desktop. Read the repository before you give any tool access to your data.

Download the bundle

MCP bundle (.mcpb): open it with Claude Desktop.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Encoding-aware, indentation-smart file tools for AI coding agents with SSH, SFTP, and 20+ tools.

Use cases: file-management, debugging

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
16 read · 13 write · 4 delete · 7 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Downloaded binary

Tools by what they do 40

Read from the source code; the running server may list different tools.

Read 16 · Look things up without changing anything.

  • agent_tool_help
  • analyze
  • checksum
  • convert_encoding
  • diff
  • file_info
  • glob
  • grep
  • listdir
  • multiread
  • proclist
  • query
Show 4 more tools
  • read
  • sloc
  • ssh_key
  • toolbox

Write 13 · Create, change, send or run things.

  • download
  • edit
  • mkdir
  • multiedit
  • mysql
  • patch
  • procexec
  • redis
  • rename
  • set_config
  • sftp
  • ssh
Show 1 more tools
  • write

Delete 4 · Delete, drop, revoke or wipe things.

  • bash
  • delete
  • httpreq
  • prockill

Not yet classified 7 · We could not tell from the name and description.

  • codegraph
  • copy
  • debug
  • memtool
  • netcheck
  • regexreplace
  • wintool

Network hosts it talks to 7

  • api.ipify.org · found in code
  • api64.ipify.org · found in code
  • cloudflare-dns.com · found in code
  • github.com · found in install command, code
  • glama.ai · found in code
  • ipv4.icanhazip.com · found in code
  • ipv6.icanhazip.com · found in code

Files it touches

  • ~/.ssh/id_test
  • /dev
  • /etc
  • /etc/resolv.conf
  • /opt/visual-studio-code
  • /proc
  • /proc/net/tcp
  • /proc/net/tcp6
  • /proc/net/udp
  • /proc/net/udp6
  • /root
  • /sys
  • /usr/lib
  • /usr/lib/code
  • /usr/lib/systemd
  • /usr/lib64
  • /usr/sbin
  • /usr/share/code
  • /var/run
  • Your home directory (~)

Tools (40)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • agent_tool_help

    Returns usage guide for agent-tool. Call this when you encounter encoding warnings, garbled text, or need to understand agent-tool features. Topics: overview, encoding, indentation, tools, debug, analyze, troubleshooting.

  • analyze

    Static PE/ELF/Mach-O analysis: disassembly, semantic instruction search, headers, strings, hex/pattern search, entropy/diff, xrefs, functions/call graphs, pointers, RTTI, layouts, vtables, and decompilation to C (x86/x64 PE/ELF; va = hex address or symbol, comma-separated for several; a matching PDB or embedded DWARF is applied automatically, and the structs/enums the C names are printed after it), type_info for any other debug type (members with offsets, enum values). Use instruction_search for mnemonic/register/value queries and pattern_search for encoded bytes. Prefer va for PE addresses. U…

  • bash

    Execute shell commands with persistent session support. Sessions maintain working directory, environment variables, and shell state across calls. Use session_id to manage multiple independent shell sessions. Set timeout_sec (or its alias timeout) in seconds, default 120, max 600. For a process that runs longer than that, launch it detached with procexec rather than blocking here. Output is bounded to 32768 bytes; large output keeps both the head and tail and reports original_bytes/truncated. Repeated diagnostic lines are compacted by default without changing exit status. Set output_view=raw to…

  • checksum

    Computes a hash checksum of a file. Reads the file as raw bytes (no encoding conversion). Supported algorithms: md5, sha1, sha256 (default).

  • codegraph

    Fully embedded semantic code graph and symbol lookup tool. Parses Go with the standard library AST and other languages with lazy compressed tree-sitter WASM. No compiler, language server, or external binary is required. Stores stable declaration/definition identities, return/receiver data flow, aliases, transitive includes, build conditions, calibrated candidate evidence, dynamic dispatch, and calls in a local SQLite index (.codegraph.db). Operations: index(path, roots?) - Build/update one project or a multi-root workspace index. find(name) - Find symbol definitions by name (function, clas…

  • convert_encoding

    Converts a file's encoding to a different character set. Reads the file with auto-detected encoding, then rewrites it in the target encoding. Supports: UTF-8, UTF-8-BOM, EUC-KR, Shift_JIS, ISO-8859-1, UTF-16, ASCII, Windows-1252, Big5, GB18030. Example: convert EUC-KR file to UTF-8, or add/remove UTF-8 BOM.

  • copy

    Copy a file or directory recursively with preserved permissions and atomic file replacement. dry_run previews. On Windows, overwrite=true can replace locked executables/DLLs by moving the old file aside.

  • debug

    Interactive debugger using Debug Adapter Protocol (DAP). Launch and control debug sessions for any language with a DAP-compatible adapter. Supports breakpoints, stepping, variable inspection, expression evaluation, stack traces. Adapters: dlv (Go), debugpy (Python), codelldb/lldb-dap (C/C++/Rust), and more. Operations: launch, attach, set_breakpoints, continue, next, step_in, step_out, pause, threads, stack_trace, scopes, variables, evaluate, disconnect, status. Extended: breakpoint_locations, set_function_breakpoints, set_exception_breakpoints, set_data_breakpoints, data_breakpoint_info, set_…

  • delete

    Deletes one file/directory or up to 100 targets with file_paths. Directory deletion requires recursive=true and is limited to 10,000 items/100 levels per target. Batch results are compactly aggregated. Safety: no symlinks, path traversal, workspace roots, home directories, or system paths. Use dry_run=true to preview.

  • diff

    Compares two files and outputs a unified diff. Encoding-aware: auto-detects file encoding before comparison. Lines are compared with their endings normalized; files differing only in line endings or a trailing newline say so explicitly instead of returning an empty diff. Max 50,000 lines per file. Output defaults to 32768 characters and visibly reports truncation.

  • download

    Download a file from a URL and save it to disk. Supports binary and text files. For an API call or a page body inline, use httpreq. Features: ECH (Encrypted Client Hello) and DoH (DNS over HTTPS) enabled by default. Supports HTTP and SOCKS5 proxies. SSRF protection blocks private/internal IPs. Max download size: 100 MB (adjustable via max_size_mb, hard limit 2 GB).

  • edit

    Replace exact text in a file. Preserves encoding and local line endings, adapts indentation using the file and .editorconfig, and supports dry-run plus hash-guarded edits.

  • file_info

    Returns detailed file metadata: size, encoding, line ending, indentation style, and line count. Mixed line endings are reported with separate CRLF, LF, and CR counts. Uses the same encoding detection as read/edit (chardet + .editorconfig).

  • glob

    Finds files matching a glob pattern. Supports ** recursive matching and sorts results by modification time (newest first). Defaults to 200 workspace-relative paths and 32768 characters per page. Skips hidden paths and paths excluded by root .gitignore/.ignore or the common generated/vendor policy unless explicitly included. Returns total/has_more/truncated metadata and an opaque next_cursor.

  • grep

    Regex-search encoding-aware files or directories. Supports context, glob filters, content/file/count modes, ignored-path controls, and bounded pageable output. Directory searches skip detected binaries; explicit files are searched.

Show 25 more tools
  • httpreq

    Execute HTTP requests with any method (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS). Ideal for testing APIs, webhooks, and web services during development. Features: ECH (Encrypted Client Hello) and DoH (DNS over HTTPS) enabled by default. Supports custom headers, request body, and HTTP/SOCKS5 proxies. SSRF protection blocks private/internal IPs. Response body is truncated at max_response_kb. For downloading files, use download.

  • listdir

    Lists directory contents with bounded, pageable output. Default: flat listing, max_depth=3, max_entries=500. When has_more=true, pass next_cursor as cursor to fetch the next page. Filter by type with directories_only or files_only, and by entry-name glob with name_pattern (single) or include (multiple OR patterns, e.g. ["A*", "*.go"]). Use counts_only=true for counts without names, flat=false for a visual tree, and relative_paths=true to save tokens. Skips hidden entries and common build/vendor directories during recursion.

  • memtool

    Process memory tool for reverse engineering and game hacking. CheatEngine-style workflow: search → filter → filter → find exact addresses → write. Supported: Windows (ReadProcessMemory/WriteProcessMemory), Linux (/proc/pid/mem). macOS: not supported (SIP). Operations: regions (list memory map), search (value scan or unknown initial value scan, creates session), filter (narrow: exact/changed/unchanged/increased/decreased), undo (restore previous filter), read (hex dump), read_chain (resolve base+offset pointer chains, batched), write (modify memory), disasm (disassemble live memory — x86/x64/AR…

  • mkdir

    Create a directory. Creates parent directories by default (like mkdir -p). Supports permission mode in octal (e.g. 0755, 0700) — applied on Unix/Linux. Use dry_run=true to preview.

  • multiedit

    Applies multiple old_string -> new_string replacements to a single file in one call. Edits are applied sequentially in order; each edit sees the result of the previous one. Atomic: if any edit fails, the file is not modified at all. Encoding-aware: preserves original file encoding (UTF-8, EUC-KR, Shift-JIS, etc.). Line-ending aware: old_string matches whether the file uses CRLF or LF, and inserted newlines follow the region being edited (mixed-newline files stay intact). Accepts "path" as alias for "file_path". Use dry_run=true to preview all changes without modifying the file.

  • multiread

    Reads multiple files in a single call to reduce API round-trips. Encoding-aware: auto-detects file encoding for each file. Supports offset/limit for reading specific line ranges. Defaults to 200 lines per file and 32768 characters total across the call. Returns visible per-file and overall truncation metadata with continuation positions. Use file_paths or paths (string array) with global offset/limit, or files (object array) for per-file offset/limit. If a file fails, the error is included in output and remaining files continue. Maximum 50 files per request.

  • mysql

    Run MySQL/MariaDB SQL over an utf8mb4 connection. SELECT-like statements return bounded tables; others return affected rows and insert ID. Connections close after each call. tls=true verifies TLS; use SQL LIMIT/OFFSET for deterministic paging.

  • netcheck

    Network diagnostics, one operation per call: - external_ip: your public IPv4 and IPv6 (dedicated detection services with fallback) - dns: records for host (record_type A, AAAA, MX, CNAME, TXT, NS, SOA; DoH by default, use_doh=false for the system resolver) - tls: certificate subject, issuer, expiry, SANs, TLS version and cipher for host:port (default 443) - port: whether a TCP port on host is OPEN or CLOSED, with response time or the failure (refused, timeout, DNS) For HTTP use httpreq.

  • patch

    Applies a unified diff patch to a file. Parses @@ hunk headers, verifies context lines, and applies changes. Encoding-aware: preserves original file encoding. Line-ending aware: each line keeps its own ending (a mixed CRLF/LF file is not rewritten) and a file without a trailing newline does not gain one. Use dry_run=true to preview without modifying the file.

  • procexec

    Execute a command as a new process. Supports background execution and starting in suspended state. WARNING: This tool executes arbitrary commands on the host system. Use with caution. Use suspended=true to start a process in suspended state (Windows: CREATE_SUSPENDED, Linux: SIGSTOP). Use prockill with signal=cont to resume a suspended process. Foreground repeated diagnostics are compacted by default without changing exit status. Set output_view=raw to disable compaction. When compaction occurs, use toolbox operation=output with raw_output_id to retrieve the preserved bounded original for 30 m…

  • prockill

    Kills, suspends, or resumes a process by PID or port number. Supports tree kill (process + all children), signal selection (kill/term/hup/int/stop/cont). Use signal=stop to suspend and signal=cont to resume a process. On Linux, can detect and handle zombie processes by signaling their parent. Use dry_run=true to preview which processes would be affected. Safety: refuses to target PID 0/1 or the agent-tool process itself.

  • proclist

    Lists running processes with PID, name, command line, and memory usage. Sensitive information in command-line arguments (passwords, tokens) is automatically masked. Use filter to search by process name, or port to find processes using a specific port. Results are paged; continue with next_offset when has_more=true.

  • query

    Read one value from a JSON, YAML or TOML file by a dot-notation path, without loading the whole file into context. Format comes from the extension (.json, .yaml/.yml, .toml); pass format for other names. Supports nested keys (a.b.c), array indices ([0], [-1] for last) and wildcards ([*]). Examples: "scripts.build", "services.web.ports[0]", "tool.poetry.name", "users[*].email". Returns the value with its type; objects and arrays print as JSON. Output defaults to 32768 characters and reports truncation.

  • read

    Read text with line numbers or return raster images as ImageContent. Detects common encodings; SVG stays text. Text is bounded and reports truncation/next_offset. Use offset/limit to page; relative paths use the workspace or MCP root.

  • redis

    Execute Redis commands on a Redis server. Supports all Redis commands (GET, SET, HGETALL, LPUSH, etc.). Results are formatted by type: strings, integers, arrays, and nil values. Connection is closed after each call (no session pooling). Supports verified TLS encryption for secure connections. Defaults: 200 characters per value and 32768 total output characters. Use max_value_chars/max_output_chars to tune bounded output.

  • regexreplace

    Performs regex find-and-replace across files. Encoding-aware: preserves original file encoding. Replacement newlines follow the newline style of the region each match sits in, so mixed CRLF/LF files stay intact. Exception: converting line endings on purpose (pattern "\r\n" -> "\n", or a replacement containing \r) writes the replacement verbatim. The pattern is matched against decoded text WITHOUT newline normalization: use \r?\n for a line break and \r?$ with (?m) for end-of-line, or a CRLF file will not match. Supports single file or recursive directory mode with glob filtering. Supports capt…

  • rename

    Renames or moves a file/directory. Atomic operation via os.Rename. Use dry_run=true to preview.

  • set_config

    Changes agent-tool runtime configuration. Supports: fallback_encoding, encoding_warnings, max_file_size_mb, allow_symlinks, workspace. SSRF policy: allow_http_private, allow_mysql_private, allow_redis_private, allow_ssh_private. Network: enable_doh (DNS over HTTPS), enable_ech (Encrypted Client Hello). Call with no arguments to view current configuration. Example: set fallback_encoding to "EUC-KR" for Korean legacy projects.

  • sftp

    Transfer files and manage remote filesystems over SSH (SFTP protocol). Reuses SSH session pool — same authentication and session reuse as the ssh tool. Operations: upload (local to remote), download (remote to local), ls, stat, mkdir, rm, chmod, rename. Batch upload: upload_many accepts up to 100 local_path/remote_path items over one SFTP session. Async operations: upload_async, download_async (returns transfer_id immediately), status (check progress), cancel. Max file transfer size: 2 GB. Use overwrite=true to replace existing files. Recursive delete is limited to 10,000 items for safety.

  • sloc

    Count source lines of code (SLOC) in files or directories. Returns per-language summary with file count, total lines, and blank lines. Recognizes 70+ languages by file extension. Skips common non-source directories (node_modules, .git, vendor, dist, build). Use glob to filter specific file types. Use show_files to control per-file breakdown.

  • ssh

    Execute SSH commands with password, key, agent, IPv6, and ProxyJump support. Prefer a local connection_profile or reuse connection_id; matching sessions pool for 30 minutes. Output is bounded. For long-running commands use start/background, then status/tail/cancel with job_id. On Windows use powershell_script to upload, execute, and clean up a temporary script via SSH stdin. Long standalone EncodedCommand invocations are staged automatically.

  • ssh_key

    Converts local SSH private-key files without exposing key material in tool output. Supported output formats: PuTTY PPK v3, traditional PEM, modern OpenSSH, and PKCS#8 PEM. Input format is auto-detected and may be PEM, PKCS#8, OpenSSH, or PPK. RSA, ECDSA, Ed25519, and DSA keys are supported where the target format permits them. PPK and OpenSSH outputs support output_passphrase. Legacy encrypted PEM is intentionally not generated. Writes with permission 0600, refuses overwrite by default, and uses safe replacement when overwrite=true.

  • toolbox

    Discover and call tools without loading every schema. Use describe, preferably compact with tool_operation, then call with arguments. Reuse schema_handle. output retrieves preserved paged command output. list shows tools; enable/disable/profile manage direct bindings. Profiles: core-lite, core, coding, remote, analysis, full.

  • wintool

    Windows-only GUI automation: find/inspect windows, screenshots, clipboard images, text, mouse/keyboard input, messages, visibility, geometry, close, and focus. clipboard saves the current image as PNG; screenshot returns base64 PNG unless save_path is set.

  • write

    Create or overwrite a file. Preserves existing encoding, uses .editorconfig for new files, and creates parent directories.

Compare and alternatives

    Featured in

    Signals

    Stars
    24
    Forks
    7
    Open issues
    1
    Contributors
    3
    Last commit
    Oct 12, 2026 (16 days ago)
    Last release
    Oct 12, 2026 (16 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    Registry name
    io.github.knewstimek/agent-tool
    Version
    0.4.2
    Auth
    No auth
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026
    Cite this page

    agent-tool MCP server. Agent Mart. https://agentmart.dev/connectors/knewstimek-agent-tool (last updated 2026-10-24)