MCP TypeScript SDK (V2)
    Preparing search index...

    Variable CreateMessageRequestSchemaConst

    CreateMessageRequestSchema: ZodObject<
        {
            method: ZodLiteral<"sampling/createMessage">;
            params: ZodObject<
                {
                    _meta: ZodOptional<
                        ZodObject<
                            {
                                "io.modelcontextprotocol/related-task": ZodOptional<
                                    ZodObject<{ taskId: ZodString }, $strip>,
                                >;
                                progressToken: ZodOptional<ZodUnion<readonly [ZodString, ZodNumber]>>;
                            },
                            $loose,
                        >,
                    >;
                    includeContext: ZodOptional<
                        ZodEnum<
                            {
                                allServers: "allServers";
                                none: "none";
                                thisServer: "thisServer";
                            },
                        >,
                    >;
                    maxTokens: ZodNumber;
                    messages: ZodArray<
                        ZodObject<
                            {
                                _meta: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
                                content: ZodUnion<
                                    readonly [
                                        ZodDiscriminatedUnion<
                                            [(...), (...), (...), (...), (...)],
                                            "type",
                                        >,
                                        ZodArray<ZodDiscriminatedUnion<(...), (...)>>,
                                    ],
                                >;
                                role: ZodEnum<{ assistant: "assistant"; user: "user" }>;
                            },
                            $strip,
                        >,
                    >;
                    metadata: ZodOptional<ZodCustom<object, object>>;
                    modelPreferences: ZodOptional<
                        ZodObject<
                            {
                                costPriority: ZodOptional<ZodNumber>;
                                hints: ZodOptional<ZodArray<ZodObject<{ name: ... }, $strip>>>;
                                intelligencePriority: ZodOptional<ZodNumber>;
                                speedPriority: ZodOptional<ZodNumber>;
                            },
                            $strip,
                        >,
                    >;
                    stopSequences: ZodOptional<ZodArray<ZodString>>;
                    systemPrompt: ZodOptional<ZodString>;
                    task: ZodOptional<ZodObject<{ ttl: ZodOptional<ZodNumber> }, $strip>>;
                    temperature: ZodOptional<ZodNumber>;
                    toolChoice: ZodOptional<
                        ZodObject<
                            {
                                mode: ZodOptional<
                                    ZodEnum<{ auto: "auto"; none: "none"; required: "required" }>,
                                >;
                            },
                            $strip,
                        >,
                    >;
                    tools: ZodOptional<
                        ZodArray<
                            ZodObject<
                                {
                                    _meta: ZodOptional<ZodRecord<ZodString, ZodUnknown>>;
                                    annotations: ZodOptional<
                                        ZodObject<
                                            {
                                                destructiveHint: ...;
                                                idempotentHint: ...;
                                                openWorldHint: ...;
                                                readOnlyHint: ...;
                                                title: ...;
                                            },
                                            $strip,
                                        >,
                                    >;
                                    description: ZodOptional<ZodString>;
                                    execution: ZodOptional<ZodObject<{ taskSupport: ... }, $strip>>;
                                    icons: ZodOptional<ZodArray<ZodObject<(...), (...)>>>;
                                    inputSchema: ZodObject<
                                        {
                                            properties: ZodOptional<(...)>;
                                            required: ZodOptional<(...)>;
                                            type: ZodLiteral<(...)>;
                                        },
                                        $catchall<ZodUnknown>,
                                    >;
                                    name: ZodString;
                                    outputSchema: ZodOptional<
                                        ZodObject<
                                            { properties: ...; required: ...; type: ... },
                                            $catchall<(...)>,
                                        >,
                                    >;
                                    title: ZodOptional<ZodString>;
                                },
                                $strip,
                            >,
                        >,
                    >;
                },
                $strip,
            >;
        },
        $strip,
    > = ...

    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.