Skip to content

knewstimek/agent-tool

v0.8.5 Breaking

This release includes breaking changes for platform teams planning a safe upgrade.

Published 1mo MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai-coding automation claude-code cli codex cross-platform
+13 more
cursor developer-tools dns encoding file-tools go mcp mcp-server mysql redis sftp ssh tls

Summary

AI summary

ipc tool gains broker-based reliable messaging with new operations and parameter aliases added.

Full changelog

Quick Start

  1. Download the binary for your OS below
  2. Run agent-tool install (or agent-tool install claude)
  3. Restart your IDE
  4. Done -- all tools work immediately, no permission popups

Or just ask your AI agent:

"Download agent-tool from https://github.com/knewstimek/agent-tool/releases/latest and run agent-tool install"

Any capable AI coding agent (Claude Code, Codex, etc.) can handle the full download -> install -> restart flow automatically.

Tip: Add this to your CLAUDE.md or AGENTS.md so your agent prefers agent-tool over built-in tools:

Strict mode:

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 mode:

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


What's New

New tool: ipc (broker mode)

ipc already supported point-to-point send/receive. This release adds a broker-based mode for reliable agent-to-agent messaging with no missed messages.

A shared in-process broker queues messages in named mailboxes. Timing doesn't matter -- post before the receiver is ready and the message waits in the queue.

New operations:

  • broker_start -- start (or attach to) a broker on this machine (default port 19901). First caller wins the broker role; subsequent callers connect as clients.
  • broker_stop -- stop the broker (owner only)
  • post -- send to a named mailbox, non-blocking. Params: to, from, message, port
  • fetch -- read all pending messages, non-blocking. Params: mailbox, port
  • wait -- block until a message arrives. Params: mailbox, timeout, port. No tokens consumed while waiting.
  • broker_status -- show queued message counts per mailbox

The tool description now includes a persistent worker pattern so agents know how to loop: broker_start -> loop { wait -> process -> post }

Example workflow (two agent sessions):

Session A: ipc(operation="broker_start")
           ipc(operation="wait", mailbox="A")        <- blocks until B posts

Session B: ipc(operation="broker_start")             <- connects to A's broker
           ipc(operation="post", to="A", from="B", message="hello")
           ipc(operation="wait", mailbox="B")

Session A: receives "hello", replies:
           ipc(operation="post", to="B", from="A", message="done")

Fix: Server instructions now list all tools correctly

The MCP server instructions (shown to agents at startup) had several issues: hardcoded tool count ("50", actually 53), missing tools in groups, and no capability hints for non-obvious tools. Fixed:

  • Removed hardcoded count -- maintenance burden, was wrong anyway
  • Added missing tools to file group: multiedit, patch, regexreplace
  • Added missing tools to groups: firewall, download (network), codegraph (analysis), ipc (system)
  • Added capability hints: wintool (GUI/screenshot/clipboard/sendmessage), ipc (agent messaging/broker)
  • Added help to config group
  • Added capability hints for non-obvious tools: analyze (PE/ELF/disasm/xref/RTTI), debug (DAP/dlv/debugpy/codelldb), memtool (process memory scan/read/write)

Fix: MCP server processes no longer linger after IDE/CLI exit (Windows)

OpenProcess was used alone to check if the parent process was alive, but this call succeeds even for exited processes as long as their object is kept alive by another handle holder (e.g. the shell -- PowerShell, Windows Terminal -- holding a reference to the process it spawned). This caused the parent monitor to report the parent as alive indefinitely, so MCP server processes would pile up across restarts and never self-terminate.

Fixed:

  • Primary path uses WaitForSingleObject(SYNCHRONIZE) opened at startup -- instant exit detection, zero polling overhead, immune to PID recycling
  • Fallback polling uses GetExitCodeProcess(STILL_ACTIVE=259) as the authoritative liveness check
  • Polling interval reduced 30s -> 5s on both Windows and Unix

Param aliases: intuitive parameter names for all file/tool pairs

Agents often use intuitive short names that differ from the actual schema params, causing validation errors. Extended alias coverage across multiple tools:

  • multiread: paths -> file_paths
  • copy: src -> source, dst -> destination
  • rename: source/from -> old_path, destination/to -> new_path
  • diff: a/file1 -> path_a, b/file2 -> path_b
  • backup: destination -> dest_dir
  • sftp: host/server -> address
  • grep: recursive param added (default true, false = top-level only)
  • read: start_line -> offset alias, end_line -> auto-computes limit
  • edit: old_content -> old_string, new_content -> new_string

Fix: JSON-encoded string arrays in tool params

Agents (particularly when using XML tool call format) sometimes pass array params as a JSON-encoded string -- e.g. paths: "[\"a\",\"b\"]" instead of paths: ["a","b"]. The schema validator was rejecting these, causing silent failures and wasted retries. SafeAddTool now auto-detects and unwraps JSON-encoded string arrays before validation. Applies to all tools with string-array params (multiread paths/file_paths, etc.).

Dependencies

  • github.com/modelcontextprotocol/go-sdk 1.4.1 -> 1.5.0 (client OAuth stabilization, no API changes for server-side usage)
  • golang.org/x/net 0.52.0 -> 0.53.0

Full Changelog: https://github.com/knewstimek/agent-tool/compare/v0.8.4...v0.8.5

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track knewstimek/agent-tool

Get notified when new releases ship.

Sign up free

About knewstimek/agent-tool

Encoding-aware, indentation-smart file tools for AI coding agents. 20+ tools including read/edit with automatic encoding detection, smart indentation conversion, SSH, SFTP, process management, and system utilities. Preserves file encoding (UTF-8, EUC-KR, Shift_JIS, etc.) and respects .editorconfig settings.

All releases →

Beta — feedback welcome: [email protected]