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

    Frontend client implementation that handles MCP tool delegation requests from the backend.

    This class acts as a bridge between the backend MCP server and frontend contributions, forwarding backend requests (tool calls, resource access, prompts) to registered MCPFrontendContribution instances and aggregating their responses.

    Called by the backend via the MCPToolDelegateClient interface to access frontend-provided MCP tools, resources, and prompts.

    Implements

    Index

    Constructors

    Properties

    logger: ILogger

    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;
          },
      >