Skip to contents

Implements HTTP transport for MCP communication using plumber. This transport allows MCP servers to be accessed over HTTP, enabling multi-client support and easier deployment.

Public fields

server

The MCP server instance

plumber_app

The plumber application instance

host

Host address to bind to

port

Port number to listen on

log_file

Optional log file path

log_level

Logging level ("debug", "info", "warn", "error")

Methods


Method new()

Create a new HTTP transport

Usage

HttpTransport$new(
  server,
  host = "127.0.0.1",
  port = 8080,
  log_file = NULL,
  log_level = "info"
)

Arguments

server

MCP server instance

host

Host address (default: "127.0.0.1")

port

Port number (default: 8080)

log_file

Optional path to log file

log_level

Logging level (default: "info")


Method start()

Start the HTTP transport

Usage

HttpTransport$start(docs = FALSE, quiet = FALSE)

Arguments

docs

Whether to enable Swagger documentation (default: FALSE)

quiet

Whether to suppress plumber startup messages (default: FALSE)

Returns

The running plumber API object


Method get_app()

Get the plumber app (for testing or custom deployment)

Usage

HttpTransport$get_app()

Returns

The plumber API object Initialize logging Logger instance Create the plumber application Handle incoming JSON-RPC message Handle initialize request Handle tools/list request Handle tools/call request Handle resources/list request Handle resources/read request Handle prompts/list request Handle prompts/get request Create error response


Method clone()

The objects of this class are cloneable with this method.

Usage

HttpTransport$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.