ram_list_users
List all IAM users in your Alibaba Cloud account.
Instructions
List IAM/RAM users.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.ts:63-65 (registration)The ram_list_users tool routing: when tool name starts with 'ram_', it is dispatched to handleRamTools().
if (name.startsWith("ram_")) { return await handleRamTools(name, args); } - src/tools/ram/index.ts:5-16 (schema)Registration of ram_list_users tool with name, description, and empty inputSchema (no parameters).
export function registerRamTools() { return [ { name: "ram_list_users", description: "List IAM/RAM users.", inputSchema: { type: "object", properties: {} } } ]; } - src/tools/ram/index.ts:18-32 (handler)Handler function that executes ram_list_users by calling Alibaba Cloud RAM ListUsers API and returning the result as JSON text.
export async function handleRamTools(name: string, args: any) { // @ts-ignore const client = new Core.default({ accessKeyId: config.ALIBABA_CLOUD_ACCESS_KEY_ID, accessKeySecret: config.ALIBABA_CLOUD_ACCESS_KEY_SECRET, endpoint: 'https://ram.aliyuncs.com', apiVersion: '2015-05-01', }); if (name === "ram_list_users") { return { content: [{ type: "text", text: JSON.stringify(await client.request('ListUsers', {}, { method: 'POST' }), null, 2) }] }; } throw new Error(`Unknown RAM tool: ${name}`); } - src/index.ts:38-38 (registration)registerRamTools() is called during ListTools request to expose ram_list_users in the tool list.
...registerRamTools(), - src/auth/config.ts:1-12 (helper)Auth config providing ALIBABA_CLOUD_ACCESS_KEY_ID and ALIBABA_CLOUD_ACCESS_KEY_SECRET used by the RAM handler.
import dotenv from 'dotenv'; import { z } from 'zod'; dotenv.config(); const configSchema = z.object({ ALIBABA_CLOUD_ACCESS_KEY_ID: z.string().min(1, "Access Key ID is required"), ALIBABA_CLOUD_ACCESS_KEY_SECRET: z.string().min(1, "Access Key Secret is required"), ALIBABA_CLOUD_REGION_ID: z.string().default("cn-hangzhou"), }); export const config = configSchema.parse(process.env);