Skip to main content
Glama

update_memory_block

Modify the content and metadata of a memory block in the Letta system by specifying its ID, enabling updates to stored information for agent operations.

Instructions

Update the contents and metadata of a memory block. Use list_memory_blocks to find block IDs, or read_memory_block to see current content before updating.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
block_idYesID of the memory block to update
valueNoNew value for the memory block (optional)
metadataNoNew metadata for the memory block (optional)
agent_idNoOptional agent ID for authorization

Implementation Reference

  • The handler function that implements the core logic for the 'update_memory_block' tool: validates inputs, prepares update data, makes a PATCH request to the Letta API to update the memory block, and returns the response.
    export async function handleUpdateMemoryBlock(server, args) {
        try {
            // Validate arguments
            if (!args?.block_id) {
                throw new Error('Missing required argument: block_id');
            }
    
            if (!args?.value && !args?.metadata) {
                throw new Error('Either value or metadata must be provided');
            }
    
            // Headers for API requests
            const headers = server.getApiHeaders();
    
            // If agent_id is provided, set the user_id header
            if (args.agent_id) {
                headers['user_id'] = args.agent_id;
            }
    
            // Prepare update data
            const updateData = {};
            if (args.value !== undefined) {
                updateData.value = args.value;
            }
            if (args.metadata !== undefined) {
                updateData.metadata = args.metadata;
            }
    
            // Update the memory block
            const response = await server.api.patch(`/blocks/${args.block_id}`, updateData, {
                headers,
            });
    
            // Format the response
            return {
                content: [
                    {
                        type: 'text',
                        text: JSON.stringify(response.data),
                    },
                ],
            };
        } catch (error) {
            server.createErrorResponse(error);
        }
    }
  • The tool definition including name, description, and input schema for 'update_memory_block'.
    export const updateMemoryBlockToolDefinition = {
        name: 'update_memory_block',
        description:
            'Update the contents and metadata of a memory block. Use list_memory_blocks to find block IDs, or read_memory_block to see current content before updating.',
        inputSchema: {
            type: 'object',
            properties: {
                block_id: {
                    type: 'string',
                    description: 'ID of the memory block to update',
                },
                value: {
                    type: 'string',
                    description: 'New value for the memory block (optional)',
                },
                metadata: {
                    type: 'object',
                    description: 'New metadata for the memory block (optional)',
                },
                agent_id: {
                    type: 'string',
                    description: 'Optional agent ID for authorization',
                },
            },
            required: ['block_id'],
        },
    };
  • Registration of the 'update_memory_block' handler in the central tool dispatch switch statement within registerToolHandlers.
    case 'update_memory_block':
        return handleUpdateMemoryBlock(server, request.params.arguments);
  • Import of the handler and tool definition for 'update_memory_block'.
        handleUpdateMemoryBlock,
        updateMemoryBlockToolDefinition,
    } from './memory/update-memory-block.js';
  • Inclusion of updateMemoryBlockToolDefinition in the allTools array used for registration.
    updateMemoryBlockToolDefinition,

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/oculairmedia/Letta-MCP-server'

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