@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
54 lines (53 loc) • 1.94 kB
TypeScript
/**
* Common type definitions shared across controllers.
* These types provide a standard interface for controller interactions.
* Centralized here to ensure consistency across the codebase.
*/
/**
* Common pagination information for API responses.
* This is used for providing consistent pagination details to clients.
* Note: This is now only used internally by controllers.
* The formatted pagination information will be integrated into the content string.
*/
export interface ResponsePagination {
/**
* Cursor for the next page of results, if available.
* This should be passed to subsequent requests to retrieve the next page.
*/
nextCursor?: string;
/**
* Whether more results are available beyond the current page.
* When true, clients should use the nextCursor to retrieve more results.
*/
hasMore: boolean;
/**
* The number of items in the current result set.
* This helps clients track how many items they've received.
*/
count?: number;
/**
* The total number of items available.
* This helps clients understand the total scope of their results.
*/
total?: number;
}
/**
* Common response structure for controller operations.
* All controller methods should return this structure.
*
* All output, including pagination information and any additional metadata,
* is now consolidated into the content field as a single Markdown-formatted string.
*/
export interface ControllerResponse {
/**
* Formatted content to be displayed to the user.
* A comprehensive Markdown-formatted string that includes all necessary information,
* including pagination details and any additional metadata.
*/
content: string;
/**
* Optional path to the raw API response file.
* When the response is truncated, this path allows AI to access the full data.
*/
rawResponsePath?: string | null;
}