|
cxxmcp 1.1.6
C++ MCP SDK
|
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 | |
| Peer & | set_completion_handler (server::Server::JsonContextHandler handler) |
| Peer & | set_sampling_handler (server::Server::JsonHandler handler) |
| Peer & | set_sampling_handler (server::Server::JsonContextHandler handler) |
| Peer & | set_logging_handler (server::Server::LoggingHandler handler) |
| Peer & | set_raw_request_handler (server::Server::RawRequestHandler handler) |
| Peer & | set_raw_request_handler (server::Server::RawRequestContextHandler handler) |
| Peer & | set_raw_notification_handler (server::Server::RawNotificationHandler handler) |
| Peer & | set_custom_request_handler (server::Server::RawRequestHandler handler) |
| Peer & | set_custom_request_handler (server::Server::RawRequestContextHandler handler) |
| Peer & | set_custom_notification_handler (server::Server::RawNotificationHandler handler) |
| Peer & | set_tools_list_handler (server::Server::ToolsListHandler handler) |
| Peer & | set_prompts_list_handler (server::Server::PromptsListHandler handler) |
| Peer & | set_resources_list_handler (server::Server::ResourcesListHandler handler) |
| Peer & | set_resource_templates_list_handler (server::Server::ResourceTemplatesListHandler handler) |
| Peer & | set_task_list_handler (server::Server::TaskListHandler handler) |
| Peer & | set_task_get_handler (server::Server::TaskGetHandler handler) |
| Peer & | set_task_cancel_handler (server::Server::TaskCancelHandler handler) |
| Peer & | set_task_result_handler (server::Server::TaskResultHandler handler) |
| Peer & | set_progress_handler (server::Server::ProgressHandler handler) |
| Peer & | set_roots_list_changed_handler (server::Server::RootsListChangedHandler handler) |
| Peer & | set_tool_list_changed_handler (server::Server::ListChangedHandler handler) |
| Peer & | set_prompt_list_changed_handler (server::Server::ListChangedHandler handler) |
| Peer & | set_resource_list_changed_handler (server::Server::ListChangedHandler handler) |
| Peer & | set_resource_updated_handler (server::Server::ResourceUpdatedHandler handler) |
| Peer & | set_handler (const server::ServerHandler &handler) |
| Peer & | set_handler (const server::ServerHandlerInterface &handler) |
| std::vector< protocol::ToolDefinition > | list_tools () const |
| core::Result< protocol::ToolDefinition > | get_tool (std::string_view name) const |
| core::Result< protocol::ToolResult > | call_tool (std::string_view name, protocol::Json arguments=protocol::Json::object(), const std::string &session_id={}) const |
| core::Result< protocol::ToolResult > | call_tool (std::string_view name, protocol::Json arguments, const server::SessionContext &context, CancellationToken cancellation=CancellationToken::none()) const |
| std::vector< protocol::Prompt > | list_prompts () const |
| core::Result< protocol::PromptsGetResult > | get_prompt (std::string_view name, protocol::Json arguments=protocol::Json::object(), const std::string &session_id={}) const |
| core::Result< protocol::PromptsGetResult > | get_prompt (std::string_view name, protocol::Json arguments, const server::SessionContext &context, CancellationToken cancellation=CancellationToken::none()) const |
| std::vector< protocol::Resource > | list_resources () const |
| core::Result< protocol::ResourcesReadResult > | read_resource (std::string_view uri, protocol::Json params=protocol::Json::object(), const std::string &session_id={}) const |
| core::Result< protocol::ResourcesReadResult > | read_resource (std::string_view uri, protocol::Json params, const server::SessionContext &context, CancellationToken cancellation=CancellationToken::none()) const |
| std::vector< protocol::ResourceTemplate > | list_resource_templates () const |
| core::Result< protocol::Json > | initialize () |
| core::Result< protocol::Json > | ping (const server::SessionContext &context={}) |
| core::Result< protocol::JsonRpcResponse > | handle_request (const protocol::JsonRpcRequest &request, const server::SessionContext &input_context={}, transport::ServerTransport *native_transport=nullptr) |
| core::Result< core::Unit > | handle_notification (const protocol::JsonRpcNotification ¬ification, const server::SessionContext &context={}) |
| core::Result< core::Unit > | add_transport (std::unique_ptr< server::Transport > transport) |
| core::Result< core::Unit > | add_transport (std::unique_ptr< transport::ServerTransport > transport) |
| Adds an owned role-generic server transport. | |
| core::Result< core::Unit > | start (CancellationToken cancellation=CancellationToken::none()) |
| void | stop () noexcept |
| void | wait_until_ready () |
| Blocks until all native transports are ready to process messages. | |
| core::Result< core::Unit > | notify_roots_list_changed () |
| core::Result< core::Unit > | notify_tool_list_changed () |
| core::Result< core::Unit > | notify_prompt_list_changed () |
| core::Result< core::Unit > | notify_resource_list_changed () |
| core::Result< core::Unit > | notify_resource_updated (std::string_view uri) |
| core::Result< core::Unit > | notify_progress (const protocol::ProgressNotificationParams ¶ms) |
| core::Result< core::Unit > | notify_logging_message (const protocol::LoggingMessageNotificationParams ¶ms) |
| core::Result< core::Unit > | notify_elicitation_complete (std::string elicitation_id) |
| core::Result< core::Unit > | notify_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::Unit > | serve_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< Peer > | build (server::ServerBuilder builder) |
| static Builder | builder () |
| Starts a fluent builder for common server peer construction. | |
Server-side peer boundary for exposing MCP capabilities.
|
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.