@@ -54,7 +54,7 @@ type KnowledgeGraph struct {
5454
5555// CreateEntitiesArgs defines the create entities tool parameters.
5656type CreateEntitiesArgs struct {
57- Entities []Entity `json:"entities"`
57+ Entities []Entity `json:"entities" mcp:"entities to create" `
5858}
5959
6060// CreateEntitiesResult returns newly created entities.
@@ -64,7 +64,7 @@ type CreateEntitiesResult struct {
6464
6565// CreateRelationsArgs defines the create relations tool parameters.
6666type CreateRelationsArgs struct {
67- Relations []Relation `json:"relations"`
67+ Relations []Relation `json:"relations" mcp:"relations to create" `
6868}
6969
7070// CreateRelationsResult returns newly created relations.
@@ -74,7 +74,7 @@ type CreateRelationsResult struct {
7474
7575// AddObservationsArgs defines the add observations tool parameters.
7676type AddObservationsArgs struct {
77- Observations []Observation `json:"observations"`
77+ Observations []Observation `json:"observations" mcp:"observations to add" `
7878}
7979
8080// AddObservationsResult returns newly added observations.
@@ -84,27 +84,27 @@ type AddObservationsResult struct {
8484
8585// DeleteEntitiesArgs defines the delete entities tool parameters.
8686type DeleteEntitiesArgs struct {
87- EntityNames []string `json:"entityNames"`
87+ EntityNames []string `json:"entityNames" mcp:"entities to delete" `
8888}
8989
9090// DeleteObservationsArgs defines the delete observations tool parameters.
9191type DeleteObservationsArgs struct {
92- Deletions []Observation `json:"deletions"`
92+ Deletions []Observation `json:"deletions" mcp:"obeservations to delete" `
9393}
9494
9595// DeleteRelationsArgs defines the delete relations tool parameters.
9696type DeleteRelationsArgs struct {
97- Relations []Relation `json:"relations"`
97+ Relations []Relation `json:"relations" mcp:"relations to delete" `
9898}
9999
100100// SearchNodesArgs defines the search nodes tool parameters.
101101type SearchNodesArgs struct {
102- Query string `json:"query"`
102+ Query string `json:"query" mcp:"query string" `
103103}
104104
105105// OpenNodesArgs defines the open nodes tool parameters.
106106type OpenNodesArgs struct {
107- Names []string `json:"names"`
107+ Names []string `json:"names" mcp:"names of nodes to open" `
108108}
109109
110110func main () {
@@ -120,31 +120,42 @@ func main() {
120120
121121 // Setup MCP server with knowledge base tools
122122 server := mcp .NewServer ("memory" , "v0.0.1" , nil )
123- server .AddTools (mcp .NewServerTool ("create_entities" , "Create multiple new entities in the knowledge graph" , kb .CreateEntities , mcp .Input (
124- mcp .Property ("entities" , mcp .Description ("Entities to create" )),
125- )))
126- server .AddTools (mcp .NewServerTool ("create_relations" , "Create multiple new relations between entities" , kb .CreateRelations , mcp .Input (
127- mcp .Property ("relations" , mcp .Description ("Relations to create" )),
128- )))
129- server .AddTools (mcp .NewServerTool ("add_observations" , "Add new observations to existing entities" , kb .AddObservations , mcp .Input (
130- mcp .Property ("observations" , mcp .Description ("Observations to add" )),
131- )))
132- server .AddTools (mcp .NewServerTool ("delete_entities" , "Remove entities and their relations" , kb .DeleteEntities , mcp .Input (
133- mcp .Property ("entityNames" , mcp .Description ("Names of entities to delete" )),
134- )))
135- server .AddTools (mcp .NewServerTool ("delete_observations" , "Remove specific observations from entities" , kb .DeleteObservations , mcp .Input (
136- mcp .Property ("deletions" , mcp .Description ("Observations to delete" )),
137- )))
138- server .AddTools (mcp .NewServerTool ("delete_relations" , "Remove specific relations from the graph" , kb .DeleteRelations , mcp .Input (
139- mcp .Property ("relations" , mcp .Description ("Relations to delete" )),
140- )))
141- server .AddTools (mcp .NewServerTool ("read_graph" , "Read the entire knowledge graph" , kb .ReadGraph ))
142- server .AddTools (mcp .NewServerTool ("search_nodes" , "Search for nodes based on query" , kb .SearchNodes , mcp .Input (
143- mcp .Property ("query" , mcp .Description ("Query string" )),
144- )))
145- server .AddTools (mcp .NewServerTool ("open_nodes" , "Retrieve specific nodes by name" , kb .OpenNodes , mcp .Input (
146- mcp .Property ("names" , mcp .Description ("Names of nodes to open" )),
147- )))
123+ mcp .AddTool (server , & mcp.Tool {
124+ Name : "create_entities" ,
125+ Description : "Create multiple new entities in the knowledge graph" ,
126+ }, kb .CreateEntities )
127+ mcp .AddTool (server , & mcp.Tool {
128+ Name : "create_relations" ,
129+ Description : "Create multiple new relations between entities" ,
130+ }, kb .CreateRelations )
131+ mcp .AddTool (server , & mcp.Tool {
132+ Name : "add_observations" ,
133+ Description : "Add new observations to existing entities" ,
134+ }, kb .AddObservations )
135+ mcp .AddTool (server , & mcp.Tool {
136+ Name : "delete_entities" ,
137+ Description : "Remove entities and their relations" ,
138+ }, kb .DeleteEntities )
139+ mcp .AddTool (server , & mcp.Tool {
140+ Name : "delete_observations" ,
141+ Description : "Remove specific observations from entities" ,
142+ }, kb .DeleteObservations )
143+ mcp .AddTool (server , & mcp.Tool {
144+ Name : "delete_relations" ,
145+ Description : "Remove specific relations from the graph" ,
146+ }, kb .DeleteRelations )
147+ mcp .AddTool (server , & mcp.Tool {
148+ Name : "read_graph" ,
149+ Description : "Read the entire knowledge graph" ,
150+ }, kb .ReadGraph )
151+ mcp .AddTool (server , & mcp.Tool {
152+ Name : "search_nodes" ,
153+ Description : "Search for nodes based on query" ,
154+ }, kb .SearchNodes )
155+ mcp .AddTool (server , & mcp.Tool {
156+ Name : "open_nodes" ,
157+ Description : "Retrieve specific nodes by name" ,
158+ }, kb .OpenNodes )
148159
149160 // Start server with appropriate transport
150161 if * httpAddr != "" {
0 commit comments