get_usage
View your current monthly image generation count and plan limits to monitor usage of the AI design API.
Instructions
Check current usage statistics including images generated this month and plan limits
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/tools/get-usage.ts:4-47 (handler)The registerGetUsageTool function registers the 'get_usage' tool on the MCP server. The handler calls client.getUsage() and returns formatted usage statistics (plan, images used, images limit, period). Catches errors and returns an error message in the response.
export function registerGetUsageTool( server: McpServer, client: RendrKitClient, ): void { server.registerTool( "get_usage", { description: "Check current usage statistics including images generated this month and plan limits", }, async () => { try { const usage = await client.getUsage(); return { content: [ { type: "text" as const, text: [ `Usage Statistics`, ``, `Plan: ${usage.plan}`, `Images Used: ${usage.imagesUsed} / ${usage.imagesLimit}`, `Period: ${usage.periodStart} to ${usage.periodEnd}`, ].join("\n"), }, ], }; } catch (error) { const message = error instanceof Error ? error.message : String(error); return { content: [ { type: "text" as const, text: `Failed to get usage stats: ${message}`, }, ], isError: true, }; } }, ); } - src/types.ts:38-44 (schema)The UsageStats interface defines the response shape of the getUsage API call, including plan, imagesUsed, imagesLimit, periodStart, and periodEnd.
export interface UsageStats { plan: string; imagesUsed: number; imagesLimit: number; periodStart: string; periodEnd: string; } - src/server.ts:6-28 (registration)The tool is imported from './tools/get-usage.js' and registered via registerGetUsageTool(server, client) line 21 inside the createServer function.
import { registerGetUsageTool } from "./tools/get-usage.js"; import { registerListTemplatesTool } from "./tools/list-templates.js"; import { registerUploadImageTool } from "./tools/upload-image.js"; import { registerBatchRenderTool } from "./tools/batch-render.js"; import { registerCloneTemplateTool } from "./tools/clone-template.js"; export function createServer(client: RendrKitClient): McpServer { const server = new McpServer({ name: "rendrkit", version: "0.3.0", }); registerGenerateImageTool(server, client); registerGetImageTool(server, client); registerListBrandKitsTool(server, client); registerGetUsageTool(server, client); registerListTemplatesTool(server, client); registerUploadImageTool(server, client); registerBatchRenderTool(server, client); registerCloneTemplateTool(server, client); return server; } - src/api-client.ts:105-107 (helper)The getUsage method on RendrKitClient makes a GET request to /api/v1/usage and returns a UsageStats object.
async getUsage(): Promise<UsageStats> { return this.request<UsageStats>("GET", "/api/v1/usage"); }