Theia API Documentation v1.65.0
    Preparing search index...

    Backend delegate interface for MCP tool operations. This interface extends MCPToolDelegateClient with RPC client setup capability. It is implemented by the backend and acts as a proxy to forward calls to the frontend.

    interface MCPToolFrontendDelegate {
        callTool(
            serverId: string,
            toolName: string,
            args: unknown,
        ): Promise<unknown>;
        getPrompt(
            serverId: string,
            name: string,
            args: unknown,
        ): Promise<
            {
                content: | {
                    _meta?: { [key: string]: unknown };
                    text: string;
                    type: "text";
                    [key: string]: unknown;
                }
                | {
                    _meta?: { [key: string]: unknown };
                    data: string;
                    mimeType: string;
                    type: "image";
                    [key: string]: unknown;
                }
                | {
                    _meta?: { [key: string]: unknown };
                    data: string;
                    mimeType: string;
                    type: "audio";
                    [key: string]: unknown;
                }
                | {
                    _meta?: { [key: string]: unknown };
                    description?: string;
                    icons?: {
                        mimeType?: string;
                        sizes?: string;
                        src: string;
                        [key: string]: unknown;
                    }[];
                    mimeType?: string;
                    name: string;
                    title?: string;
                    type: "resource_link";
                    uri: string;
                    [key: string]: unknown;
                }
                | {
                    _meta?: { [key: string]: unknown };
                    resource:
                        | {
                            _meta?: { [key: string]: unknown };
                            mimeType?: string;
                            text: string;
                            uri: string;
                            [key: string]: unknown;
                        }
                        | {
                            _meta?: { [key: string]: unknown };
                            blob: string;
                            mimeType?: string;
                            uri: string;
                            [key: string]: unknown;
                        };
                    type: "resource";
                    [key: string]: unknown;
                };
                role: "user"
                | "assistant";
                [key: string]: unknown;
            }[],
        >;
        listPrompts(
            serverId: string,
        ): Promise<
            {
                _meta?: { [key: string]: unknown };
                arguments?: {
                    description?: string;
                    name: string;
                    required?: boolean;
                    [key: string]: unknown;
                }[];
                description?: string;
                icons?: {
                    mimeType?: string;
                    sizes?: string;
                    src: string;
                    [key: string]: unknown;
                }[];
                name: string;
                title?: string;
                [key: string]: unknown;
            }[],
        >;
        listResources(
            serverId: string,
        ): Promise<
            {
                _meta?: { [key: string]: unknown };
                description?: string;
                icons?: {
                    mimeType?: string;
                    sizes?: string;
                    src: string;
                    [key: string]: unknown;
                }[];
                mimeType?: string;
                name: string;
                title?: string;
                uri: string;
                [key: string]: unknown;
            }[],
        >;
        listTools(
            serverId: string,
        ): Promise<
            {
                _meta?: { [key: string]: unknown };
                annotations?: {
                    destructiveHint?: boolean;
                    idempotentHint?: boolean;
                    openWorldHint?: boolean;
                    readOnlyHint?: boolean;
                    title?: string;
                    [key: string]: unknown;
                };
                description?: string;
                icons?: {
                    mimeType?: string;
                    sizes?: string;
                    src: string;
                    [key: string]: unknown;
                }[];
                inputSchema: {
                    properties?: { [key: string]: unknown };
                    required?: string[];
                    type: "object";
                    [key: string]: unknown;
                };
                name: string;
                outputSchema?: {
                    properties?: { [key: string]: unknown };
                    required?: string[];
                    type: "object";
                    [key: string]: unknown;
                };
                title?: string;
                [key: string]: unknown;
            }[],
        >;
        readResource(
            serverId: string,
            uri: string,
        ): Promise<
            {
                _meta?: { [key: string]: unknown };
                mimeType?: string;
                uri: string;
                [key: string]: unknown;
            },
        >;
        setClient(client: MCPToolDelegateClient): void;
    }

    Hierarchy (View Summary)

    Implemented by

    Index

    Methods

    • Parameters

      • serverId: string
      • name: string
      • args: unknown

      Returns Promise<
          {
              content: | {
                  _meta?: { [key: string]: unknown };
                  text: string;
                  type: "text";
                  [key: string]: unknown;
              }
              | {
                  _meta?: { [key: string]: unknown };
                  data: string;
                  mimeType: string;
                  type: "image";
                  [key: string]: unknown;
              }
              | {
                  _meta?: { [key: string]: unknown };
                  data: string;
                  mimeType: string;
                  type: "audio";
                  [key: string]: unknown;
              }
              | {
                  _meta?: { [key: string]: unknown };
                  description?: string;
                  icons?: {
                      mimeType?: string;
                      sizes?: string;
                      src: string;
                      [key: string]: unknown;
                  }[];
                  mimeType?: string;
                  name: string;
                  title?: string;
                  type: "resource_link";
                  uri: string;
                  [key: string]: unknown;
              }
              | {
                  _meta?: { [key: string]: unknown };
                  resource:
                      | {
                          _meta?: { [key: string]: unknown };
                          mimeType?: string;
                          text: string;
                          uri: string;
                          [key: string]: unknown;
                      }
                      | {
                          _meta?: { [key: string]: unknown };
                          blob: string;
                          mimeType?: string;
                          uri: string;
                          [key: string]: unknown;
                      };
                  type: "resource";
                  [key: string]: unknown;
              };
              role: "user"
              | "assistant";
              [key: string]: unknown;
          }[],
      >

    • Parameters

      • serverId: string

      Returns Promise<
          {
              _meta?: { [key: string]: unknown };
              arguments?: {
                  description?: string;
                  name: string;
                  required?: boolean;
                  [key: string]: unknown;
              }[];
              description?: string;
              icons?: {
                  mimeType?: string;
                  sizes?: string;
                  src: string;
                  [key: string]: unknown;
              }[];
              name: string;
              title?: string;
              [key: string]: unknown;
          }[],
      >

    • Parameters

      • serverId: string

      Returns Promise<
          {
              _meta?: { [key: string]: unknown };
              description?: string;
              icons?: {
                  mimeType?: string;
                  sizes?: string;
                  src: string;
                  [key: string]: unknown;
              }[];
              mimeType?: string;
              name: string;
              title?: string;
              uri: string;
              [key: string]: unknown;
          }[],
      >

    • Parameters

      • serverId: string

      Returns Promise<
          {
              _meta?: { [key: string]: unknown };
              annotations?: {
                  destructiveHint?: boolean;
                  idempotentHint?: boolean;
                  openWorldHint?: boolean;
                  readOnlyHint?: boolean;
                  title?: string;
                  [key: string]: unknown;
              };
              description?: string;
              icons?: {
                  mimeType?: string;
                  sizes?: string;
                  src: string;
                  [key: string]: unknown;
              }[];
              inputSchema: {
                  properties?: { [key: string]: unknown };
                  required?: string[];
                  type: "object";
                  [key: string]: unknown;
              };
              name: string;
              outputSchema?: {
                  properties?: { [key: string]: unknown };
                  required?: string[];
                  type: "object";
                  [key: string]: unknown;
              };
              title?: string;
              [key: string]: unknown;
          }[],
      >

    • Parameters

      • serverId: string
      • uri: string

      Returns Promise<
          {
              _meta?: { [key: string]: unknown };
              mimeType?: string;
              uri: string;
              [key: string]: unknown;
          },
      >