import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { ApiClient } from "@trigger.dev/core/v3"; import { CliApiClient } from "../apiClient.js"; import { FileLogger } from "./logger.js"; export type McpContextOptions = { projectRef?: string; fileLogger?: FileLogger; apiUrl?: string; profile?: string; devOnly?: boolean; readonly?: boolean; }; export declare class McpContext { readonly server: McpServer; readonly options: McpContextOptions; private _profileLoaded; private _resolveProfileLoaded; constructor(server: McpServer, options: McpContextOptions); get logger(): FileLogger | undefined; getAuth(): Promise; getCliApiClient(branch?: string): Promise; getApiClient(options: { projectRef: string; environment: string; scopes: string[]; branch?: string; }): Promise; getCwd(): Promise; getProjectRef(options: { projectRef?: string; cwd?: string; }): Promise; getProjectDir({ cwd }: { cwd?: string; }): Promise<{ ok: boolean; error: string; cwd?: undefined; } | { ok: boolean; cwd: string; error?: undefined; }>; switchProfile(profile: string, projectDir?: string): void; /** * Load the persisted profile from the project-scoped .trigger/mcp.json. * Overrides the default global profile with the project-scoped one. * Must be called once after initialization — tools wait for this before authenticating. */ loadProjectProfile(): Promise; getDashboardUrl(path: string): Promise; get hasRootsCapability(): boolean; get hasSamplingCapability(): boolean; get hasElicitationCapability(): boolean; }