Scroll to navigation

MCP::Server(3) User Contributed Perl Documentation MCP::Server(3)

NAME

MCP::Server - MCP server implementation

SYNOPSIS

  use MCP::Server;
  my $server = MCP::Server->new(name => 'MyServer');

DESCRIPTION

MCP::Server is an MCP (Model Context Protocol) server.

ATTRIBUTES

MCP::Server implements the following attributes.

name

  my $name = $server->name;
  $server  = $server->name('MyServer');

The name of the server, used for identification.

tools

  my $tools = $server->tools;
  $server   = $server->tools([MCP::Tool->new]);

An array reference containing registered tools.

transport

  my $transport = $server->transport;
  $server       = $server->transport(MCP::Server::Transport::HTTP->new);

The transport layer used by the server, such as MCP::Server::Transport::HTTP or MCP::Server::Transport::Stdio.

version

  my $version = $server->version;
  $server     = $server->version('1.0.0');

The version of the server.

METHODS

MCP::Tool inherits all methods from Mojo::Base and implements the following new ones.

handle

  my $response = $server->handle($request, $context);

Handle a JSON-RPC request and return a response.

to_action

  my $action = $server->to_action;

Convert the server to a Mojolicious action.

to_stdio

  $server->to_stdio;

Handles JSON-RPC requests over standard input/output.

tool

  my $tool = $server->tool(
    name         => 'my_tool',
    description  => 'A sample tool',
    input_schema => {type => 'object', properties => {foo => {type => 'string'}}},
    code         => sub ($tool, $args) { ... }
  );

Register a new tool with the server.

SEE ALSO

MCP, <https://mojolicious.org>, <https://modelcontextprotocol.io>.

2025-08-05 perl v5.42.0