Skip to main content
Glama

delete_observations

Remove specific observations from entities in the Memento MCP knowledge graph memory to maintain accurate and up-to-date data.

Instructions

Delete specific observations from entities in your Memento MCP knowledge graph memory

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
deletionsYes

Implementation Reference

  • The primary MCP tool handler that executes the 'delete_observations' tool by delegating to KnowledgeGraphManager.deleteObservations and returning success response.
    case 'delete_observations': await knowledgeGraphManager.deleteObservations(args.deletions); return { content: [{ type: 'text', text: 'Observations deleted successfully' }] };
  • Registration of the 'delete_observations' tool in the listToolsHandler, including name, description, and full input schema.
    { name: 'delete_observations', description: 'Delete specific observations from entities in your Memento MCP knowledge graph memory', inputSchema: { type: 'object', properties: { deletions: { type: 'array', items: { type: 'object', properties: { entityName: { type: 'string', description: 'The name of the entity containing the observations', }, observations: { type: 'array', items: { type: 'string' }, description: 'An array of observations to delete', }, }, required: ['entityName', 'observations'], }, }, }, required: ['deletions'], }, },
  • Core logic for deleteObservations in KnowledgeGraphManager, delegates to storage provider or handles file-based storage, and schedules entity re-embedding.
    async deleteObservations( deletions: { entityName: string; observations: string[] }[] ): Promise<void> { if (!deletions || deletions.length === 0) { return; } if (this.storageProvider) { // Use storage provider for deleting observations await this.storageProvider.deleteObservations(deletions); // Schedule re-embedding for affected entities if manager is provided if (this.embeddingJobManager) { for (const deletion of deletions) { await this.embeddingJobManager.scheduleEntityEmbedding(deletion.entityName, 1); } } } else { // Fallback to file-based implementation const graph = await this.loadGraph(); // Process each deletion for (const deletion of deletions) { const entity = graph.entities.find((e) => e.name === deletion.entityName); if (entity) { // Remove the observations entity.observations = entity.observations.filter( (obs) => !deletion.observations.includes(obs) ); } } await this.saveGraph(graph); // Schedule re-embedding for affected entities if manager is provided if (this.embeddingJobManager) { for (const deletion of deletions) { await this.embeddingJobManager.scheduleEntityEmbedding(deletion.entityName, 1); } } } }
  • TypeScript interface definition specifying the signature for deleteObservations method in StorageProvider.
    deleteObservations(deletions: { entityName: string; observations: string[] }[]): Promise<void>;
  • Concrete implementation of deleteObservations in the deprecated FileStorageProvider, filtering and removing specified observations from entities.
    async deleteObservations( deletions: { entityName: string; observations: string[] }[] ): Promise<void> { if (!deletions || deletions.length === 0) { return; } const graph = await this.loadGraph(); // Process each deletion request deletions.forEach((deletion) => { const entity = graph.entities.find((e) => e.name === deletion.entityName); if (entity) { // Filter out the observations that should be deleted entity.observations = entity.observations.filter( (obs) => !deletion.observations.includes(obs) ); } }); // Save the updated graph await this.saveGraph(graph); }

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/gannonh/memento-mcp'

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