|
cxxmcp 1.1.6
C++ MCP SDK
|
Elicitation request, result, and schema payloads. More...
#include <algorithm>#include <cstddef>#include <cstdint>#include <map>#include <optional>#include <string>#include <string_view>#include <type_traits>#include <utility>#include <variant>#include <vector>#include "cxxmcp/core/result.hpp"#include "cxxmcp/protocol/task.hpp"#include "cxxmcp/protocol/types.hpp"Go to the source code of this file.
Classes | |
| struct | mcp::protocol::StringSchema |
| Primitive string property schema for form elicitation. More... | |
| struct | mcp::protocol::NumberSchema |
| Primitive number property schema for form elicitation. More... | |
| struct | mcp::protocol::IntegerSchema |
| Primitive integer property schema for form elicitation. More... | |
| struct | mcp::protocol::BooleanSchema |
| Primitive boolean property schema for form elicitation. More... | |
| struct | mcp::protocol::EnumSchema |
| Primitive string enum property schema for form elicitation. More... | |
| struct | mcp::protocol::ElicitationSchema |
| Object schema requested from a user in form elicitation. More... | |
| class | mcp::protocol::ElicitationSchema::Builder |
| Fluent builder for valid elicitation object schemas. More... | |
| struct | mcp::protocol::CreateElicitationRequestParam |
Parameters for elicitation/create. More... | |
| struct | mcp::protocol::CreateElicitationResult |
Result object for elicitation/create. More... | |
| struct | mcp::protocol::ElicitationCompleteNotificationParams |
Parameters for notifications/elicitation/complete. More... | |
| struct | mcp::protocol::Reflect< ElicitationCompleteNotificationParams > |
| struct | mcp::protocol::JsonFieldTraits< ElicitationAction > |
Typedefs | |
| using | mcp::protocol::PrimitiveSchema = std::variant< StringSchema, NumberSchema, IntegerSchema, BooleanSchema, EnumSchema > |
| Variant over primitive schema shapes supported by elicitation forms. | |
Enumerations | |
| enum class | mcp::protocol::ElicitationAction { Accept , Decline , Cancel } |
| User action returned by an elicitation request. More... | |
| enum class | mcp::protocol::ElicitationMode { Form , Url } |
| Elicitation interaction mode. More... | |
Functions | |
| std::string | mcp::protocol::elicitation_action_to_string (ElicitationAction action) |
| Converts an elicitation action to its MCP string value. | |
| std::optional< ElicitationAction > | mcp::protocol::elicitation_action_from_string (const std::string &value) |
| Parses an elicitation action string. | |
| std::string | mcp::protocol::elicitation_mode_to_string (ElicitationMode mode) |
| Converts an elicitation mode to its MCP string value. | |
| std::optional< ElicitationMode > | mcp::protocol::elicitation_mode_from_string (const std::string &value) |
| Parses an elicitation mode string. | |
| bool | mcp::protocol::elicitation_string_format_is_supported (const std::string &value) noexcept |
| Returns true for string formats allowed by the MCP elicitation schema. | |
| Json | mcp::protocol::string_schema_to_json (const StringSchema &schema) |
| Serializes a string property schema. | |
| Json | mcp::protocol::number_schema_to_json (const NumberSchema &schema) |
| Serializes a number property schema. | |
| Json | mcp::protocol::integer_schema_to_json (const IntegerSchema &schema) |
| Serializes an integer property schema. | |
| Json | mcp::protocol::boolean_schema_to_json (const BooleanSchema &schema) |
| Serializes a boolean property schema. | |
| Json | mcp::protocol::enum_schema_to_json (const EnumSchema &schema) |
| Serializes a string enum property schema. | |
| Json | mcp::protocol::primitive_schema_to_json (const PrimitiveSchema &schema) |
| Serializes any primitive elicitation property schema. | |
| Json | mcp::protocol::elicitation_schema_to_json (const ElicitationSchema &schema) |
| Serializes a form elicitation object schema. | |
| core::Error | mcp::protocol::elicitation_json_error (std::string message) |
| Builds an InvalidRequest error for elicitation JSON validation failures. | |
| core::Result< core::Unit > | mcp::protocol::parse_titled_enum_choices (const Json &choices, std::vector< std::string > &values, std::vector< std::string > &titles, std::string_view context) |
Parses {"const": "...", "title": "..."} enum choices. | |
| bool | mcp::protocol::enum_values_are_allowed (const std::vector< std::string > &allowed, const std::vector< std::string > &values) |
| Validates all selected enum values are allowed. | |
| core::Result< PrimitiveSchema > | mcp::protocol::primitive_schema_from_json (const Json &json) |
| Parses any primitive elicitation property schema. | |
| core::Result< ElicitationSchema > | mcp::protocol::elicitation_schema_from_json (const Json &json) |
| Parses a form elicitation object schema. | |
| Json | mcp::protocol::create_elicitation_request_param_to_json (const CreateElicitationRequestParam &request) |
Serializes elicitation/create params. | |
| core::Result< CreateElicitationRequestParam > | mcp::protocol::create_elicitation_request_param_from_json (const Json &json) |
Parses elicitation/create params. | |
| Json | mcp::protocol::create_elicitation_result_to_json (const CreateElicitationResult &result) |
Serializes an elicitation/create result. | |
| core::Result< CreateElicitationResult > | mcp::protocol::create_elicitation_result_from_json (const Json &json) |
Parses an elicitation/create result. | |
| core::Result< core::Unit > | mcp::protocol::validate_elicitation_content_property (const std::string &name, const PrimitiveSchema &schema, const Json &value) |
| Validates a form elicitation content object against one primitive property schema. | |
| core::Result< core::Unit > | mcp::protocol::validate_elicitation_content (const ElicitationSchema &schema, const Json &content) |
| Validates a form elicitation content object against the SDK's constrained ElicitationSchema model. | |
| core::Result< core::Unit > | mcp::protocol::validate_elicitation_result_content (const ElicitationSchema &schema, const CreateElicitationResult &result) |
| Validates an accepted elicitation result's content against the requested form schema. | |
| Json | mcp::protocol::elicitation_complete_notification_params_to_json (const ElicitationCompleteNotificationParams ¶ms) |
| Serializes URL-mode completion notification params. | |
| core::Result< ElicitationCompleteNotificationParams > | mcp::protocol::elicitation_complete_notification_params_from_json (const Json &json) |
| Parses URL-mode completion notification params. | |
Elicitation request, result, and schema payloads.
Elicitation lets a peer ask the user for additional input during MCP request handling. Form mode embeds a constrained JSON schema for values to collect; URL mode sends the user to an external flow and reports completion by notification. Task request parameters may be included when supported.
|
strong |
|
strong |
Elicitation interaction mode.
| Enumerator | |
|---|---|
| Form | Inline form described by an ElicitationSchema. |
| Url | External URL flow completed by notification. |
|
inline |
Parses elicitation/create params.
|
inline |
Serializes elicitation/create params.
requestedSchema; form mode omits elicitationId and url.
|
inline |
Parses an elicitation/create result.
|
inline |
Parses an elicitation action string.
|
inline |
Parses URL-mode completion notification params.
|
inline |
Parses an elicitation mode string.
|
inline |
Parses a form elicitation object schema.
|
inline |
Parses any primitive elicitation property schema.
|
inline |
Validates a form elicitation content object against the SDK's constrained ElicitationSchema model.
The SDK intentionally validates only the primitive schema subset it models: required fields, primitive JSON types, numeric bounds, and enum values. Unknown content members are allowed because the schema model does not expose JSON Schema additionalProperties.
|
inline |
Validates an accepted elicitation result's content against the requested form schema.
Non-accept results do not require content and are treated as valid. Accept results without content are valid only when the schema has no required fields.