NEWS.md
mcp_server() now supports HTTP transport in addition to stdio. Use type = "http" to start an HTTP server, with optional host and port arguments. For now, the implementation is authless.
mcp_server() now formats tool results in the same way as ellmer (#78 by @gadenbuie).
mcp_server() gains logical argument session_tools, allowing users to opt-out of presenting R session tools (that make it possible to communicate with mcp_session()s) to clients.
Several tightenings-up of the implementation:
id = NULL value, ensuring parse-error replies conform to the MCP specification.mcp_tools() now sends and receives a "notifications/initialized" (#77 by @galachad).mcp_session() now invisibly returns the nanonext socket used for communicating with the server.
Notably, mcp_tools() did not gain an implementation of the HTTP transport. Instead, we now recommend the mcp-remote tool for serving local MCP servers via the HTTP transport in the documentation.
mcp_tools() now errors more informatively when an MCP server process exits unexpectedly (#82).
Before the initial release of the package, mcptools was called acquaint and supplied a default set of tools from btw, currently a GitHub-only package, when R was used as an MCP server. The direction of the dependency has been reversed; to use the same functionality from before, transition acquaint::mcp_server() to btw::btw_mcp_server() and acquaint::mcp_session() to btw::btw_mcp_session().