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

58 lines (57 loc) 3.2 kB
import { getCachedCredentials } from '../utils/aws.sso.cache.util.js'; import { AwsSsoAccountWithRoles, AwsCredentials, GetCredentialsParams, ListAccountsParams, ListAccountsResponse, ListAccountRolesParams, ListAccountRolesResponse } from './vendor.aws.sso.types.js'; /** * List AWS SSO accounts for the authenticated user * * Retrieves the list of AWS accounts that the user has access to via SSO. * Requires an active SSO token. * * @param {ListAccountsParams} [params={}] - Optional parameters for customizing the request * @param {number} [params.maxResults] - Maximum number of accounts to return * @param {string} [params.nextToken] - Pagination token for subsequent requests * @returns {Promise<ListAccountsResponse>} List of AWS SSO accounts and pagination token if available * @throws {Error} If SSO token is missing or API request fails */ declare function listSsoAccounts(params?: ListAccountsParams): Promise<ListAccountsResponse>; /** * List roles for a specific AWS SSO account * * Retrieves the list of roles that the user can assume in the specified AWS account. * Requires an active SSO token. * * @param {ListAccountRolesParams} params - Parameters for the request * @param {string} params.accountId - AWS account ID to list roles for * @param {number} [params.maxResults] - Maximum number of roles to return * @param {string} [params.nextToken] - Pagination token for subsequent requests * @returns {Promise<ListAccountRolesResponse>} List of AWS SSO roles and pagination token if available * @throws {Error} If SSO token is missing or API request fails */ declare function listAccountRoles(params: ListAccountRolesParams): Promise<ListAccountRolesResponse>; /** * Get temporary AWS credentials for a role via SSO * * Retrieves temporary AWS credentials for the specified account and role. * Requires an active SSO token. * * @param {GetCredentialsParams} params - Parameters for the request * @param {string} params.accountId - AWS account ID * @param {string} params.roleName - Role name to assume * @param {string} [params.region] - Optional AWS region override * @returns {Promise<AwsCredentials>} Temporary AWS credentials * @throws {Error} If SSO token is missing or API request fails */ declare function getAwsCredentials(params: GetCredentialsParams): Promise<AwsCredentials>; /** * Get all AWS accounts with their available roles * * Retrieves a combined view of all accounts and their roles that the user has access to. * This is a convenience function that combines listSsoAccounts and listAccountRoles. * * @param {ListAccountsParams} [params={}] - Optional parameters for customizing the request * @param {number} [params.maxResults] - Maximum number of accounts to return * @param {string} [params.nextToken] - Pagination token for subsequent requests * @returns {Promise<AwsSsoAccountWithRoles[]>} List of AWS accounts with their roles * @throws {Error} If SSO token is missing or API request fails */ declare function getAccountsWithRoles(params?: ListAccountsParams): Promise<AwsSsoAccountWithRoles[]>; export { listSsoAccounts, listAccountRoles, getAwsCredentials, getAccountsWithRoles, getCachedCredentials, };