NAME
MCP::Server::Context - Request context container
SYNOPSIS
use MCP::Server::Context;
my $context = MCP::Server::Context->new;
$context->notify_progress(1, 2, 'halfway');
DESCRIPTION
MCP::Server::Context is a container for per-invocation request context.
ATTRIBUTES
MCP::Server::Context implements the following attributes.
controller
my $c = $context->controller;
$context = $context->controller(Mojolicious::Controller->new);
The Mojolicious::Controller serving the current request, when the HTTP transport is in use.
progress_token
my $token = $context->progress_token;
$context = $context->progress_token('tok-1');
The progress token provided by the client in _meta.progressToken, or undef if none was sent.
session_id
my $id = $context->session_id;
$context = $context->session_id('12345');
Identifier of the session this request belongs to.
transport
my $transport = $context->transport;
$context = $context->transport(MCP::Server::Transport::HTTP->new);
The transport handling the current request.
METHODS
MCP::Server::Context inherits all methods from Mojo::Base and implements the following new ones.
notify
my $bool = $context->notify($method);
my $bool = $context->notify($method, {foo => 'bar'});
Send a JSON-RPC notification to the client associated with the current request. Returns true on success, or undef if no notification could be delivered.
notify_progress
my $bool = $context->notify_progress($progress);
my $bool = $context->notify_progress($progress, $total);
my $bool = $context->notify_progress($progress, $total, $message);
Send a notifications/progress JSON-RPC notification for the progress token associated with the current request. Returns true on success, or undef if no progress token was provided by the client.
SEE ALSO
MCP, https://mojolicious.org, https://modelcontextprotocol.io.