get-pro-databases
Retrieve professional databases for a specific subscription ID using Redis Cloud API MCP Server. Manage resources with optional limits and offsets for efficient data handling.
Instructions
Get the pro databases for the provided subscription Id
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional. Maximum number of items to return | |
| offset | No | Optional. Number of items to skip | |
| subscriptionId | Yes | Subscription ID |
Implementation Reference
- src/tools/databases/pro/index.ts:384-409 (handler)The handler function for the 'get-pro-databases' tool. It extracts and validates the input parameters (subscriptionId, optional offset and limit), calls DatabasesProService.getSubscriptionDatabases API, and returns the formatted response."get-pro-databases": async (request) => { const { subscriptionId, offset, limit } = extractArguments<{ subscriptionId: number; offset?: number; limit?: number; }>(request); // Validate input validateToolInput( getProDatabasesSchema, { subscriptionId, offset, limit }, `Get pro databases for subscription: ${subscriptionId}`, ); const result = await executeApiCall( () => DatabasesProService.getSubscriptionDatabases( subscriptionId, offset, limit, ), `Get pro databases for subscription: ${subscriptionId}`, ); return createToolResponse(result); },
- Zod schema used for input validation in the get-pro-databases handler.const getProDatabasesSchema = z.object({ subscriptionId: commonSchemas.subscriptionId, offset: z.number().optional(), limit: z.number().optional(), });
- src/tools/databases/pro/index.ts:180-202 (registration)Tool definition for 'get-pro-databases' including name, description, and JSON input schema. This is included in the DATABASES_PRO_TOOLS export array for registration.const GET_PRO_DATABASES_TOOL: Tool = { name: "get-pro-databases", description: "Get the pro databases for the provided subscription Id", inputSchema: { type: "object", properties: { subscriptionId: { type: "number", description: "Subscription ID", min: 0, }, offset: { type: "number", description: "Optional. Number of items to skip", }, limit: { type: "number", description: "Optional. Maximum number of items to return", }, }, required: ["subscriptionId"], }, };
- src/tools/databases/pro/index.ts:378-381 (registration)Export array registering the get-pro-databases tool along with others.export const DATABASES_PRO_TOOLS = [ GET_PRO_DATABASES_TOOL, CREATE_PRO_DATABASE_TOOL, ];
- src/tools/databases/pro/index.ts:383-431 (registration)Export of handlers object registering the handler function for get-pro-databases.export const DATABASES_PRO_HANDLERS: ToolHandlers = { "get-pro-databases": async (request) => { const { subscriptionId, offset, limit } = extractArguments<{ subscriptionId: number; offset?: number; limit?: number; }>(request); // Validate input validateToolInput( getProDatabasesSchema, { subscriptionId, offset, limit }, `Get pro databases for subscription: ${subscriptionId}`, ); const result = await executeApiCall( () => DatabasesProService.getSubscriptionDatabases( subscriptionId, offset, limit, ), `Get pro databases for subscription: ${subscriptionId}`, ); return createToolResponse(result); }, "create-pro-database": async (request) => { const payloadArguments = extractArguments<DatabaseCreateRequest>(request); // Validate input validateToolInput( databaseCreateRequestSchema, payloadArguments, `Create pro database using subscription: ${payloadArguments.subscriptionId}`, ); const result = await executeApiCall( () => DatabasesProService.createDatabase( payloadArguments.subscriptionId as never, payloadArguments, ), `Create pro database using subscription: ${payloadArguments.subscriptionId}`, ); return createToolResponse(result); }, };