UNPKG

@aashari/mcp-server-aws-sso

Version:

Node.js/TypeScript MCP server for AWS Single Sign-On (SSO). Enables AI systems (LLMs) with tools to initiate SSO login (device auth flow), list accounts/roles, and securely execute AWS CLI commands using temporary credentials. Streamlines AI interaction w

51 lines (50 loc) 1.94 kB
import { AwsSsoAuthResult, DeviceAuthorizationInfo } from './vendor.aws.sso.types.js'; import { z } from 'zod'; import { DeviceAuthorizationResponseSchema } from './vendor.aws.sso.auth.http.js'; /** * Auth check result */ export interface AuthCheckResult { /** * Whether the user is authenticated */ isAuthenticated: boolean; /** * Error message if authentication failed */ errorMessage?: string; } /** * Start the AWS SSO login process * * Initiates the SSO login flow by registering a client and starting device authorization. * Returns a verification URI and user code that the user must visit to complete authentication. * * @returns {Promise<DeviceAuthorizationResponseSchema['_output']>} Login information including verification URI and user code * @throws {Error} If login initialization fails */ export declare function startSsoLogin(): Promise<z.infer<typeof DeviceAuthorizationResponseSchema>>; /** * Poll for SSO token completion * * Continuously polls the SSO token endpoint until authentication is complete or times out. * Automatically applies appropriate backoff between retries based on the device authorization interval. * * @returns {Promise<AwsSsoAuthResult>} AWS SSO auth result with access token * @throws {Error} If polling times out or auth is denied */ export declare function pollForSsoToken(): Promise<AwsSsoAuthResult>; /** * Check SSO authentication status * * Verifies if there is a valid cached token. * * @returns {Promise<AuthCheckResult>} Authentication status including isAuthenticated flag */ export declare function checkSsoAuthStatus(): Promise<AuthCheckResult>; /** * Get cached device authorization information * * @returns {Promise<DeviceAuthorizationInfo | undefined>} The cached device auth info or undefined if not found */ export declare function getCachedDeviceAuthorizationInfo(): Promise<DeviceAuthorizationInfo | undefined>;