Skip to main content
Glama

Knowledge Graph Memory Server

create_relations

Define and establish connections between entities in a knowledge graph by specifying source, target, and relation type to enhance structured memory storage and retrieval.

Instructions

Create multiple new relations between entities in the knowledge graph. Relations should be in active voice

Input Schema

NameRequiredDescriptionDefault
relationsYes

Input Schema (JSON Schema)

{ "properties": { "relations": { "items": { "properties": { "from": { "description": "The name of the entity where the relation starts", "type": "string" }, "relationType": { "description": "The type of the relation", "type": "string" }, "to": { "description": "The name of the entity where the relation ends", "type": "string" } }, "required": [ "from", "to", "relationType" ], "type": "object" }, "type": "array" } }, "required": [ "relations" ], "type": "object" }

Implementation Reference

  • The main handler function that creates new relations in the knowledge graph. It loads the existing graph, filters out duplicate relations, adds new ones, saves the graph, and returns the created relations.
    async createRelations(relations: Relation[]): Promise<Relation[]> { const graph = await this.loadGraph(); const newRelations = relations.filter(r => !graph.relations.some(existingRelation => existingRelation.from === r.from && existingRelation.to === r.to && existingRelation.relationType === r.relationType )); graph.relations.push(...newRelations); await this.saveGraph(graph); return newRelations; }
  • Registers the create_relations tool with the MCP server, defining its name, description, input/output schemas, and the async handler function that processes the tool call.
    server.registerTool( "create_relations", { title: "Create Relations", description: "Create multiple new relations between entities in the knowledge graph. Relations should be in active voice", inputSchema: { relations: z.array(RelationSchema) }, outputSchema: { relations: z.array(RelationSchema) } }, async ({ relations }) => { const result = await knowledgeGraphManager.createRelations(relations); return { content: [{ type: "text" as const, text: JSON.stringify(result, null, 2) }], structuredContent: { relations: result } }; } );
  • Zod schema definition for Relation validation, specifying the required fields (from, to, relationType) and their descriptions for input/output validation.
    const RelationSchema = z.object({ from: z.string().describe("The name of the entity where the relation starts"), to: z.string().describe("The name of the entity where the relation ends"), relationType: z.string().describe("The type of the relation") });

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/modelcontextprotocol/knowledge-graph-memory-server'

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