Revision history for AnyEvent::MCP
0.7 Fri 30 Oct 2026 14:56:18 CET
- WARNING: mcp-imap is unfinished and has not been tested against a real IMAP server.
- INCOMPATIBLE CHANGE: rules have changed, old rules will be erased.
- declare the same license terms as Perl itself in distribution metadata.
- new mcp servers in this release: mcp-http
- accept optional dimension default matcher for persistent-rule prompts;
- clarify that mcp-fs exec has private /tmp by default; shared-tmp
exposes host /tmp and is not needed for ordinary temporary files or IPC.
- add mcp-fs vcs-log for Git, SVN, CVS and Mercurial, reusing bounded
output and dedicated permission actions; SVN log receives network
and SSH-agent grants alongside CVS operations.
mcp-webbrowser prefers any JavaScript in the current tab, while the
independent origin dimension remains scoped to the current origin.
- log mcp-http requests with their method and a sanitized URL preview;
identify mcp-http/$VERSION in User-Agent unless overridden by the caller.
Allow generic key=value context in the shared mcp_log_request formatter.
- silently treat invalid saved permission-rule files as empty, prompting
instead of aborting broker startup; subsequent saves replace the old file.
- add mcp-http for arbitrary HTTP methods with URL-scoped approvals,
caller-managed cookie jars, bounded bodies and text grep/regex/substitution.
Disable redirects, retries and proxies; verify HTTPS certificates.
- derive browser permission origins from reported URLs, not a new
userscript field; keep older browser clients able to execute with
origin-scoped permissions.
- accept compatible browser-protocol minor versions; return empty
operation discovery for 1.0 clients instead of disconnecting them.
Direct rule saves no longer perform semantic validation.
- replace special-case subject, origin and workdir permission scopes with
named dimensions: metadata-driven prompts, generic match.NAME rule keys,
and engine-enforced matcher choices. Reject old request and rule fields;
no conversion or backward-compatible rule loading.
- preserve selected origin scopes when external permission helpers
forward persistent decisions through native MCP elicitation.
- add origin-scoped MCP permission rules, selectable independently of
code/tab scopes; mcp-webbrowser derives browser origins for
JavaScript and tab operations, with exact, any-port and any-origin
choices. Existing rules without origins continue to match all origins.
- use POSIX::uname instead of nonportable hostname -f for the XPCSE
browser nickname, consistent with HTTP URL wildcard host selection.
- make form helper test run via explicit ./ path, avoid early HTTP
timer races, and test filesystem discovery with optional tools absent.
- report browser protocol rejections through bounded WebSocket close
reasons; show abnormal disconnects in the userscript console and toast.
- document browser wire-protocol minor-version compatibility: accept
compatible older and newer clients without breaking base functionality.
- remove the obsolete private stdio permission-result bridge from
mcp-multibroker; use ordinary form elicitation.
- add per-tab operation discovery and calls to mcp-webbrowser, with
per-tab routing, ordinary MCP permissions and browser protocol 1.1;
the userscript initially advertises no extra operations.
- make the unsandboxed-warning test tolerate diagnostic output from
non-GNU utility probes (FreeBSD and BusyBox).
- add mcp-imap with one named password-authenticated account per instance,
bounded UID search, MIME reads, explicit mailbox/message mutations,
UIDPLUS-only targeted expunge, forked worker and MCP permissions.
- propagate XPCSE save response ETags back to Vim session metadata;
make stale upload HTTP status an editor error.
- require GNU sed in worker tool discovery; report missing-Perl diagnostics in tests.
- xpcse: forward Vim's :write! flag through mcp-vim to browser
uploads, without changing upload behavior yet.
- recommend rather than require WebSocket modules: only mcp-vim and
mcp-webbrowser use them; mcp-vim loads them only for browser clients,
and tests skip optional WebSocket coverage when unavailable.
0.65 Fri 23 Oct 2026 22:41:32 CEST
- fix mcp-webbrowser userscript title indicator duplicating prefixes on empty titles.
- use built scripts in make test PATH, avoiding source shebangs and
accidentally installed helpers in rule management tests.
- clarify browser execute code wrapper and reject function/symbol return
values instead of silently converting them to null.
- fix many bugs in the testsuite.
0.62 Thu 22 Oct 2026 13:32:52 CEST
- INCOMPATIBLE API CHANGE: mcp_getoptions now returns a hash reference instead of
a key/value list.
- Simple accepts server_name/server_version independently of the local
instance name, leaving server_info as an unmodified protocol override.
- query multibroker children in parallel for tool and broker discovery,
preserving tool order and returning partial results after 15 seconds
instead of blocking on an unresponsive child.
- accept a missing trailing slash on HTTP MCP endpoint URLs, working
around Claude's MCP connector wrongly dropping it from the configured URL,
thus corrupting it.
- allow omitted ports in reverse extension URLs, defaulting to port 80.
- fix MCP client/server version fields serialized as JSON numbers in 0.61.
0.61 Thu 22 Oct 2026 08:57:42 CEST
- resolve bind hostnames via AnyEvent::Socket instead of Socket::getaddrinfo.
- honor user-selected file permissions and preserve them across replacements.
- fix permission test fixture grants.
- fix activity log timestamp formatting on older perl versions.
- correct multibroker test tool count (including meta-instructions).
- fix perl 5.12 syntax errors in mcp-fs and mcp-vim.
0.6 Wed 21 Oct 2026 20:43:20 CEST
- 34k LOC of pure llm madness. but seems to work. yay.
0.0 Sat 03 Oct 2026 07:29:39 CEST
- original version, an AnyEvent::HTTP clone.
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)