Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Package: mcptools
Title: Model Context Protocol Servers and Clients
Version: 0.1.1.9001
Version: 0.2.0
Authors@R: c(
person("Simon", "Couch", , "[email protected]", role = c("aut", "cre"),
comment = c(ORCID = "0000-0001-5676-5107")),
Expand Down
21 changes: 14 additions & 7 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,25 @@
# mcptools (development version)
# mcptools 0.2.0

* `mcp_tools()` now errors more informatively when an MCP server process exits unexpectedly (#82).
## Server

* `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.

* JSON-RPC responses now retain an explicit `id = NULL` value, ensuring parse-error replies conform to the MCP specification.

* `mcp_server()` now formats tool results in the same way as ellmer (#78 by @gadenbuie).

* `mcp_tools()` now sends and receives a `"notifications/initialized"` (#77 by @galachad).
* `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:
- JSON-RPC responses now retain an explicit `id = NULL` value, ensuring parse-error replies conform to the MCP specification.
- `mcp_tools()` now sends and receives a `"notifications/initialized"` (#77 by @galachad).
- The implementation now supports the 2025-06-18 protocol version, updated from 2024-11-05.

* `mcp_session()` now returns invisibly the nanonext socket used for communicating with the server.
* `mcp_session()` now invisibly returns the nanonext socket used for communicating with the server.

* `mcp_server()` gains logical argument `session_tools`, allowing users to opt-out of presenting R sessions tools to clients.
## Client

- Notably, `mcp_tools()` did not gain an implementation of the HTTP transport. Instead, we now recommend the [mcp-remote](https://www.npmjs.com/package/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).

# mcptools 0.1.1

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

[![Lifecycle:
experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![CRAN
status](https://www.r-pkg.org/badges/version/mcptools)](https://CRAN.R-project.org/package=mcptools)
[![R-CMD-check](https://github.com/posit-dev/mcptools/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/posit-dev/mcptools/actions/workflows/R-CMD-check.yaml)
<!-- badges: end -->

Expand Down