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

Fluent builder for common client 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 & transport (std::unique_ptr< client::Transport > value)
 
Builder & transport (std::unique_ptr< transport::ClientTransport > value)
 
Builder & stdio (client::Client::StdioEndpoint endpoint)
 
Builder & process_stdio (client::Client::StdioEndpoint endpoint)
 
Builder & process_stdio (std::string command)
 Convenience: launch a child process as the MCP server.
 
Builder & timeout (std::chrono::milliseconds value)
 
Builder & capabilities (protocol::ClientCapabilities value)
 
Builder & roots (std::vector< protocol::Root > value)
 
Builder & on_initialized (client::Client::InitializedHandler handler)
 
Builder & on_cancelled (client::Client::CancelledHandler handler)
 
Builder & on_logging_message (client::Client::LoggingMessageHandler handler)
 
Builder & on_tool_list_changed (client::Client::ListChangedHandler handler)
 
Builder & on_prompt_list_changed (client::Client::ListChangedHandler handler)
 
Builder & on_resource_list_changed (client::Client::ListChangedHandler handler)
 
Builder & on_resource_updated (client::Client::ResourceUpdatedHandler handler)
 
Builder & on_progress (client::Client::ProgressHandler handler)
 
Builder & on_elicitation_complete (client::Client::ElicitationCompleteHandler handler)
 
Builder & on_task_status (client::Client::TaskStatusHandler handler)
 
Builder & on_roots_list_changed (client::Client::ListChangedHandler handler)
 
Builder & on_list_roots_request (client::Client::ListRootsRequestHandler handler)
 
Builder & on_list_roots_request (client::Client::RootsListRequestCancellationHandler handler)
 
Builder & on_create_message_request (client::Client::CreateMessageRequestHandler handler)
 
Builder & on_create_message_request (client::Client::SamplingRequestCancellationHandler handler)
 
Builder & on_create_elicitation_request (client::Client::CreateElicitationRequestHandler handler)
 
Builder & on_create_elicitation_request (client::Client::ElicitationRequestCancellationHandler handler)
 
Builder & on_custom_request (client::Client::CustomRequestHandler handler)
 
Builder & on_custom_request (client::Client::CustomRequestCancellationHandler handler)
 
Builder & on_raw_notification (client::Client::RawNotificationHandler handler)
 
Builder & handler (const client::ClientHandler &handler)
 
core::Result< Peerbuild ()
 
template<class Fn >
int run (Fn &&fn)
 Builds the peer, serves it, invokes the callback, then stops.
 

Detailed Description

Fluent builder for common client peer construction.

Member Function Documentation

◆ process_stdio()

Builder & mcp::Peer< RoleClient >::Builder::process_stdio ( std::string  command)
inline

Convenience: launch a child process as the MCP server.

Parameters
commandExecutable path or command string.

◆ run()

template<class Fn >
int mcp::Peer< RoleClient >::Builder::run ( Fn &&  fn)

Builds the peer, serves it, invokes the callback, then stops.

Usage:

return ClientPeer::builder()
.process_stdio("my-server")
.run([](auto& svc) {
svc.peer().initialize();
svc.peer().call_tool("echo", Json{{"value", "hello"}});
});
Parameters
fnCallback receiving the running service handle.
Returns
0 on success, 1 on build or serve error.

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