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

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

#include <peer.hpp>

Public Member Functions

 Builder (const Builder &)=delete
 
Builder & operator= (const Builder &)=delete
 
 Builder (Builder &&) noexcept=default
 
Builder & operator= (Builder &&) noexcept=default
 
Builder & name (std::string value)
 
Builder & version (std::string value)
 
Builder & instructions (std::string value)
 
Builder & capabilities (protocol::ServerCapabilities value)
 
Builder & transport (std::unique_ptr< server::Transport > value)
 
Builder & transport (std::unique_ptr< transport::ServerTransport > value)
 
Builder & stdio (std::istream &input, std::ostream &output)
 
Builder & stdio ()
 
Builder & auth_provider (std::unique_ptr< server::AuthProvider > value)
 
Builder & rate_limiter (std::unique_ptr< server::RateLimiter > value)
 
Builder & schema_validator (std::shared_ptr< const server::JsonSchemaValidator > value)
 
Builder & task_manager (server::TaskOperationProcessorOptions options={})
 
Builder & task_manager (std::shared_ptr< server::TaskOperationProcessor > processor)
 
Builder & add_tool (protocol::ToolDefinition definition, server::ToolHandler handler)
 
Builder & tool (protocol::ToolDefinition definition, server::ToolHandler handler)
 
Builder & add_prompt (protocol::Prompt prompt, server::PromptHandler handler)
 
Builder & prompt (protocol::Prompt prompt, server::PromptHandler handler)
 
template<class Args , class Handler >
Builder & prompt (server::TypedPromptRegistration< Args, Handler > registration)
 
Builder & add_resource (protocol::Resource resource, server::ResourceReadHandler handler)
 
Builder & resource (protocol::Resource resource, server::ResourceReadHandler handler)
 
template<class Args , class Handler >
Builder & resource (server::TypedResourceRegistration< Args, Handler > registration)
 
Builder & add_resource_template (protocol::ResourceTemplate resource_template)
 
Builder & resource_template (protocol::ResourceTemplate resource_template)
 
template<class Args , class Result , class Handler >
Builder & tool (std::string name, Handler handler)
 Registers a tool with a typed handler.
 
template<class Args , class Result , class Handler >
Builder & tool (protocol::ToolDefinition definition, Handler handler)
 Registers a tool with an explicit definition and typed handler.
 
template<class Args , class Handler >
Builder & prompt (std::string name, Handler handler)
 Registers a typed prompt with argument decoding.
 
template<class Handler >
Builder & prompt (std::string name, Handler handler)
 Registers a prompt with auto-detected handler signature.
 
template<class Args , class Handler >
Builder & resource (std::string name, Handler handler)
 Registers a typed resource with parameter decoding.
 
template<class Handler >
Builder & resource (std::string name, Handler handler)
 Registers a resource with auto-detected handler signature.
 
template<class Handler >
Builder & resource_template (std::string name, Handler handler)
 Registers a resource template with a callable adapter.
 
template<class Handler >
Builder & completion (Handler handler)
 Registers a completion handler.
 
template<class Handler >
Builder & sampling (Handler handler)
 Registers a sampling handler.
 
template<class Handler >
Builder & logging (Handler handler)
 Registers a logging handler.
 
template<class Handler >
Builder & raw_request (Handler handler)
 Registers a raw request handler.
 
template<class Router >
Builder & router (const Router &router)
 
template<class Args , class Result , class Handler >
Builder & tool (server::TypedToolRegistration< Args, Result, Handler > registration)
 
Builder & on_completion (server::Server::JsonHandler handler)
 
Builder & on_completion (server::Server::JsonContextHandler handler)
 
Builder & on_completion (server::Server::JsonRequestContextHandler handler)
 
Builder & on_sampling (server::Server::JsonHandler handler)
 
Builder & on_sampling (server::Server::JsonContextHandler handler)
 
Builder & on_sampling (server::Server::JsonRequestContextHandler handler)
 
Builder & on_logging (server::Server::LoggingHandler handler)
 
Builder & on_raw_request (server::Server::RawRequestHandler handler)
 
Builder & on_raw_notification (server::Server::RawNotificationHandler handler)
 
Builder & on_task_list (server::Server::TaskListHandler handler)
 
Builder & on_tools_list (server::Server::ToolsListHandler handler)
 
Builder & on_prompts_list (server::Server::PromptsListHandler handler)
 
Builder & on_resources_list (server::Server::ResourcesListHandler handler)
 
Builder & on_resource_templates_list (server::Server::ResourceTemplatesListHandler handler)
 
Builder & on_task_get (server::Server::TaskGetHandler handler)
 
Builder & on_task_cancel (server::Server::TaskCancelHandler handler)
 
Builder & on_task_result (server::Server::TaskResultHandler handler)
 
Builder & on_progress (server::Server::ProgressHandler handler)
 
Builder & on_roots_list_changed (server::Server::RootsListChangedHandler handler)
 
Builder & on_tool_list_changed (server::Server::ListChangedHandler handler)
 
Builder & on_prompt_list_changed (server::Server::ListChangedHandler handler)
 
Builder & on_resource_list_changed (server::Server::ListChangedHandler handler)
 
Builder & on_resource_updated (server::Server::ResourceUpdatedHandler handler)
 
Builder & handler (server::ServerHandler handler)
 
Builder & handler (const server::ServerHandlerInterface &handler)
 
core::Result< Peerbuild ()
 
int run ()
 Builds the peer, serves it, and blocks until shutdown.
 

Detailed Description

Fluent builder for common server peer construction.

Member Function Documentation

◆ resource()

template<class Handler >
Builder & mcp::Peer< RoleServer >::Builder::resource ( std::string  name,
Handler  handler 
)
inline

Registers a resource with auto-detected handler signature.

If the handler returns ResourceContents with an empty URI, the URI registered with .resource(name) is filled in automatically.

◆ run()

int mcp::Peer< RoleServer >::Builder::run ( )
inline

Builds the peer, serves it, and blocks until shutdown.

Returns
0 on clean shutdown, 1 on build or serve error.

◆ tool()

template<class Args , class Result , class Handler >
Builder & mcp::Peer< RoleServer >::Builder::tool ( std::string  name,
Handler  handler 
)
inline

Registers a tool with a typed handler.

Template Parameters
ArgsType decoded from the JSON arguments object.
ResultExpected handler result type.
HandlerCallable invoked with Args.
Parameters
nameTool name advertised to clients.
handlerCallable returning Result or core::Result<Result>.

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