Skip to main content
Glama
farhankaz

Redis MCP Server

by farhankaz

zadd

Add one or more score-value pairs to a sorted set in Redis, enabling organized data storage and retrieval for efficient database management.

Instructions

Add one or more members to a sorted set

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesSorted set key
membersYesArray of score-value pairs to add

Implementation Reference

  • The execute method of ZAddTool that performs the zadd operation: validates input, maps members, calls Redis client.zAdd, and returns success or error response.
    async execute(args: unknown, client: RedisClientType): Promise<ToolResponse> {
      if (!this.validateArgs(args)) {
        return this.createErrorResponse('Invalid arguments for zadd');
      }
    
      try {
        const members = args.members.map(member => ({
          score: member.score,
          value: member.value
        }));
    
        const result = await client.zAdd(args.key, members);
        return this.createSuccessResponse(`Added ${result} new members to the sorted set`);
      } catch (error) {
        return this.createErrorResponse(`Failed to add members to sorted set: ${error}`);
      }
    }
  • Input schema definition for the zadd tool, specifying the structure of key and members array with score-value objects.
    inputSchema = {
      type: 'object',
      properties: {
        key: { type: 'string', description: 'Sorted set key' },
        members: {
          type: 'array',
          description: 'Array of score-value pairs to add',
          items: {
            type: 'object',
            properties: {
              score: { type: 'number', description: 'Score for the member' },
              value: { type: 'string', description: 'Member value' }
            },
            required: ['score', 'value']
          }
        }
      },
      required: ['key', 'members']
    };
  • TypeScript interface defining the arguments for the zadd tool.
    export interface ZAddArgs {
      key: string;
      members: Array<{score: number; value: string}>;
    }
  • Instantiation of ZAddTool in the default tools array for registration in ToolRegistry.
    new ZAddTool(),
  • Validation function for zadd arguments ensuring correct types for key and members array.
    validateArgs(args: unknown): args is ZAddArgs {
      return typeof args === 'object' && args !== null &&
        'key' in args && typeof (args as any).key === 'string' &&
        'members' in args && Array.isArray((args as any).members) &&
        (args as any).members.every((member: any) =>
          typeof member === 'object' && member !== null &&
          'score' in member && typeof member.score === 'number' &&
          'value' in member && typeof member.value === 'string'
        );
    }
Install Server

Other Tools

Related Tools

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/farhankaz/redis-mcp'

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