table of contents
| MCP::Primitive(3) | User Contributed Perl Documentation | MCP::Primitive(3) |
NAME¶
MCP::Primitive - Primitive base class
SYNOPSIS¶
package MyMCPPrimitive; use Mojo::Base 'MCP::Primitive'; 1;
DESCRIPTION¶
MCP::Primitive is a base class for MCP (Model Context Protocol) primitives such as MCP::Tool, MCP::Prompt, and MCP::Resource.
ATTRIBUTES¶
MCP::Primitive implements the following attributes.
scopes¶
my $scopes = $primitive->scopes; $primitive = $primitive->scopes(['mcp:read', 'mcp:write']);
OAuth scopes required to list or call this primitive, as an array reference; all of them must be granted. This is a local authorization policy layered on the HTTP transport's "auth" in MCP::Server::Transport::HTTP hook, not wire-level MCP metadata, and is only enforced for requests that supply scopes (so it has no effect over stdio). Defaults to no required scopes.
METHODS¶
MCP::Primitive inherits all methods from Mojo::Base and implements the following new ones.
context¶
my $context = $primitive->context;
Returns the MCP::Server::Context for the current request. Capture this before an async boundary to keep using its notification methods from later callbacks.
# Get controller for requests using the HTTP transport my $c = $primitive->context->controller;
SEE ALSO¶
MCP, <https://mojolicious.org>, <https://modelcontextprotocol.io>.
| 2026-06-29 | perl v5.44.0 |