@modelcontextprotocol/sdk
    Preparing search index...

    Variable CreateMessageRequestSchemaConst

    CreateMessageRequestSchema: ZodObject<
        extendShape<
            {
                method: ZodString;
                params: ZodOptional<
                    ZodObject<
                        {
                            _meta: ZodOptional<
                                ZodObject<
                                    { progressToken: ZodOptional<ZodUnion<(...)>> },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<
                                        { progressToken: ZodOptional<(...)> },
                                        ZodTypeAny,
                                        "passthrough",
                                    >,
                                    objectInputType<
                                        { progressToken: ZodOptional<(...)> },
                                        ZodTypeAny,
                                        "passthrough",
                                    >,
                                >,
                            >;
                        },
                        "passthrough",
                        ZodTypeAny,
                        objectOutputType<
                            {
                                _meta: ZodOptional<
                                    ZodObject<
                                        { progressToken: ZodOptional<(...)> },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<{ progressToken: ... }, ZodTypeAny, "passthrough">,
                                        objectInputType<{ progressToken: ... }, ZodTypeAny, "passthrough">,
                                    >,
                                >;
                            },
                            ZodTypeAny,
                            "passthrough",
                        >,
                        objectInputType<
                            {
                                _meta: ZodOptional<
                                    ZodObject<
                                        { progressToken: ZodOptional<(...)> },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<{ progressToken: ... }, ZodTypeAny, "passthrough">,
                                        objectInputType<{ progressToken: ... }, ZodTypeAny, "passthrough">,
                                    >,
                                >;
                            },
                            ZodTypeAny,
                            "passthrough",
                        >,
                    >,
                >;
            },
            {
                method: ZodLiteral<"sampling/createMessage">;
                params: ZodObject<
                    extendShape<
                        {
                            _meta: ZodOptional<
                                ZodObject<
                                    { progressToken: ZodOptional<ZodUnion<(...)>> },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<
                                        { progressToken: ZodOptional<(...)> },
                                        ZodTypeAny,
                                        "passthrough",
                                    >,
                                    objectInputType<
                                        { progressToken: ZodOptional<(...)> },
                                        ZodTypeAny,
                                        "passthrough",
                                    >,
                                >,
                            >;
                        },
                        {
                            includeContext: ZodOptional<
                                ZodEnum<["none", "thisServer", "allServers"]>,
                            >;
                            maxTokens: ZodNumber;
                            messages: ZodArray<
                                ZodObject<
                                    {
                                        content: ZodUnion<[(...), (...), (...)]>;
                                        role: ZodEnum<[(...), (...)]>;
                                    },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<
                                        { content: ZodUnion<(...)>; role: ZodEnum<(...)> },
                                        ZodTypeAny,
                                        "passthrough",
                                    >,
                                    objectInputType<
                                        { content: ZodUnion<(...)>; role: ZodEnum<(...)> },
                                        ZodTypeAny,
                                        "passthrough",
                                    >,
                                >,
                                "many",
                            >;
                            metadata: ZodOptional<
                                ZodObject<
                                    {},
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<{}, ZodTypeAny, "passthrough">,
                                    objectInputType<{}, ZodTypeAny, "passthrough">,
                                >,
                            >;
                            modelPreferences: ZodOptional<
                                ZodObject<
                                    {
                                        costPriority: ZodOptional<ZodNumber>;
                                        hints: ZodOptional<ZodArray<(...), (...)>>;
                                        intelligencePriority: ZodOptional<ZodNumber>;
                                        speedPriority: ZodOptional<ZodNumber>;
                                    },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<
                                        {
                                            costPriority: ZodOptional<(...)>;
                                            hints: ZodOptional<(...)>;
                                            intelligencePriority: ZodOptional<(...)>;
                                            speedPriority: ZodOptional<(...)>;
                                        },
                                        ZodTypeAny,
                                        "passthrough",
                                    >,
                                    objectInputType<
                                        {
                                            costPriority: ZodOptional<(...)>;
                                            hints: ZodOptional<(...)>;
                                            intelligencePriority: ZodOptional<(...)>;
                                            speedPriority: ZodOptional<(...)>;
                                        },
                                        ZodTypeAny,
                                        "passthrough",
                                    >,
                                >,
                            >;
                            stopSequences: ZodOptional<ZodArray<ZodString, "many">>;
                            systemPrompt: ZodOptional<ZodString>;
                            temperature: ZodOptional<ZodNumber>;
                        },
                    >,
                    "passthrough",
                    ZodTypeAny,
                    objectOutputType<
                        extendShape<
                            {
                                _meta: ZodOptional<
                                    ZodObject<
                                        { progressToken: ZodOptional<(...)> },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<{ progressToken: ... }, ZodTypeAny, "passthrough">,
                                        objectInputType<{ progressToken: ... }, ZodTypeAny, "passthrough">,
                                    >,
                                >;
                            },
                            {
                                includeContext: ZodOptional<
                                    ZodEnum<["none", "thisServer", "allServers"]>,
                                >;
                                maxTokens: ZodNumber;
                                messages: ZodArray<
                                    ZodObject<
                                        { content: ZodUnion<(...)>; role: ZodEnum<(...)> },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<
                                            { content: ...; role: ... },
                                            ZodTypeAny,
                                            "passthrough",
                                        >,
                                        objectInputType<
                                            { content: ...; role: ... },
                                            ZodTypeAny,
                                            "passthrough",
                                        >,
                                    >,
                                    "many",
                                >;
                                metadata: ZodOptional<
                                    ZodObject<
                                        {},
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<{}, ZodTypeAny, "passthrough">,
                                        objectInputType<{}, ZodTypeAny, "passthrough">,
                                    >,
                                >;
                                modelPreferences: ZodOptional<
                                    ZodObject<
                                        {
                                            costPriority: ZodOptional<(...)>;
                                            hints: ZodOptional<(...)>;
                                            intelligencePriority: ZodOptional<(...)>;
                                            speedPriority: ZodOptional<(...)>;
                                        },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<
                                            {
                                                costPriority: ...;
                                                hints: ...;
                                                intelligencePriority: ...;
                                                speedPriority: ...;
                                            },
                                            ZodTypeAny,
                                            "passthrough",
                                        >,
                                        objectInputType<
                                            {
                                                costPriority: ...;
                                                hints: ...;
                                                intelligencePriority: ...;
                                                speedPriority: ...;
                                            },
                                            ZodTypeAny,
                                            "passthrough",
                                        >,
                                    >,
                                >;
                                stopSequences: ZodOptional<ZodArray<ZodString, "many">>;
                                systemPrompt: ZodOptional<ZodString>;
                                temperature: ZodOptional<ZodNumber>;
                            },
                        >,
                        ZodTypeAny,
                        "passthrough",
                    >,
                    objectInputType<
                        extendShape<
                            {
                                _meta: ZodOptional<
                                    ZodObject<
                                        { progressToken: ZodOptional<(...)> },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<{ progressToken: ... }, ZodTypeAny, "passthrough">,
                                        objectInputType<{ progressToken: ... }, ZodTypeAny, "passthrough">,
                                    >,
                                >;
                            },
                            {
                                includeContext: ZodOptional<
                                    ZodEnum<["none", "thisServer", "allServers"]>,
                                >;
                                maxTokens: ZodNumber;
                                messages: ZodArray<
                                    ZodObject<
                                        { content: ZodUnion<(...)>; role: ZodEnum<(...)> },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<
                                            { content: ...; role: ... },
                                            ZodTypeAny,
                                            "passthrough",
                                        >,
                                        objectInputType<
                                            { content: ...; role: ... },
                                            ZodTypeAny,
                                            "passthrough",
                                        >,
                                    >,
                                    "many",
                                >;
                                metadata: ZodOptional<
                                    ZodObject<
                                        {},
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<{}, ZodTypeAny, "passthrough">,
                                        objectInputType<{}, ZodTypeAny, "passthrough">,
                                    >,
                                >;
                                modelPreferences: ZodOptional<
                                    ZodObject<
                                        {
                                            costPriority: ZodOptional<(...)>;
                                            hints: ZodOptional<(...)>;
                                            intelligencePriority: ZodOptional<(...)>;
                                            speedPriority: ZodOptional<(...)>;
                                        },
                                        "passthrough",
                                        ZodTypeAny,
                                        objectOutputType<
                                            {
                                                costPriority: ...;
                                                hints: ...;
                                                intelligencePriority: ...;
                                                speedPriority: ...;
                                            },
                                            ZodTypeAny,
                                            "passthrough",
                                        >,
                                        objectInputType<
                                            {
                                                costPriority: ...;
                                                hints: ...;
                                                intelligencePriority: ...;
                                                speedPriority: ...;
                                            },
                                            ZodTypeAny,
                                            "passthrough",
                                        >,
                                    >,
                                >;
                                stopSequences: ZodOptional<ZodArray<ZodString, "many">>;
                                systemPrompt: ZodOptional<ZodString>;
                                temperature: ZodOptional<ZodNumber>;
                            },
                        >,
                        ZodTypeAny,
                        "passthrough",
                    >,
                >;
            },
        >,
        "strip",
        ZodTypeAny,
        {
            method: "sampling/createMessage";
            params: {
                _meta?: objectOutputType<
                    { progressToken: ZodOptional<ZodUnion<[ZodString, ZodNumber]>> },
                    ZodTypeAny,
                    "passthrough",
                >;
                includeContext?: "none" | "thisServer" | "allServers";
                maxTokens: number;
                messages: objectOutputType<
                    {
                        content: ZodUnion<
                            [
                                ZodObject<
                                    { _meta: ...; text: ...; type: ... },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<(...), (...), (...)>,
                                    objectInputType<(...), (...), (...)>,
                                >,
                                ZodObject<
                                    { _meta: ...; data: ...; mimeType: ...; type: ... },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<(...), (...), (...)>,
                                    objectInputType<(...), (...), (...)>,
                                >,
                                ZodObject<
                                    { _meta: ...; data: ...; mimeType: ...; type: ... },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<(...), (...), (...)>,
                                    objectInputType<(...), (...), (...)>,
                                >,
                            ],
                        >;
                        role: ZodEnum<["user", "assistant"]>;
                    },
                    ZodTypeAny,
                    "passthrough",
                >[];
                metadata?: objectOutputType<{}, ZodTypeAny, "passthrough">;
                modelPreferences?: objectOutputType<
                    {
                        costPriority: ZodOptional<ZodNumber>;
                        hints: ZodOptional<
                            ZodArray<
                                ZodObject<
                                    { name: ... },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<(...), (...), (...)>,
                                    objectInputType<(...), (...), (...)>,
                                >,
                                "many",
                            >,
                        >;
                        intelligencePriority: ZodOptional<ZodNumber>;
                        speedPriority: ZodOptional<ZodNumber>;
                    },
                    ZodTypeAny,
                    "passthrough",
                >;
                stopSequences?: string[];
                systemPrompt?: string;
                temperature?: number;
            } & { [k: string]: unknown };
        },
        {
            method: "sampling/createMessage";
            params: {
                _meta?: objectInputType<
                    { progressToken: ZodOptional<ZodUnion<[ZodString, ZodNumber]>> },
                    ZodTypeAny,
                    "passthrough",
                >;
                includeContext?: "none" | "thisServer" | "allServers";
                maxTokens: number;
                messages: objectInputType<
                    {
                        content: ZodUnion<
                            [
                                ZodObject<
                                    { _meta: ...; text: ...; type: ... },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<(...), (...), (...)>,
                                    objectInputType<(...), (...), (...)>,
                                >,
                                ZodObject<
                                    { _meta: ...; data: ...; mimeType: ...; type: ... },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<(...), (...), (...)>,
                                    objectInputType<(...), (...), (...)>,
                                >,
                                ZodObject<
                                    { _meta: ...; data: ...; mimeType: ...; type: ... },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<(...), (...), (...)>,
                                    objectInputType<(...), (...), (...)>,
                                >,
                            ],
                        >;
                        role: ZodEnum<["user", "assistant"]>;
                    },
                    ZodTypeAny,
                    "passthrough",
                >[];
                metadata?: objectInputType<{}, ZodTypeAny, "passthrough">;
                modelPreferences?: objectInputType<
                    {
                        costPriority: ZodOptional<ZodNumber>;
                        hints: ZodOptional<
                            ZodArray<
                                ZodObject<
                                    { name: ... },
                                    "passthrough",
                                    ZodTypeAny,
                                    objectOutputType<(...), (...), (...)>,
                                    objectInputType<(...), (...), (...)>,
                                >,
                                "many",
                            >,
                        >;
                        intelligencePriority: ZodOptional<ZodNumber>;
                        speedPriority: ZodOptional<ZodNumber>;
                    },
                    ZodTypeAny,
                    "passthrough",
                >;
                stopSequences?: string[];
                systemPrompt?: string;
                temperature?: number;
            } & { [k: string]: unknown };
        },
    > = ...

    A request from the server to sample an LLM via the client. The client has full discretion over which model to select. The client should also inform the user before beginning sampling, to allow them to inspect the request (human in the loop) and decide whether to approve it.