Skip to main content
Glama

Redis Cloud API MCP Server

Official
by redis
utils.ts1.38 kB
import { z } from "zod"; import { ToolResponse, ToolRequest } from "./schemas.js"; import { log } from "./logging.js"; import { ToolError } from "./api-errors.js"; export function createToolResponse( data: unknown, isError = false, ): ToolResponse { return { content: [ { type: "text", text: JSON.stringify(data), }, ], isError, _meta: {}, }; } export function handleToolError(error: unknown, context: string): never { const errorMessage = error instanceof Error ? error.message : String(error); log.error(`${context} failed`, { error: errorMessage }); if (error instanceof z.ZodError) { throw new ToolError(`Invalid input: ${context}`, error.format()); } throw new ToolError(`${context} failed: ${errorMessage}`); } export function validateToolInput<T>( schema: z.ZodSchema<T>, data: unknown, context: string, ): T { try { return schema.parse(data); } catch (error) { handleToolError(error, `Input validation for ${context}`); } } export async function executeApiCall<T>( apiCall: () => Promise<T>, context: string, ): Promise<T> { try { return await apiCall(); } catch (error) { handleToolError(error, context); } } export function extractArguments<T extends Record<string, unknown>>( request: ToolRequest, ): T { return (request.params.arguments || {}) as T; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/redis/mcp-redis-cloud'

If you have feedback or need assistance with the MCP directory API, please join our Discord server