Skip to main content
Glama
modelcontextprotocol

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

TableJSON Schema
NameRequiredDescriptionDefault
relationsYes

Implementation Reference

  • The MCP tool handler for 'create_relations', which invokes KnowledgeGraphManager.createRelations and formats the response.
    const result = await knowledgeGraphManager.createRelations(relations); return { content: [{ type: "text" as const, text: JSON.stringify(result, null, 2) }], structuredContent: { relations: result } }; }
  • Core logic in KnowledgeGraphManager to create (add if not duplicate) relations to the persistent graph.
    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; }
  • Registration of the 'create_relations' MCP tool with its schema and handler.
    // Register create_relations tool 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 for individual Relation objects, used in the input/output schemas for create_relations.
    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") });
  • TypeScript interface defining the structure of a Relation.
    export interface Relation { from: string; to: string; relationType: string; }

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