add_observations
Enhance entity profiles in the Knowledge Graph Memory Server by adding new observations. Input an entity name and observation details to update and enrich stored information effectively.
Instructions
Add new observations to existing entities in the knowledge graph
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| observations | Yes |
Implementation Reference
- index.ts:109-122 (handler)The addObservations method in KnowledgeGraphManager class implements the core tool logic: loads the knowledge graph, adds unique new observations to specified entities, saves the graph, and returns results with added observations.async addObservations(observations: { entityName: string; contents: string[] }[]): Promise<{ entityName: string; addedObservations: string[] }[]> { const graph = await this.loadGraph(); const results = observations.map(o => { const entity = graph.entities.find(e => e.name === o.entityName); if (!entity) { throw new Error(`Entity with name ${o.entityName} not found`); } const newObservations = o.contents.filter(content => !entity.observations.includes(content)); entity.observations.push(...newObservations); return { entityName: o.entityName, addedObservations: newObservations }; }); await this.saveGraph(graph); return results; }
- index.ts:335-355 (schema)Defines the input schema for the 'add_observations' tool, specifying an array of observations each with entityName (string) and contents (array of strings).inputSchema: { type: "object", properties: { observations: { type: "array", items: { type: "object", properties: { entityName: { type: "string", description: "The name of the entity to add the observations to" }, contents: { type: "array", items: { type: "string" }, description: "An array of observation contents to add" }, }, required: ["entityName", "contents"], }, }, }, required: ["observations"], },
- index.ts:332-356 (registration)Registers the 'add_observations' tool in the ListToolsRequestSchema response with name, description, and input schema.{ name: "add_observations", description: "Add new observations to existing entities in the knowledge graph", inputSchema: { type: "object", properties: { observations: { type: "array", items: { type: "object", properties: { entityName: { type: "string", description: "The name of the entity to add the observations to" }, contents: { type: "array", items: { type: "string" }, description: "An array of observation contents to add" }, }, required: ["entityName", "contents"], }, }, }, required: ["observations"], }, },
- index.ts:518-519 (helper)The switch case in the CallToolRequestSchema handler that dispatches the tool call to the KnowledgeGraphManager.addObservations method, formats the response as JSON.case "add_observations": return { content: [{ type: "text", text: JSON.stringify(await knowledgeGraphManager.addObservations(args.observations as { entityName: string; contents: string[] }[]), null, 2) }] };