Theia API Documentation v1.73.0
    Preparing search index...
    Index

    Constructors

    Properties

    authProvider: undefined | MCPOAuthClientProvider

    OAuth provider for the current doStart attempt; lets stop() cancel an in-flight authorization. Cleared in doStart's finally.

    client: Client
    error?: string
    oauthClientProviderFactory: MCPOAuthClientProviderFactory
    oauthHandshakeCompletedDuringStart: boolean = false

    Whether finishAuth() succeeded in the current doStart attempt. handleStartupError reads it to tell a post-handshake reconnect failure (sign-in already succeeded) from a genuine authorization-required failure.

    onDidUpdateStatus: Event<MCPServerStatus> = ...
    onDidUpdateStatusEmitter: Emitter<MCPServerStatus> = ...
    startPromise: undefined | Promise<void>
    suppressOAuthUnauthorizedErrors: boolean = false

    Suppresses transient 401s during the OAuth handshake (set in connectTransport, cleared in its finally) so they don't surface as runtime errors.

    transport: Transport
    workspaceRoots: undefined | string[]

    Methods

    • Parameters

      • toolName: string
      • arg_string: string

      Returns Promise<
          {
              _meta?: {
                  "io.modelcontextprotocol/related-task"?: { taskId: string };
                  progressToken?: string | number;
                  [key: string]: unknown;
              };
              content: (
                  | {
                      _meta?: { [key: string]: unknown };
                      annotations?: {
                          audience?: ("user" | "assistant")[];
                          lastModified?: string;
                          priority?: number;
                      };
                      text: string;
                      type: "text";
                  }
                  | {
                      _meta?: { [key: string]: unknown };
                      annotations?: {
                          audience?: ("user" | "assistant")[];
                          lastModified?: string;
                          priority?: number;
                      };
                      data: string;
                      mimeType: string;
                      type: "image";
                  }
                  | {
                      _meta?: { [key: string]: unknown };
                      annotations?: {
                          audience?: ("user" | "assistant")[];
                          lastModified?: string;
                          priority?: number;
                      };
                      data: string;
                      mimeType: string;
                      type: "audio";
                  }
                  | {
                      _meta?: { [key: string]: unknown };
                      annotations?: {
                          audience?: ("user" | "assistant")[];
                          lastModified?: string;
                          priority?: number;
                      };
                      description?: string;
                      icons?: {
                          mimeType?: string;
                          sizes?: string[];
                          src: string;
                          theme?: "light"
                          | "dark";
                      }[];
                      mimeType?: string;
                      name: string;
                      size?: number;
                      title?: string;
                      type: "resource_link";
                      uri: string;
                  }
                  | {
                      _meta?: { [key: string]: unknown };
                      annotations?: {
                          audience?: ("user" | "assistant")[];
                          lastModified?: string;
                          priority?: number;
                      };
                      resource: | {
                          _meta?: { [key: string]: unknown };
                          mimeType?: string;
                          text: string;
                          uri: string;
                      }
                      | {
                          _meta?: { [key: string]: unknown };
                          blob: string;
                          mimeType?: string;
                          uri: string;
                      };
                      type: "resource";
                  }
              )[];
              isError?: boolean;
              structuredContent?: { [key: string]: unknown };
              [key: string]: unknown;
          },
      >

    • Returns Promise<
          {
              _meta?: {
                  "io.modelcontextprotocol/related-task"?: { taskId: string };
                  progressToken?: string | number;
                  [key: string]: unknown;
              };
              nextCursor?: string;
              resources: {
                  _meta?: { [key: string]: unknown };
                  annotations?: {
                      audience?: ("user" | "assistant")[];
                      lastModified?: string;
                      priority?: number;
                  };
                  description?: string;
                  icons?: {
                      mimeType?: string;
                      sizes?: string[];
                      src: string;
                      theme?: "light"
                      | "dark";
                  }[];
                  mimeType?: string;
                  name: string;
                  size?: number;
                  title?: string;
                  uri: string;
              }[];
              [key: string]: unknown;
          },
      >

    • Returns Promise<
          {
              _meta?: {
                  "io.modelcontextprotocol/related-task"?: { taskId: string };
                  progressToken?: string | number;
                  [x: string]: unknown;
              };
              nextCursor?: string;
              tools: {
                  _meta?: Record<string, unknown>;
                  annotations?: {
                      destructiveHint?: boolean;
                      idempotentHint?: boolean;
                      openWorldHint?: boolean;
                      readOnlyHint?: boolean;
                      title?: string;
                  };
                  description?: string;
                  execution?: { taskSupport?: "optional"
                  | "required"
                  | "forbidden" };
                  icons?: {
                      mimeType?: string;
                      sizes?: string[];
                      src: string;
                      theme?: "light" | "dark";
                  }[];
                  inputSchema: {
                      properties?: Record<string, object>;
                      required?: string[];
                      type: "object";
                      [x: string]: unknown;
                  };
                  name: string;
                  outputSchema?: {
                      properties?: Record<string, object>;
                      required?: string[];
                      type: "object";
                      [x: string]: unknown;
                  };
                  title?: string;
              }[];
              [x: string]: unknown;
          },
      >

    • The SDK reports unmet authorization-server capabilities (e.g. no dynamic client registration) as plain Errors with this prefix. They are configuration outcomes, not transport failures, and must not trigger the SSE fallback. Like the SSE-disconnect prefix, an SDK wording change flips the classification test.

      Parameters

      • error: unknown

      Returns boolean

    • Between start() being awaited and doStart settling on a terminal status. addOrUpdateServer reads this to skip the post-update status reset, which would otherwise race doStart's eventual setStatus(Connected/Running).

      Returns boolean

    • message carries the OAuth error_description, which servers may omit; fall back to the bare error code.

      Parameters

      • error: OAuthError

      Returns string

    • Parameters

      • resourceId: string

      Returns Promise<
          {
              _meta?: {
                  "io.modelcontextprotocol/related-task"?: { taskId: string };
                  progressToken?: string | number;
                  [key: string]: unknown;
              };
              contents: (
                  | {
                      _meta?: { [key: string]: unknown };
                      mimeType?: string;
                      text: string;
                      uri: string;
                  }
                  | {
                      _meta?: { [key: string]: unknown };
                      blob: string;
                      mimeType?: string;
                      uri: string;
                  }
              )[];
              [key: string]: unknown;
          },
      >

    • Parameters

      • options: { interactive?: boolean } = {}
        • Optionalinteractive?: boolean

          true for direct user actions, false for autostart. Flows to the OAuth provider's interactive field; non-interactive providers reject redirectToAuthorization, so autostart cannot inadvertently launch a browser.

      Returns Promise<void>