@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
35 lines (34 loc) • 1.51 kB
TypeScript
import { AwsSsoAuthResult, AwsSsoConfig } from './vendor.aws.sso.types.js';
import { DeviceAuthorizationResponseSchema } from './vendor.aws.sso.auth.http.js';
import { z } from 'zod';
/**
* Register an OIDC client with AWS SSO
* @param ssoConfig The AWS SSO configuration
* @returns The client registration response
*/
export declare function registerClient(ssoConfig: AwsSsoConfig): Promise<{
clientId: string;
clientSecret: string;
}>;
/**
* Start the device authorization flow for AWS SSO
* @param ssoConfig The AWS SSO configuration
* @param clientInfo The client information (id and secret) from registration
* @returns The device authorization response
*/
export declare function startDeviceAuthorization(ssoConfig: AwsSsoConfig, clientInfo: {
clientId: string;
clientSecret: string;
}): Promise<z.infer<typeof DeviceAuthorizationResponseSchema>>;
/**
* Poll for an OIDC token using the device code flow
* @param ssoConfig The AWS SSO configuration
* @param clientInfo The client information (id and secret) from registration
* @param deviceCode The device code from the device authorization response
* @param _interval The polling interval in seconds (unused but kept for API compatibility)
* @returns The token response or null if authorization is still pending
*/
export declare function pollForToken(ssoConfig: AwsSsoConfig, clientInfo: {
clientId: string;
clientSecret: string;
}, deviceCode: string, _interval: number): Promise<AwsSsoAuthResult | null>;