cxxmcp 1.1.6
C++ MCP SDK
Loading...
Searching...
No Matches
mcp::Peer< RoleServer > Class Reference

Server-side peer boundary for exposing MCP capabilities. More...

#include <peer.hpp>

Classes

class  Builder
 Fluent builder for common server peer construction. More...
 

Public Member Functions

 Peer (server::ServerOptions options={})
 Creates a server peer from options.
 
 Peer (std::unique_ptr< server::Server > server)
 Creates a server peer from an owned server implementation.
 
 CXXMCP_DEPRECATED ("server() is a compatibility escape hatch; prefer ServerPeer methods") server
 
Peerset_completion_handler (server::Server::JsonContextHandler handler)
 
Peerset_sampling_handler (server::Server::JsonHandler handler)
 
Peerset_sampling_handler (server::Server::JsonContextHandler handler)
 
Peerset_logging_handler (server::Server::LoggingHandler handler)
 
Peerset_raw_request_handler (server::Server::RawRequestHandler handler)
 
Peerset_raw_request_handler (server::Server::RawRequestContextHandler handler)
 
Peerset_raw_notification_handler (server::Server::RawNotificationHandler handler)
 
Peerset_custom_request_handler (server::Server::RawRequestHandler handler)
 
Peerset_custom_request_handler (server::Server::RawRequestContextHandler handler)
 
Peerset_custom_notification_handler (server::Server::RawNotificationHandler handler)
 
Peerset_tools_list_handler (server::Server::ToolsListHandler handler)
 
Peerset_prompts_list_handler (server::Server::PromptsListHandler handler)
 
Peerset_resources_list_handler (server::Server::ResourcesListHandler handler)
 
Peerset_resource_templates_list_handler (server::Server::ResourceTemplatesListHandler handler)
 
Peerset_task_list_handler (server::Server::TaskListHandler handler)
 
Peerset_task_get_handler (server::Server::TaskGetHandler handler)
 
Peerset_task_cancel_handler (server::Server::TaskCancelHandler handler)
 
Peerset_task_result_handler (server::Server::TaskResultHandler handler)
 
Peerset_progress_handler (server::Server::ProgressHandler handler)
 
Peerset_roots_list_changed_handler (server::Server::RootsListChangedHandler handler)
 
Peerset_tool_list_changed_handler (server::Server::ListChangedHandler handler)
 
Peerset_prompt_list_changed_handler (server::Server::ListChangedHandler handler)
 
Peerset_resource_list_changed_handler (server::Server::ListChangedHandler handler)
 
Peerset_resource_updated_handler (server::Server::ResourceUpdatedHandler handler)
 
Peerset_handler (const server::ServerHandler &handler)
 
Peerset_handler (const server::ServerHandlerInterface &handler)
 
std::vector< protocol::ToolDefinitionlist_tools () const
 
core::Result< protocol::ToolDefinitionget_tool (std::string_view name) const
 
core::Result< protocol::ToolResultcall_tool (std::string_view name, protocol::Json arguments=protocol::Json::object(), const std::string &session_id={}) const
 
core::Result< protocol::ToolResultcall_tool (std::string_view name, protocol::Json arguments, const server::SessionContext &context, CancellationToken cancellation=CancellationToken::none()) const
 
std::vector< protocol::Promptlist_prompts () const
 
core::Result< protocol::PromptsGetResultget_prompt (std::string_view name, protocol::Json arguments=protocol::Json::object(), const std::string &session_id={}) const
 
core::Result< protocol::PromptsGetResultget_prompt (std::string_view name, protocol::Json arguments, const server::SessionContext &context, CancellationToken cancellation=CancellationToken::none()) const
 
std::vector< protocol::Resourcelist_resources () const
 
core::Result< protocol::ResourcesReadResultread_resource (std::string_view uri, protocol::Json params=protocol::Json::object(), const std::string &session_id={}) const
 
core::Result< protocol::ResourcesReadResultread_resource (std::string_view uri, protocol::Json params, const server::SessionContext &context, CancellationToken cancellation=CancellationToken::none()) const
 
std::vector< protocol::ResourceTemplatelist_resource_templates () const
 
core::Result< protocol::Jsoninitialize ()
 
core::Result< protocol::Jsonping (const server::SessionContext &context={})
 
core::Result< protocol::JsonRpcResponsehandle_request (const protocol::JsonRpcRequest &request, const server::SessionContext &input_context={}, transport::ServerTransport *native_transport=nullptr)
 
core::Result< core::Unithandle_notification (const protocol::JsonRpcNotification &notification, const server::SessionContext &context={})
 
core::Result< core::Unitadd_transport (std::unique_ptr< server::Transport > transport)
 
core::Result< core::Unitadd_transport (std::unique_ptr< transport::ServerTransport > transport)
 Adds an owned role-generic server transport.
 
core::Result< core::Unitstart (CancellationToken cancellation=CancellationToken::none())
 
void stop () noexcept
 
void wait_until_ready ()
 Blocks until all native transports are ready to process messages.
 
core::Result< core::Unitnotify_roots_list_changed ()
 
core::Result< core::Unitnotify_tool_list_changed ()
 
core::Result< core::Unitnotify_prompt_list_changed ()
 
core::Result< core::Unitnotify_resource_list_changed ()
 
core::Result< core::Unitnotify_resource_updated (std::string_view uri)
 
core::Result< core::Unitnotify_progress (const protocol::ProgressNotificationParams &params)
 
core::Result< core::Unitnotify_logging_message (const protocol::LoggingMessageNotificationParams &params)
 
core::Result< core::Unitnotify_elicitation_complete (std::string elicitation_id)
 
core::Result< core::Unitnotify_task_status (const protocol::Task &task)
 
core::Result< std::optional< protocol::JsonRpcMessage > > dispatch_message (const protocol::JsonRpcMessage &message, const server::SessionContext &context={}, transport::ServerTransport *native_transport=nullptr)
 Dispatches one inbound role-generic transport message.
 
core::Result< core::Unitserve_transport (transport::ServerTransport &transport, const server::SessionContext &context={}, CancellationToken cancellation=CancellationToken::none())
 Runs a sequential receive loop over a role-generic server transport.
 

Static Public Member Functions

static core::Result< Peerbuild (server::ServerBuilder builder)
 
static Builder builder ()
 Starts a fluent builder for common server peer construction.
 

Detailed Description

Server-side peer boundary for exposing MCP capabilities.

Member Function Documentation

◆ dispatch_message()

core::Result< std::optional< protocol::JsonRpcMessage > > mcp::Peer< RoleServer >::dispatch_message ( const protocol::JsonRpcMessage message,
const server::SessionContext context = {},
transport::ServerTransport native_transport = nullptr 
)
inline

Dispatches one inbound role-generic transport message.

Requests produce a JSON-RPC response message, notifications produce no outbound message, and standalone responses remain the responsibility of request-handle correlation paths.


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