|
cxxmcp 1.1.6
C++ MCP SDK
|
Role-aware peer execution boundaries for MCP client and server SDK users. More...
#include <atomic>#include <chrono>#include <condition_variable>#include <cstdint>#include <exception>#include <iostream>#include <memory>#include <mutex>#include <optional>#include <string>#include <string_view>#include <thread>#include <unordered_map>#include <utility>#include <variant>#include <vector>#include "cxxmcp/cancellation.hpp"#include "cxxmcp/client/client.hpp"#include "cxxmcp/client/session.hpp"#include "cxxmcp/client/transport_adapter_fwd.hpp"#include "cxxmcp/config.hpp"#include "cxxmcp/error.hpp"#include "cxxmcp/handler.hpp"#include "cxxmcp/protocol/initialize.hpp"#include "cxxmcp/roles.hpp"#include "cxxmcp/server/authoring.hpp"#include "cxxmcp/server/peer.hpp"#include "cxxmcp/server/transport_adapter_fwd.hpp"#include "cxxmcp/transport/process_stdio_transport.hpp"#include "cxxmcp/transport/stdio_transport.hpp"#include "cxxmcp/transport/transport.hpp"Go to the source code of this file.
Classes | |
| struct | mcp::detail::ClientNativeReceiveState |
| class | mcp::Peer< RoleClient > |
| Client-side peer boundary for talking to an MCP server. More... | |
| class | mcp::Peer< RoleClient >::TaskHandle |
| class | mcp::Peer< RoleClient >::Builder |
| Fluent builder for common client peer construction. More... | |
| class | mcp::Peer< RoleServer > |
| Server-side peer boundary for exposing MCP capabilities. More... | |
| class | mcp::Peer< RoleServer >::Builder |
| Fluent builder for common server peer construction. More... | |
Typedefs | |
| using | mcp::ClientPeer = Peer< RoleClient > |
| using | mcp::ServerPeer = Peer< RoleServer > |
Functions | |
| core::Error | mcp::detail::peer_dispatch_error (std::string_view message) |
| core::Error | mcp::detail::peer_transport_error (std::string_view message) |
| protocol::ErrorObject | mcp::detail::peer_error_object_from_core_error (const core::Error &error) |
| protocol::JsonRpcResponse | mcp::detail::peer_error_response (const protocol::JsonRpcRequest &request, const core::Error &error) |
| protocol::JsonRpcResponse | mcp::detail::peer_auth_error_response (const protocol::JsonRpcRequest &request, const core::Error &error) |
| core::Error | mcp::detail::peer_params_error (core::Error error) |
| protocol::JsonRpcResponse | mcp::detail::peer_params_error_response (const protocol::JsonRpcRequest &request, core::Error error) |
| std::string | mcp::detail::peer_request_cancellation_key (const protocol::RequestId &request_id) |
| core::Result< protocol::Json > | mcp::detail::peer_require_result_payload (const protocol::JsonRpcResponse &response) |
| template<class Transport , class Dispatch > | |
| core::Result< core::Unit > | mcp::detail::serve_transport_loop (Transport &transport, CancellationToken cancellation, Dispatch dispatch) |
| void | mcp::detail::keep_first_service_error (std::optional< core::Error > &first_error, std::mutex &mutex, core::Error error) noexcept |
| server::SessionContext | mcp::detail::context_for_received_server_message (transport::ServerTransport &transport, const server::SessionContext &fallback) |
| std::unique_ptr< client::Transport > | mcp::detail::make_peer_client_transport_adapter (std::unique_ptr< transport::ClientTransport > &transport) |
| protocol::ClientCapabilities | mcp::detail::default_peer_client_capabilities (const std::optional< protocol::ClientCapabilities > &capabilities) |
| protocol::Json | mcp::detail::make_peer_initialize_params (std::string client_name, std::string client_version, const std::optional< protocol::ClientCapabilities > &capabilities) |
| core::Result< protocol::Json > | mcp::detail::require_peer_initialize_payload (const protocol::Json &payload) |
| core::Result< core::Unit > | mcp::detail::validate_peer_server_initialize_params (const protocol::Json ¶ms) |
| protocol::Json | mcp::detail::make_peer_server_initialize_result (const server::ServerInfo &info, const protocol::ServerCapabilities &capabilities, std::string_view protocol_version=protocol::McpProtocolVersion) |
Role-aware peer execution boundaries for MCP client and server SDK users.
Peer<RoleClient> and Peer<RoleServer> are the SDK-facing MCP execution boundary. They expose role-generic message dispatch loops so Transport<Role> can be the public service boundary while concrete Client and Server types remain lower-level convenience APIs.