cortex_get_user_key
Retrieve the current API key for a specified user. Requires superadmin privileges.
Instructions
Get the current API key for a user. Requires superadmin API key.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| userId | Yes | The user login/ID |
Implementation Reference
- src/tools/users.ts:224-272 (registration)Registration of the 'cortex_get_user_key' tool via server.tool(), with Zod schema for userId parameter
server.tool( "cortex_get_user_key", "Get the current API key for a user. Requires superadmin API key.", { userId: z.string().describe("The user login/ID"), }, async ({ userId }) => { try { if (!client.superadminAvailable) { return { content: [ { type: "text" as const, text: "User key management requires CORTEX_SUPERADMIN_KEY environment variable to be set.", }, ], isError: true, }; } const key = await client.getUserKey(userId); return { content: [ { type: "text" as const, text: JSON.stringify( { userId, apiKey: key, }, null, 2, ), }, ], }; } catch (error) { return { content: [ { type: "text" as const, text: `Error getting user key: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, }; } }, ); - src/tools/users.ts:230-271 (handler)Handler function that checks superadmin availability, calls client.getUserKey(userId), and returns the API key in JSON format
async ({ userId }) => { try { if (!client.superadminAvailable) { return { content: [ { type: "text" as const, text: "User key management requires CORTEX_SUPERADMIN_KEY environment variable to be set.", }, ], isError: true, }; } const key = await client.getUserKey(userId); return { content: [ { type: "text" as const, text: JSON.stringify( { userId, apiKey: key, }, null, 2, ), }, ], }; } catch (error) { return { content: [ { type: "text" as const, text: `Error getting user key: ${error instanceof Error ? error.message : String(error)}`, }, ], isError: true, }; } }, - src/client.ts:431-437 (helper)The client.getUserKey() helper method that makes the actual HTTP request to GET /user/{userId}/key
async getUserKey(userId: string): Promise<string> { return this.requestText( `/user/${encodeURIComponent(userId)}/key`, {}, true, ); } - src/tools/users.ts:5-8 (registration)The registerUserTools function that contains all user tool registrations, including cortex_get_user_key
export function registerUserTools( server: McpServer, client: CortexClient, ): void {