Changes for version 0.62
- mcp_getoptions now returns a hash reference instead of a key/value list (incompatible API change).
- 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.
Documentation
initialize MCP configuration and manage permission rules
graphical or terminal permission helper
display an MCP elicitation form using YAD or a terminal
ask the human questions through MCP
filesystem and command tools with optional sandboxing
combine MCP servers under tool name prefixes
MCP server for live Vim editors
expose opted-in browser tabs to MCP
using MCP servers, clients and permissions
Modules
Model Context Protocol client/server support
asynchronous MCP client protocol
MCP over AnyEvent::HTTP
MCP byte streams and stdio subprocesses
a request for client input
named servers and derived MCP credentials
authenticated non-HTTP connections on an MCP listener
private state file locking and replacement
asynchronous JSON exchange with an external helper
pluggable external permission prompts
MCP request dispatch and JSON-RPC framing
reverse-connecting MCP JSONL server
an optional MCP HTTP listener and socket handler
MCP over a newline-delimited byte stream
action authorization and sandbox grants
one MCP request
simple function interface for MCP servers
MCP tool declarations and callbacks
persistent filesystem workdir IDs
Provides
in lib/AnyEvent/MCP.pm