| 1 |
root |
1.2 |
Revision history for AnyEvent::MCP |
| 2 |
|
|
|
| 3 |
root |
1.35 |
- make multibroker-spawned children ask for permissions through MCP, |
| 4 |
|
|
independently of the multibroker's own permission prompt mode. |
| 5 |
|
|
|
| 6 |
root |
1.34 |
0.7 Fri 30 Oct 2026 14:56:18 CET |
| 7 |
|
|
- WARNING: mcp-imap is unfinished and has not been tested against a real IMAP server. |
| 8 |
|
|
- INCOMPATIBLE CHANGE: rules have changed, old rules will be erased. |
| 9 |
|
|
- declare the same license terms as Perl itself in distribution metadata. |
| 10 |
|
|
- new mcp servers in this release: mcp-http |
| 11 |
|
|
- accept optional dimension default matcher for persistent-rule prompts; |
| 12 |
root |
1.33 |
- clarify that mcp-fs exec has private /tmp by default; shared-tmp |
| 13 |
|
|
exposes host /tmp and is not needed for ordinary temporary files or IPC. |
| 14 |
root |
1.32 |
- add mcp-fs vcs-log for Git, SVN, CVS and Mercurial, reusing bounded |
| 15 |
|
|
output and dedicated permission actions; SVN log receives network |
| 16 |
|
|
and SSH-agent grants alongside CVS operations. |
| 17 |
root |
1.31 |
mcp-webbrowser prefers any JavaScript in the current tab, while the |
| 18 |
|
|
independent origin dimension remains scoped to the current origin. |
| 19 |
root |
1.30 |
- log mcp-http requests with their method and a sanitized URL preview; |
| 20 |
|
|
identify mcp-http/$VERSION in User-Agent unless overridden by the caller. |
| 21 |
root |
1.31 |
Allow generic key=value context in the shared mcp_log_request formatter. |
| 22 |
root |
1.29 |
- silently treat invalid saved permission-rule files as empty, prompting |
| 23 |
|
|
instead of aborting broker startup; subsequent saves replace the old file. |
| 24 |
root |
1.30 |
- add mcp-http for arbitrary HTTP methods with URL-scoped approvals, |
| 25 |
|
|
caller-managed cookie jars, bounded bodies and text grep/regex/substitution. |
| 26 |
|
|
Disable redirects, retries and proxies; verify HTTPS certificates. |
| 27 |
|
|
- derive browser permission origins from reported URLs, not a new |
| 28 |
|
|
userscript field; keep older browser clients able to execute with |
| 29 |
|
|
origin-scoped permissions. |
| 30 |
|
|
- accept compatible browser-protocol minor versions; return empty |
| 31 |
|
|
operation discovery for 1.0 clients instead of disconnecting them. |
| 32 |
root |
1.29 |
Direct rule saves no longer perform semantic validation. |
| 33 |
root |
1.28 |
- replace special-case subject, origin and workdir permission scopes with |
| 34 |
|
|
named dimensions: metadata-driven prompts, generic match.NAME rule keys, |
| 35 |
|
|
and engine-enforced matcher choices. Reject old request and rule fields; |
| 36 |
|
|
no conversion or backward-compatible rule loading. |
| 37 |
root |
1.27 |
- preserve selected origin scopes when external permission helpers |
| 38 |
|
|
forward persistent decisions through native MCP elicitation. |
| 39 |
root |
1.26 |
- add origin-scoped MCP permission rules, selectable independently of |
| 40 |
root |
1.30 |
code/tab scopes; mcp-webbrowser derives browser origins for |
| 41 |
root |
1.26 |
JavaScript and tab operations, with exact, any-port and any-origin |
| 42 |
|
|
choices. Existing rules without origins continue to match all origins. |
| 43 |
root |
1.25 |
- use POSIX::uname instead of nonportable hostname -f for the XPCSE |
| 44 |
|
|
browser nickname, consistent with HTTP URL wildcard host selection. |
| 45 |
|
|
- make form helper test run via explicit ./ path, avoid early HTTP |
| 46 |
|
|
timer races, and test filesystem discovery with optional tools absent. |
| 47 |
root |
1.23 |
- report browser protocol rejections through bounded WebSocket close |
| 48 |
|
|
reasons; show abnormal disconnects in the userscript console and toast. |
| 49 |
|
|
- document browser wire-protocol minor-version compatibility: accept |
| 50 |
|
|
compatible older and newer clients without breaking base functionality. |
| 51 |
|
|
- remove the obsolete private stdio permission-result bridge from |
| 52 |
|
|
mcp-multibroker; use ordinary form elicitation. |
| 53 |
root |
1.22 |
- add per-tab operation discovery and calls to mcp-webbrowser, with |
| 54 |
|
|
per-tab routing, ordinary MCP permissions and browser protocol 1.1; |
| 55 |
|
|
the userscript initially advertises no extra operations. |
| 56 |
|
|
- make the unsandboxed-warning test tolerate diagnostic output from |
| 57 |
|
|
non-GNU utility probes (FreeBSD and BusyBox). |
| 58 |
|
|
- add mcp-imap with one named password-authenticated account per instance, |
| 59 |
|
|
bounded UID search, MIME reads, explicit mailbox/message mutations, |
| 60 |
|
|
UIDPLUS-only targeted expunge, forked worker and MCP permissions. |
| 61 |
root |
1.21 |
- propagate XPCSE save response ETags back to Vim session metadata; |
| 62 |
|
|
make stale upload HTTP status an editor error. |
| 63 |
|
|
- require GNU sed in worker tool discovery; report missing-Perl diagnostics in tests. |
| 64 |
root |
1.18 |
- xpcse: forward Vim's :write! flag through mcp-vim to browser |
| 65 |
|
|
uploads, without changing upload behavior yet. |
| 66 |
root |
1.19 |
- recommend rather than require WebSocket modules: only mcp-vim and |
| 67 |
|
|
mcp-webbrowser use them; mcp-vim loads them only for browser clients, |
| 68 |
|
|
and tests skip optional WebSocket coverage when unavailable. |
| 69 |
root |
1.18 |
|
| 70 |
root |
1.17 |
0.65 Fri 23 Oct 2026 22:41:32 CEST |
| 71 |
root |
1.14 |
- fix mcp-webbrowser userscript title indicator duplicating prefixes on empty titles. |
| 72 |
root |
1.17 |
- use built scripts in make test PATH, avoiding source shebangs and |
| 73 |
|
|
accidentally installed helpers in rule management tests. |
| 74 |
root |
1.15 |
- clarify browser execute code wrapper and reject function/symbol return |
| 75 |
|
|
values instead of silently converting them to null. |
| 76 |
root |
1.17 |
- fix many bugs in the testsuite. |
| 77 |
root |
1.13 |
|
| 78 |
root |
1.12 |
0.62 Thu 22 Oct 2026 13:32:52 CEST |
| 79 |
root |
1.16 |
- INCOMPATIBLE API CHANGE: mcp_getoptions now returns a hash reference instead of |
| 80 |
|
|
a key/value list. |
| 81 |
root |
1.11 |
- Simple accepts server_name/server_version independently of the local |
| 82 |
|
|
instance name, leaving server_info as an unmodified protocol override. |
| 83 |
|
|
- query multibroker children in parallel for tool and broker discovery, |
| 84 |
|
|
preserving tool order and returning partial results after 15 seconds |
| 85 |
|
|
instead of blocking on an unresponsive child. |
| 86 |
root |
1.8 |
- accept a missing trailing slash on HTTP MCP endpoint URLs, working |
| 87 |
root |
1.10 |
around Claude's MCP connector wrongly dropping it from the configured URL, |
| 88 |
root |
1.18 |
thus corrupting it. |
| 89 |
root |
1.7 |
- allow omitted ports in reverse extension URLs, defaulting to port 80. |
| 90 |
root |
1.9 |
- fix MCP client/server version fields serialized as JSON numbers in 0.61. |
| 91 |
root |
1.7 |
|
| 92 |
root |
1.6 |
0.61 Thu 22 Oct 2026 08:57:42 CEST |
| 93 |
root |
1.5 |
- resolve bind hostnames via AnyEvent::Socket instead of Socket::getaddrinfo. |
| 94 |
root |
1.4 |
- honor user-selected file permissions and preserve them across replacements. |
| 95 |
|
|
- fix permission test fixture grants. |
| 96 |
|
|
- fix activity log timestamp formatting on older perl versions. |
| 97 |
|
|
- correct multibroker test tool count (including meta-instructions). |
| 98 |
|
|
- fix perl 5.12 syntax errors in mcp-fs and mcp-vim. |
| 99 |
|
|
|
| 100 |
root |
1.3 |
0.6 Wed 21 Oct 2026 20:43:20 CEST |
| 101 |
root |
1.2 |
- 34k LOC of pure llm madness. but seems to work. yay. |
| 102 |
root |
1.1 |
|
| 103 |
|
|
0.0 Sat 03 Oct 2026 07:29:39 CEST |
| 104 |
|
|
- original version, an AnyEvent::HTTP clone. |