@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
182 lines (181 loc) • 5.92 kB
TypeScript
import { z } from 'zod';
/**
* AWS SSO type definitions
*/
/**
* Zod schema for AWS SSO configuration
*/
export declare const AwsSsoConfigSchema: z.ZodObject<{
startUrl: z.ZodString;
region: z.ZodString;
}, z.core.$strip>;
/**
* AWS SSO configuration type inferred from Zod schema
*/
export type AwsSsoConfig = z.infer<typeof AwsSsoConfigSchema>;
/**
* Zod schema for SSO token data
*/
export declare const SsoTokenSchema: z.ZodObject<{
accessToken: z.ZodString;
expiresIn: z.ZodNumber;
refreshToken: z.ZodDefault<z.ZodOptional<z.ZodString>>;
tokenType: z.ZodString;
retrievedAt: z.ZodNumber;
expiresAt: z.ZodNumber;
region: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* SSO token data type inferred from Zod schema
*/
export type SsoToken = z.infer<typeof SsoTokenSchema>;
/**
* Zod schema for AWS SSO auth result
*/
export declare const AwsSsoAuthResultSchema: z.ZodObject<{
accessToken: z.ZodString;
expiresAt: z.ZodNumber;
refreshToken: z.ZodOptional<z.ZodNullable<z.ZodString>>;
expiresIn: z.ZodOptional<z.ZodNumber>;
region: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* AWS SSO auth result type inferred from Zod schema
*/
export type AwsSsoAuthResult = z.infer<typeof AwsSsoAuthResultSchema>;
/**
* Zod schema for AWS SSO Role
*/
export declare const AwsSsoRoleSchema: z.ZodObject<{
roleName: z.ZodString;
roleArn: z.ZodString;
accountId: z.ZodString;
}, z.core.$strip>;
/**
* AWS SSO Role type inferred from Zod schema
*/
export type AwsSsoRole = z.infer<typeof AwsSsoRoleSchema>;
/**
* Zod schema for AWS SSO Account with roles
*/
export declare const AwsSsoAccountWithRolesSchema: z.ZodObject<{
accountId: z.ZodString;
accountName: z.ZodString;
accountEmail: z.ZodOptional<z.ZodString>;
roles: z.ZodArray<z.ZodObject<{
roleName: z.ZodString;
roleArn: z.ZodString;
accountId: z.ZodString;
}, z.core.$strip>>;
}, z.core.$strip>;
/**
* AWS SSO Account with roles type inferred from Zod schema
*/
export type AwsSsoAccountWithRoles = z.infer<typeof AwsSsoAccountWithRolesSchema>;
/**
* Zod schema for AWS credentials
*/
export declare const AwsCredentialsSchema: z.ZodObject<{
accessKeyId: z.ZodString;
secretAccessKey: z.ZodString;
sessionToken: z.ZodString;
expiration: z.ZodUnion<readonly [z.ZodDate, z.ZodPipe<z.ZodNumber, z.ZodTransform<Date, number>>, z.ZodPipe<z.ZodString, z.ZodTransform<Date, string>>]>;
region: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* AWS credentials type inferred from Zod schema
*/
export type AwsCredentials = z.infer<typeof AwsCredentialsSchema>;
/**
* Zod schema for parameters for getting AWS credentials
*/
export declare const GetCredentialsParamsSchema: z.ZodObject<{
accountId: z.ZodString;
roleName: z.ZodString;
region: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Parameters for getting AWS credentials type inferred from Zod schema
*/
export type GetCredentialsParams = z.infer<typeof GetCredentialsParamsSchema>;
/**
* Zod schema for parameters for listing AWS SSO accounts
*/
export declare const ListAccountsParamsSchema: z.ZodObject<{
maxResults: z.ZodOptional<z.ZodNumber>;
nextToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Parameters for listing AWS SSO accounts type inferred from Zod schema
*/
export type ListAccountsParams = z.infer<typeof ListAccountsParamsSchema>;
/**
* Zod schema for response for listing AWS SSO accounts
*/
export declare const ListAccountsResponseSchema: z.ZodObject<{
accountList: z.ZodArray<z.ZodObject<{
accountId: z.ZodOptional<z.ZodString>;
accountName: z.ZodOptional<z.ZodString>;
emailAddress: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
nextToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Response for listing AWS SSO accounts type inferred from Zod schema
*/
export type ListAccountsResponse = z.infer<typeof ListAccountsResponseSchema>;
/**
* Zod schema for parameters for listing account roles
*/
export declare const ListAccountRolesParamsSchema: z.ZodObject<{
accountId: z.ZodString;
maxResults: z.ZodOptional<z.ZodNumber>;
nextToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Parameters for listing account roles type inferred from Zod schema
*/
export type ListAccountRolesParams = z.infer<typeof ListAccountRolesParamsSchema>;
/**
* Zod schema for role information from AWS SSO API
*/
export declare const RoleInfoSchema: z.ZodObject<{
roleName: z.ZodOptional<z.ZodString>;
roleArn: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Role information from AWS SSO API type inferred from Zod schema
*/
export type RoleInfo = z.infer<typeof RoleInfoSchema>;
/**
* Zod schema for response for listing account roles
*/
export declare const ListAccountRolesResponseSchema: z.ZodObject<{
roleList: z.ZodArray<z.ZodObject<{
roleName: z.ZodOptional<z.ZodString>;
roleArn: z.ZodOptional<z.ZodString>;
}, z.core.$strip>>;
nextToken: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
/**
* Response for listing account roles type inferred from Zod schema
*/
export type ListAccountRolesResponse = z.infer<typeof ListAccountRolesResponseSchema>;
/**
* Zod schema for device authorization information
*/
export declare const DeviceAuthorizationInfoSchema: z.ZodObject<{
clientId: z.ZodString;
clientSecret: z.ZodString;
deviceCode: z.ZodString;
verificationUri: z.ZodOptional<z.ZodString>;
verificationUriComplete: z.ZodOptional<z.ZodString>;
userCode: z.ZodOptional<z.ZodString>;
expiresIn: z.ZodNumber;
interval: z.ZodOptional<z.ZodNumber>;
region: z.ZodString;
}, z.core.$strip>;
/**
* Device authorization information type inferred from Zod schema
*/
export type DeviceAuthorizationInfo = z.infer<typeof DeviceAuthorizationInfoSchema>;