ExMCP.Types.V20241105 (ex_mcp v0.10.0)
View SourceType definitions for MCP protocol version 2024-11-05.
This module contains type definitions specific to the 2024-11-05 version of the Model Context Protocol specification.
Summary
Types
@type content() :: text_content() | image_content() | resource_content()
@type create_message_params() :: %{ :messages => [message()], optional(:modelPreferences) => model_preferences(), optional(:systemPrompt) => String.t(), optional(:maxTokens) => pos_integer() }
@type cursor() :: ExMCP.Types.cursor()
@type error_code() :: ExMCP.Types.error_code()
@type json_schema() :: map()
@type json_value() :: any()
@type model_hint() :: %{optional(:name) => String.t()}
@type model_preferences() :: %{ optional(:hints) => [model_hint()], optional(:costPriority) => float(), optional(:speedPriority) => float(), optional(:intelligencePriority) => float() }
@type request_id() :: ExMCP.Types.request_id()
@type resource_content() :: %{type: :resource, resource: resource()}
@type server_capabilities() :: %{ optional(:experimental) => %{required(String.t()) => any()}, optional(:prompts) => %{optional(:listChanged) => boolean()}, optional(:resources) => %{optional(:listChanged) => boolean()}, optional(:tools) => %{optional(:listChanged) => boolean()}, optional(:logging) => %{required(String.t()) => any()} }
@type text_content() :: %{type: :text, text: String.t()}
@type tool() :: %{ :name => String.t(), optional(:description) => String.t(), inputSchema: json_schema() }