cxxmcp 1.1.6
C++ MCP SDK
Loading...
Searching...
No Matches
mcp::server::ResourceRegistry Class Reference

Registry of concrete MCP resources and read handlers. More...

#include <registry.hpp>

Public Member Functions

 ResourceRegistry (const ResourceRegistry &other)
 
ResourceRegistryoperator= (const ResourceRegistry &other)
 
 ResourceRegistry (ResourceRegistry &&other) noexcept
 
ResourceRegistryoperator= (ResourceRegistry &&other) noexcept
 
core::Result< core::Unitadd (protocol::Resource resource, ResourceReadHandler handler)
 Register a concrete resource and read handler.
 
core::Result< protocol::ResourcesReadResultread (std::string_view uri, protocol::Json params, const std::string &session_id) const
 Read a resource with only a session id.
 
core::Result< protocol::ResourcesReadResultread (std::string_view uri, protocol::Json params, const SessionContext &session_context) const
 Read a resource with full session metadata.
 
core::Result< protocol::ResourcesReadResultread (std::string_view uri, protocol::Json params, const SessionContext &session_context, CancellationToken cancellation) const
 
std::vector< protocol::Resourcelist () const
 Return registered resources sorted by URI.
 

Detailed Description

Registry of concrete MCP resources and read handlers.

ResourceRegistry owns resource metadata and handler callables. Reads are synchronous and copy session metadata into ResourceContext before invoking the handler outside the registry lock.

Member Function Documentation

◆ add()

core::Result< core::Unit > mcp::server::ResourceRegistry::add ( protocol::Resource  resource,
ResourceReadHandler  handler 
)

Register a concrete resource and read handler.

Returns
core::Unit on success, or InvalidRequest for invalid URI/name, duplicate URI, or empty handler.

◆ read()

core::Result< protocol::ResourcesReadResult > mcp::server::ResourceRegistry::read ( std::string_view  uri,
protocol::Json  params,
const SessionContext session_context 
) const

Read a resource with full session metadata.

Returns
Handler result, ResourceNotFound, or the handler's own error.

The documentation for this class was generated from the following file: