keywordgraph-mcp-server 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +629 -0
  3. package/bin/infranodus-mcp-server.js +8 -0
  4. package/bin/keywordgraph-mcp-server.js +8 -0
  5. package/bin/mcp-server.js +56 -0
  6. package/dist/api/client.d.ts +3 -0
  7. package/dist/api/client.d.ts.map +1 -0
  8. package/dist/api/client.js +30 -0
  9. package/dist/api/client.js.map +1 -0
  10. package/dist/api/config-store.d.ts +4 -0
  11. package/dist/api/config-store.d.ts.map +1 -0
  12. package/dist/api/config-store.js +12 -0
  13. package/dist/api/config-store.js.map +1 -0
  14. package/dist/auth/oauth-provider.d.ts +56 -0
  15. package/dist/auth/oauth-provider.d.ts.map +1 -0
  16. package/dist/auth/oauth-provider.js +295 -0
  17. package/dist/auth/oauth-provider.js.map +1 -0
  18. package/dist/auth/types.d.ts +93 -0
  19. package/dist/auth/types.d.ts.map +1 -0
  20. package/dist/auth/types.js +5 -0
  21. package/dist/auth/types.js.map +1 -0
  22. package/dist/config/brand.d.ts +58 -0
  23. package/dist/config/brand.d.ts.map +1 -0
  24. package/dist/config/brand.js +97 -0
  25. package/dist/config/brand.js.map +1 -0
  26. package/dist/config/index.d.ts +26 -0
  27. package/dist/config/index.d.ts.map +1 -0
  28. package/dist/config/index.js +20 -0
  29. package/dist/config/index.js.map +1 -0
  30. package/dist/http-server.d.ts +6 -0
  31. package/dist/http-server.d.ts.map +1 -0
  32. package/dist/http-server.js +907 -0
  33. package/dist/http-server.js.map +1 -0
  34. package/dist/index.d.ts +29 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +136 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/instructions.d.ts +11 -0
  39. package/dist/instructions.d.ts.map +1 -0
  40. package/dist/instructions.js +38 -0
  41. package/dist/instructions.js.map +1 -0
  42. package/dist/prompts/index.d.ts +24 -0
  43. package/dist/prompts/index.d.ts.map +1 -0
  44. package/dist/prompts/index.js +394 -0
  45. package/dist/prompts/index.js.map +1 -0
  46. package/dist/resources/about.d.ts +17 -0
  47. package/dist/resources/about.d.ts.map +1 -0
  48. package/dist/resources/about.js +64 -0
  49. package/dist/resources/about.js.map +1 -0
  50. package/dist/resources/llms-txt.d.ts +33 -0
  51. package/dist/resources/llms-txt.d.ts.map +1 -0
  52. package/dist/resources/llms-txt.js +65 -0
  53. package/dist/resources/llms-txt.js.map +1 -0
  54. package/dist/schemas/index.d.ts +1178 -0
  55. package/dist/schemas/index.d.ts.map +1 -0
  56. package/dist/schemas/index.js +1121 -0
  57. package/dist/schemas/index.js.map +1 -0
  58. package/dist/tools/addMemory.d.ts +36 -0
  59. package/dist/tools/addMemory.d.ts.map +1 -0
  60. package/dist/tools/addMemory.js +82 -0
  61. package/dist/tools/addMemory.js.map +1 -0
  62. package/dist/tools/analyzeExistingGraph.d.ts +37 -0
  63. package/dist/tools/analyzeExistingGraph.d.ts.map +1 -0
  64. package/dist/tools/analyzeExistingGraph.js +85 -0
  65. package/dist/tools/analyzeExistingGraph.js.map +1 -0
  66. package/dist/tools/analyzeLlmResults.d.ts +37 -0
  67. package/dist/tools/analyzeLlmResults.d.ts.map +1 -0
  68. package/dist/tools/analyzeLlmResults.js +165 -0
  69. package/dist/tools/analyzeLlmResults.js.map +1 -0
  70. package/dist/tools/analyzeText.d.ts +36 -0
  71. package/dist/tools/analyzeText.d.ts.map +1 -0
  72. package/dist/tools/analyzeText.js +97 -0
  73. package/dist/tools/analyzeText.js.map +1 -0
  74. package/dist/tools/createKnowledgeGraph.d.ts +36 -0
  75. package/dist/tools/createKnowledgeGraph.d.ts.map +1 -0
  76. package/dist/tools/createKnowledgeGraph.js +105 -0
  77. package/dist/tools/createKnowledgeGraph.js.map +1 -0
  78. package/dist/tools/developConceptualBridges.d.ts +34 -0
  79. package/dist/tools/developConceptualBridges.d.ts.map +1 -0
  80. package/dist/tools/developConceptualBridges.js +107 -0
  81. package/dist/tools/developConceptualBridges.js.map +1 -0
  82. package/dist/tools/developLatentConcepts copy.d.ts +27 -0
  83. package/dist/tools/developLatentConcepts copy.d.ts.map +1 -0
  84. package/dist/tools/developLatentConcepts copy.js +68 -0
  85. package/dist/tools/developLatentConcepts copy.js.map +1 -0
  86. package/dist/tools/developLatentConcepts.d.ts +27 -0
  87. package/dist/tools/developLatentConcepts.d.ts.map +1 -0
  88. package/dist/tools/developLatentConcepts.js +68 -0
  89. package/dist/tools/developLatentConcepts.js.map +1 -0
  90. package/dist/tools/developLatentTopics.d.ts +34 -0
  91. package/dist/tools/developLatentTopics.d.ts.map +1 -0
  92. package/dist/tools/developLatentTopics.js +107 -0
  93. package/dist/tools/developLatentTopics.js.map +1 -0
  94. package/dist/tools/developTextTool.d.ts +39 -0
  95. package/dist/tools/developTextTool.d.ts.map +1 -0
  96. package/dist/tools/developTextTool.js +210 -0
  97. package/dist/tools/developTextTool.js.map +1 -0
  98. package/dist/tools/generateContentGaps.d.ts +32 -0
  99. package/dist/tools/generateContentGaps.d.ts.map +1 -0
  100. package/dist/tools/generateContentGaps.js +96 -0
  101. package/dist/tools/generateContentGaps.js.map +1 -0
  102. package/dist/tools/generateContextualHint.d.ts +33 -0
  103. package/dist/tools/generateContextualHint.d.ts.map +1 -0
  104. package/dist/tools/generateContextualHint.js +99 -0
  105. package/dist/tools/generateContextualHint.js.map +1 -0
  106. package/dist/tools/generateDifferenceGraphFromTexts.d.ts +52 -0
  107. package/dist/tools/generateDifferenceGraphFromTexts.d.ts.map +1 -0
  108. package/dist/tools/generateDifferenceGraphFromTexts.js +160 -0
  109. package/dist/tools/generateDifferenceGraphFromTexts.js.map +1 -0
  110. package/dist/tools/generateGoogleResultsVsQueriesGraph.d.ts +37 -0
  111. package/dist/tools/generateGoogleResultsVsQueriesGraph.d.ts.map +1 -0
  112. package/dist/tools/generateGoogleResultsVsQueriesGraph.js +84 -0
  113. package/dist/tools/generateGoogleResultsVsQueriesGraph.js.map +1 -0
  114. package/dist/tools/generateGoogleSearchQueriesGraph.d.ts +39 -0
  115. package/dist/tools/generateGoogleSearchQueriesGraph.d.ts.map +1 -0
  116. package/dist/tools/generateGoogleSearchQueriesGraph.js +88 -0
  117. package/dist/tools/generateGoogleSearchQueriesGraph.js.map +1 -0
  118. package/dist/tools/generateGoogleSearchResultsGraph.d.ts +38 -0
  119. package/dist/tools/generateGoogleSearchResultsGraph.d.ts.map +1 -0
  120. package/dist/tools/generateGoogleSearchResultsGraph.js +88 -0
  121. package/dist/tools/generateGoogleSearchResultsGraph.js.map +1 -0
  122. package/dist/tools/generateKnowledgeGraph.d.ts +35 -0
  123. package/dist/tools/generateKnowledgeGraph.d.ts.map +1 -0
  124. package/dist/tools/generateKnowledgeGraph.js +105 -0
  125. package/dist/tools/generateKnowledgeGraph.js.map +1 -0
  126. package/dist/tools/generateMergedGraphFromTexts.d.ts +52 -0
  127. package/dist/tools/generateMergedGraphFromTexts.d.ts.map +1 -0
  128. package/dist/tools/generateMergedGraphFromTexts.js +160 -0
  129. package/dist/tools/generateMergedGraphFromTexts.js.map +1 -0
  130. package/dist/tools/generateOntologyGraph.d.ts +36 -0
  131. package/dist/tools/generateOntologyGraph.d.ts.map +1 -0
  132. package/dist/tools/generateOntologyGraph.js +171 -0
  133. package/dist/tools/generateOntologyGraph.js.map +1 -0
  134. package/dist/tools/generateOverlapGraphFromTexts.d.ts +52 -0
  135. package/dist/tools/generateOverlapGraphFromTexts.d.ts.map +1 -0
  136. package/dist/tools/generateOverlapGraphFromTexts.js +159 -0
  137. package/dist/tools/generateOverlapGraphFromTexts.js.map +1 -0
  138. package/dist/tools/generateResearchIdeas.d.ts +39 -0
  139. package/dist/tools/generateResearchIdeas.d.ts.map +1 -0
  140. package/dist/tools/generateResearchIdeas.js +117 -0
  141. package/dist/tools/generateResearchIdeas.js.map +1 -0
  142. package/dist/tools/generateResearchQuestions.d.ts +37 -0
  143. package/dist/tools/generateResearchQuestions.d.ts.map +1 -0
  144. package/dist/tools/generateResearchQuestions.js +111 -0
  145. package/dist/tools/generateResearchQuestions.js.map +1 -0
  146. package/dist/tools/generateResearchQuestionsFromGraph.d.ts +34 -0
  147. package/dist/tools/generateResearchQuestionsFromGraph.d.ts.map +1 -0
  148. package/dist/tools/generateResearchQuestionsFromGraph.js +75 -0
  149. package/dist/tools/generateResearchQuestionsFromGraph.js.map +1 -0
  150. package/dist/tools/generateResponses.d.ts +35 -0
  151. package/dist/tools/generateResponses.d.ts.map +1 -0
  152. package/dist/tools/generateResponses.js +112 -0
  153. package/dist/tools/generateResponses.js.map +1 -0
  154. package/dist/tools/generateResponsesFromGraph.d.ts +33 -0
  155. package/dist/tools/generateResponsesFromGraph.d.ts.map +1 -0
  156. package/dist/tools/generateResponsesFromGraph.js +74 -0
  157. package/dist/tools/generateResponsesFromGraph.js.map +1 -0
  158. package/dist/tools/generateSEOGraphTool.d.ts +39 -0
  159. package/dist/tools/generateSEOGraphTool.d.ts.map +1 -0
  160. package/dist/tools/generateSEOGraphTool.js +235 -0
  161. package/dist/tools/generateSEOGraphTool.js.map +1 -0
  162. package/dist/tools/generateTextOverview.d.ts +31 -0
  163. package/dist/tools/generateTextOverview.d.ts.map +1 -0
  164. package/dist/tools/generateTextOverview.js +68 -0
  165. package/dist/tools/generateTextOverview.js.map +1 -0
  166. package/dist/tools/generateTopicalClusters.d.ts +34 -0
  167. package/dist/tools/generateTopicalClusters.d.ts.map +1 -0
  168. package/dist/tools/generateTopicalClusters.js +134 -0
  169. package/dist/tools/generateTopicalClusters.js.map +1 -0
  170. package/dist/tools/getMemory.d.ts +32 -0
  171. package/dist/tools/getMemory.d.ts.map +1 -0
  172. package/dist/tools/getMemory.js +121 -0
  173. package/dist/tools/getMemory.js.map +1 -0
  174. package/dist/tools/index.d.ts +30 -0
  175. package/dist/tools/index.d.ts.map +1 -0
  176. package/dist/tools/index.js +30 -0
  177. package/dist/tools/index.js.map +1 -0
  178. package/dist/tools/listGraphs.d.ts +37 -0
  179. package/dist/tools/listGraphs.d.ts.map +1 -0
  180. package/dist/tools/listGraphs.js +127 -0
  181. package/dist/tools/listGraphs.js.map +1 -0
  182. package/dist/tools/optimizeTextStructure.d.ts +34 -0
  183. package/dist/tools/optimizeTextStructure.d.ts.map +1 -0
  184. package/dist/tools/optimizeTextStructure.js +108 -0
  185. package/dist/tools/optimizeTextStructure.js.map +1 -0
  186. package/dist/tools/retrieveContextForPromptFromGraph.d.ts +37 -0
  187. package/dist/tools/retrieveContextForPromptFromGraph.d.ts.map +1 -0
  188. package/dist/tools/retrieveContextForPromptFromGraph.js +80 -0
  189. package/dist/tools/retrieveContextForPromptFromGraph.js.map +1 -0
  190. package/dist/tools/searchGraph.d.ts +27 -0
  191. package/dist/tools/searchGraph.d.ts.map +1 -0
  192. package/dist/tools/searchGraph.js +57 -0
  193. package/dist/tools/searchGraph.js.map +1 -0
  194. package/dist/tools/searchGraphs.d.ts +33 -0
  195. package/dist/tools/searchGraphs.d.ts.map +1 -0
  196. package/dist/tools/searchGraphs.js +67 -0
  197. package/dist/tools/searchGraphs.js.map +1 -0
  198. package/dist/tools/searchGraphsFetch.d.ts +31 -0
  199. package/dist/tools/searchGraphsFetch.d.ts.map +1 -0
  200. package/dist/tools/searchGraphsFetch.js +78 -0
  201. package/dist/tools/searchGraphsFetch.js.map +1 -0
  202. package/dist/tools/sequentialThinking.d.ts +71 -0
  203. package/dist/tools/sequentialThinking.d.ts.map +1 -0
  204. package/dist/tools/sequentialThinking.js +218 -0
  205. package/dist/tools/sequentialThinking.js.map +1 -0
  206. package/dist/types/index.d.ts +378 -0
  207. package/dist/types/index.d.ts.map +1 -0
  208. package/dist/types/index.js +2 -0
  209. package/dist/types/index.js.map +1 -0
  210. package/dist/utils/progress.d.ts +21 -0
  211. package/dist/utils/progress.d.ts.map +1 -0
  212. package/dist/utils/progress.js +50 -0
  213. package/dist/utils/progress.js.map +1 -0
  214. package/dist/utils/transformers.d.ts +31 -0
  215. package/dist/utils/transformers.d.ts.map +1 -0
  216. package/dist/utils/transformers.js +484 -0
  217. package/dist/utils/transformers.js.map +1 -0
  218. package/dist/utils/urlContent.d.ts +35 -0
  219. package/dist/utils/urlContent.d.ts.map +1 -0
  220. package/dist/utils/urlContent.js +87 -0
  221. package/dist/utils/urlContent.js.map +1 -0
  222. package/llms-full.infranodus.txt +469 -0
  223. package/llms-full.keywordgraph.txt +469 -0
  224. package/llms-full.txt +469 -0
  225. package/llms.infranodus.txt +64 -0
  226. package/llms.keywordgraph.txt +64 -0
  227. package/llms.txt +64 -0
  228. package/package.json +78 -0
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+ import { GenerateTopicalClustersSchema } from "../schemas/index.js";
3
+ export declare const generateTopicalClustersTool: {
4
+ name: string;
5
+ definition: {
6
+ title: string;
7
+ description: string;
8
+ inputSchema: {
9
+ text: z.ZodOptional<z.ZodString>;
10
+ url: z.ZodOptional<z.ZodString>;
11
+ graphName: z.ZodOptional<z.ZodString>;
12
+ userName: z.ZodOptional<z.ZodString>;
13
+ generateTopicalSummaries: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
+ };
15
+ annotations: {
16
+ readOnlyHint: boolean;
17
+ idempotentHint: boolean;
18
+ destructiveHint: boolean;
19
+ };
20
+ };
21
+ handler: (params: z.infer<typeof GenerateTopicalClustersSchema>) => Promise<{
22
+ content: {
23
+ type: "text";
24
+ text: string;
25
+ }[];
26
+ isError: boolean;
27
+ } | {
28
+ content: {
29
+ type: "text";
30
+ text: string;
31
+ }[];
32
+ }>;
33
+ };
34
+ //# sourceMappingURL=generateTopicalClusters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateTopicalClusters.d.ts","sourceRoot":"","sources":["../../src/tools/generateTopicalClusters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,6BAA6B,EAE7B,MAAM,qBAAqB,CAAC;AAc7B,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;sBAaf,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC;;;;;;;;;;;;CAuHrE,CAAC"}
@@ -0,0 +1,134 @@
1
+ import { GenerateTopicalClustersSchemaBase, } from "../schemas/index.js";
2
+ import { makeInfraNodusRequest } from "../api/client.js";
3
+ import { fetchUrlContentAsText } from "../utils/urlContent.js";
4
+ import { generateTopics } from "../utils/transformers.js";
5
+ function errorContent(message) {
6
+ return {
7
+ content: [
8
+ { type: "text", text: JSON.stringify({ error: message }) },
9
+ ],
10
+ isError: true,
11
+ };
12
+ }
13
+ export const generateTopicalClustersTool = {
14
+ name: "generate_topical_clusters",
15
+ definition: {
16
+ title: "Generate Topical Clusters",
17
+ description: "Generate topics and clusters of keywords from text, URL, or an existing graph using knowledge graph analysis. ",
18
+ inputSchema: GenerateTopicalClustersSchemaBase.shape,
19
+ annotations: {
20
+ readOnlyHint: true,
21
+ idempotentHint: true,
22
+ destructiveHint: false,
23
+ },
24
+ },
25
+ handler: async (params) => {
26
+ try {
27
+ const queryParams = new URLSearchParams({
28
+ doNotSave: "true",
29
+ addStats: "true",
30
+ includeGraphSummary: "false",
31
+ extendedGraphSummary: "true",
32
+ includeGraph: "false",
33
+ includeStatements: "false",
34
+ aiTopics: "true",
35
+ });
36
+ const endpoint = `/graphAndStatements?${queryParams.toString()}`;
37
+ let requestBody;
38
+ if (params.graphName?.trim()) {
39
+ requestBody = {
40
+ name: params.graphName,
41
+ userName: params.userName ?? "",
42
+ };
43
+ }
44
+ else {
45
+ let contentText;
46
+ if (params.url) {
47
+ const result = await fetchUrlContentAsText(params.url);
48
+ if (!result.ok)
49
+ return errorContent(result.error);
50
+ contentText = result.contentText;
51
+ if (!contentText?.trim())
52
+ return errorContent("URL did not return any text content");
53
+ }
54
+ else if (params.text?.trim()) {
55
+ contentText = params.text;
56
+ }
57
+ else {
58
+ return errorContent("Provide either text, url, or graphName for analysis");
59
+ }
60
+ requestBody = { text: contentText };
61
+ }
62
+ const response = await makeInfraNodusRequest(endpoint, requestBody);
63
+ if (response.error) {
64
+ return {
65
+ content: [
66
+ {
67
+ type: "text",
68
+ text: JSON.stringify({ error: response.error }),
69
+ },
70
+ ],
71
+ isError: true,
72
+ };
73
+ }
74
+ // Optionally generate AI summaries of the topical clusters using the
75
+ // same flow as generate_responses_from_graph, but with the
76
+ // "graph summary" request mode and the gpt-5.4-mini model.
77
+ let summaryResponse;
78
+ if (params.generateTopicalSummaries) {
79
+ const summaryQueryParams = new URLSearchParams({
80
+ doNotSave: "true",
81
+ addStats: "true",
82
+ optimize: "develop",
83
+ includeStatements: "false",
84
+ includeGraphSummary: "false",
85
+ extendedGraphSummary: "false",
86
+ includeGraph: "false",
87
+ aiTopics: "true",
88
+ });
89
+ const summaryEndpoint = `/graphAndAdvice?${summaryQueryParams.toString()}`;
90
+ const summaryRequestBody = {
91
+ ...requestBody,
92
+ aiTopics: "true",
93
+ requestMode: "graph summary",
94
+ modelToUse: "gpt-5.4-mini",
95
+ };
96
+ summaryResponse = await makeInfraNodusRequest(summaryEndpoint, summaryRequestBody);
97
+ if (summaryResponse.error) {
98
+ return {
99
+ content: [
100
+ {
101
+ type: "text",
102
+ text: JSON.stringify({ error: summaryResponse.error }),
103
+ },
104
+ ],
105
+ isError: true,
106
+ };
107
+ }
108
+ }
109
+ const insights = generateTopics(response, summaryResponse);
110
+ return {
111
+ content: [
112
+ {
113
+ type: "text",
114
+ text: JSON.stringify(insights, null, 2),
115
+ },
116
+ ],
117
+ };
118
+ }
119
+ catch (error) {
120
+ return {
121
+ content: [
122
+ {
123
+ type: "text",
124
+ text: JSON.stringify({
125
+ error: error instanceof Error ? error.message : String(error),
126
+ }),
127
+ },
128
+ ],
129
+ isError: true,
130
+ };
131
+ }
132
+ },
133
+ };
134
+ //# sourceMappingURL=generateTopicalClusters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateTopicalClusters.js","sourceRoot":"","sources":["../../src/tools/generateTopicalClusters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { getMemorySchema } from "../schemas/index.js";
3
+ export declare const getMemoryTool: {
4
+ name: string;
5
+ definition: {
6
+ title: string;
7
+ description: string;
8
+ inputSchema: {
9
+ entityName: z.ZodDefault<z.ZodString>;
10
+ memoryContextName: z.ZodDefault<z.ZodString>;
11
+ };
12
+ annotations: {
13
+ readOnlyHint: boolean;
14
+ idempotentHint: boolean;
15
+ destructiveHint: boolean;
16
+ };
17
+ };
18
+ handler: (params: z.infer<typeof getMemorySchema>) => Promise<{
19
+ content: {
20
+ type: "text";
21
+ text: string;
22
+ }[];
23
+ isError: boolean;
24
+ } | {
25
+ content: {
26
+ type: "text";
27
+ text: string;
28
+ }[];
29
+ isError?: undefined;
30
+ }>;
31
+ };
32
+ //# sourceMappingURL=getMemory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMemory.d.ts","sourceRoot":"","sources":["../../src/tools/getMemory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAOtD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;sBAaD,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC;;;;;;;;;;;;;CAwHvD,CAAC"}
@@ -0,0 +1,121 @@
1
+ import { brand } from "../config/brand.js";
2
+ import { getMemorySchema } from "../schemas/index.js";
3
+ import { makeInfraNodusRequest } from "../api/client.js";
4
+ import { extractStatementsFromSearchResponse, extractStatementsFromGraphResponse, } from "../utils/transformers.js";
5
+ export const getMemoryTool = {
6
+ name: "memory_get_relations",
7
+ definition: {
8
+ title: `Get Relations from the ${brand.name} Memory`,
9
+ description: `Provide a list of relations from the ${brand.name} memory for a given concept or entity`,
10
+ inputSchema: getMemorySchema.shape,
11
+ annotations: {
12
+ readOnlyHint: true,
13
+ idempotentHint: true,
14
+ destructiveHint: false,
15
+ },
16
+ },
17
+ handler: async (params) => {
18
+ try {
19
+ const searchQuery = params.entityName;
20
+ const hasContextName = params.memoryContextName && params.memoryContextName.length > 0;
21
+ // If searchQuery is empty but contextNames exist, use graphAndStatements endpoint.
22
+ // Use the same params as analyze_existing_graph_by_name (including aiTopics: "true")
23
+ // so the backend resolves the graph by name the same way.
24
+ if (!searchQuery && hasContextName) {
25
+ const queryParams = new URLSearchParams({
26
+ doNotSave: "true",
27
+ addStats: "true",
28
+ includeStatements: "true",
29
+ includeGraphSummary: "false",
30
+ extendedGraphSummary: "false",
31
+ includeGraph: "true",
32
+ compactGraph: "true",
33
+ compactStatements: "true",
34
+ aiTopics: "false",
35
+ optimize: "develop",
36
+ });
37
+ const endpoint = `/graphAndStatements?${queryParams.toString()}`;
38
+ const requestBody = {
39
+ name: params.memoryContextName,
40
+ aiTopics: "false",
41
+ };
42
+ const response = await makeInfraNodusRequest(endpoint, requestBody);
43
+ if (response.error) {
44
+ return {
45
+ content: [
46
+ {
47
+ type: "text",
48
+ text: JSON.stringify({ error: response.error }),
49
+ },
50
+ ],
51
+ isError: true,
52
+ };
53
+ }
54
+ const structuredOutput = extractStatementsFromGraphResponse(response, params.memoryContextName);
55
+ return {
56
+ content: [
57
+ {
58
+ type: "text",
59
+ text: JSON.stringify(structuredOutput, null, 2),
60
+ },
61
+ ],
62
+ };
63
+ }
64
+ // Original search endpoint logic
65
+ const endpoint = `/search`;
66
+ const requestBody = {
67
+ query: searchQuery,
68
+ contextNames: hasContextName ? params.memoryContextName : "",
69
+ };
70
+ const response = await makeInfraNodusRequest(endpoint, requestBody);
71
+ if (response.error) {
72
+ return {
73
+ content: [
74
+ {
75
+ type: "text",
76
+ text: JSON.stringify({ error: response.error }),
77
+ },
78
+ ],
79
+ isError: true,
80
+ };
81
+ }
82
+ const results = extractStatementsFromSearchResponse(response);
83
+ // Check if statements exist
84
+ if (!results || results?.statements?.length === 0) {
85
+ return {
86
+ content: [
87
+ {
88
+ type: "text",
89
+ text: JSON.stringify({
90
+ error: "No statements found in memory for the given entity",
91
+ }),
92
+ },
93
+ ],
94
+ isError: true,
95
+ };
96
+ }
97
+ return {
98
+ content: [
99
+ {
100
+ type: "text",
101
+ text: JSON.stringify(results, null, 2),
102
+ },
103
+ ],
104
+ };
105
+ }
106
+ catch (error) {
107
+ return {
108
+ content: [
109
+ {
110
+ type: "text",
111
+ text: JSON.stringify({
112
+ error: error instanceof Error ? error.message : String(error),
113
+ }),
114
+ },
115
+ ],
116
+ isError: true,
117
+ };
118
+ }
119
+ },
120
+ };
121
+ //# sourceMappingURL=getMemory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getMemory.js","sourceRoot":"","sources":["../../src/tools/getMemory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ export { generateKnowledgeGraphTool } from "./generateKnowledgeGraph.js";
2
+ export { createKnowledgeGraphTool } from "./createKnowledgeGraph.js";
3
+ export { generateOntologyGraphTool } from "./generateOntologyGraph.js";
4
+ export { analyzeLlmResultsTool } from "./analyzeLlmResults.js";
5
+ export { addMemoryTool } from "./addMemory.js";
6
+ export { getMemoryTool } from "./getMemory.js";
7
+ export { analyzeExistingGraphTool } from "./analyzeExistingGraph.js";
8
+ export { analyzeTextTool } from "./analyzeText.js";
9
+ export { generateContentGapsTool } from "./generateContentGaps.js";
10
+ export { generateTopicalClustersTool } from "./generateTopicalClusters.js";
11
+ export { generateResearchQuestionsTool } from "./generateResearchQuestions.js";
12
+ export { generateResponsesFromGraphTool } from "./generateResponses.js";
13
+ export { generateContextualHintTool } from "./generateContextualHint.js";
14
+ export { listGraphsTool } from "./listGraphs.js";
15
+ export { searchExistingGraphsTool } from "./searchGraphs.js";
16
+ export { searchExistingGraphsFetchTool } from "./searchGraphsFetch.js";
17
+ export { generateOverlapGraphFromTextsTool } from "./generateOverlapGraphFromTexts.js";
18
+ export { generateMergedGraphFromTextsTool } from "./generateMergedGraphFromTexts.js";
19
+ export { generateDifferenceGraphFromTextsTool } from "./generateDifferenceGraphFromTexts.js";
20
+ export { generateGoogleSearchResultsGraphTool } from "./generateGoogleSearchResultsGraph.js";
21
+ export { generateGoogleSearchQueriesGraphTool } from "./generateGoogleSearchQueriesGraph.js";
22
+ export { generateGoogleResultsVsQueriesGraphTool } from "./generateGoogleResultsVsQueriesGraph.js";
23
+ export { generateSEOGraphTool } from "./generateSEOGraphTool.js";
24
+ export { developConceptualBridgesTool } from "./developConceptualBridges.js";
25
+ export { developLatentTopicsTool } from "./developLatentTopics.js";
26
+ export { developTextTool } from "./developTextTool.js";
27
+ export { generateResearchIdeasTool } from "./generateResearchIdeas.js";
28
+ export { optimizeTextStructureTool } from "./optimizeTextStructure.js";
29
+ export { retrieveContextForPromptFromGraphTool } from "./retrieveContextForPromptFromGraph.js";
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,30 @@
1
+ export { generateKnowledgeGraphTool } from "./generateKnowledgeGraph.js";
2
+ export { createKnowledgeGraphTool } from "./createKnowledgeGraph.js";
3
+ export { generateOntologyGraphTool } from "./generateOntologyGraph.js";
4
+ export { analyzeLlmResultsTool } from "./analyzeLlmResults.js";
5
+ export { addMemoryTool } from "./addMemory.js";
6
+ export { getMemoryTool } from "./getMemory.js";
7
+ export { analyzeExistingGraphTool } from "./analyzeExistingGraph.js";
8
+ export { analyzeTextTool } from "./analyzeText.js";
9
+ export { generateContentGapsTool } from "./generateContentGaps.js";
10
+ export { generateTopicalClustersTool } from "./generateTopicalClusters.js";
11
+ export { generateResearchQuestionsTool } from "./generateResearchQuestions.js";
12
+ export { generateResponsesFromGraphTool } from "./generateResponses.js";
13
+ export { generateContextualHintTool } from "./generateContextualHint.js";
14
+ export { listGraphsTool } from "./listGraphs.js";
15
+ export { searchExistingGraphsTool } from "./searchGraphs.js";
16
+ export { searchExistingGraphsFetchTool } from "./searchGraphsFetch.js";
17
+ export { generateOverlapGraphFromTextsTool } from "./generateOverlapGraphFromTexts.js";
18
+ export { generateMergedGraphFromTextsTool } from "./generateMergedGraphFromTexts.js";
19
+ export { generateDifferenceGraphFromTextsTool } from "./generateDifferenceGraphFromTexts.js";
20
+ export { generateGoogleSearchResultsGraphTool } from "./generateGoogleSearchResultsGraph.js";
21
+ export { generateGoogleSearchQueriesGraphTool } from "./generateGoogleSearchQueriesGraph.js";
22
+ export { generateGoogleResultsVsQueriesGraphTool } from "./generateGoogleResultsVsQueriesGraph.js";
23
+ export { generateSEOGraphTool } from "./generateSEOGraphTool.js";
24
+ export { developConceptualBridgesTool } from "./developConceptualBridges.js";
25
+ export { developLatentTopicsTool } from "./developLatentTopics.js";
26
+ export { developTextTool } from "./developTextTool.js";
27
+ export { generateResearchIdeasTool } from "./generateResearchIdeas.js";
28
+ export { optimizeTextStructureTool } from "./optimizeTextStructure.js";
29
+ export { retrieveContextForPromptFromGraphTool } from "./retrieveContextForPromptFromGraph.js";
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { z } from "zod";
2
+ import { ListGraphsSchema } from "../schemas/index.js";
3
+ export declare const listGraphsTool: {
4
+ name: string;
5
+ definition: {
6
+ title: string;
7
+ description: string;
8
+ inputSchema: {
9
+ nameContains: z.ZodOptional<z.ZodString>;
10
+ userName: z.ZodOptional<z.ZodString>;
11
+ type: z.ZodOptional<z.ZodString>;
12
+ fromDate: z.ZodOptional<z.ZodString>;
13
+ toDate: z.ZodOptional<z.ZodString>;
14
+ language: z.ZodOptional<z.ZodString>;
15
+ favorite: z.ZodOptional<z.ZodBoolean>;
16
+ };
17
+ annotations: {
18
+ readOnlyHint: boolean;
19
+ idempotentHint: boolean;
20
+ destructiveHint: boolean;
21
+ };
22
+ };
23
+ handler: (params: z.infer<typeof ListGraphsSchema>) => Promise<{
24
+ content: {
25
+ type: "text";
26
+ text: string;
27
+ }[];
28
+ isError?: undefined;
29
+ } | {
30
+ content: {
31
+ type: "text";
32
+ text: string;
33
+ }[];
34
+ isError: boolean;
35
+ }>;
36
+ };
37
+ //# sourceMappingURL=listGraphs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listGraphs.d.ts","sourceRoot":"","sources":["../../src/tools/listGraphs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAqEvD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;sBAaF,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC;;;;;;;;;;;;;CAoFxD,CAAC"}
@@ -0,0 +1,127 @@
1
+ import { brand } from "../config/brand.js";
2
+ import { ListGraphsSchema } from "../schemas/index.js";
3
+ import { makeInfraNodusRequest } from "../api/client.js";
4
+ function generateListGraphsResult(graphs, filters) {
5
+ const filterDescription = [];
6
+ if (filters.nameContains)
7
+ filterDescription.push(`nameContains: "${filters.nameContains}"`);
8
+ if (filters.type)
9
+ filterDescription.push(`type: ${filters.type}`);
10
+ if (filters.fromDate)
11
+ filterDescription.push(`from: ${filters.fromDate}`);
12
+ if (filters.toDate)
13
+ filterDescription.push(`to: ${filters.toDate}`);
14
+ if (filters.language)
15
+ filterDescription.push(`language: ${filters.language}`);
16
+ if (filters.favorite !== undefined)
17
+ filterDescription.push(`favorite: ${filters.favorite}`);
18
+ if (filters.userName)
19
+ filterDescription.push(`userName: ${filters.userName}`);
20
+ const simplifiedGraphs = graphs.map((graph) => ({
21
+ id: graph.id,
22
+ name: graph.contextName,
23
+ description: graph.description,
24
+ type: graph.contextType,
25
+ isFavorite: graph.isFavorite,
26
+ isPublic: graph.isPublic,
27
+ createdAt: graph.createdAt,
28
+ language: graph.textProcessingSettings?.language || "unknown",
29
+ }));
30
+ return {
31
+ totalGraphs: graphs.length,
32
+ filters: filterDescription.length > 0
33
+ ? filterDescription.join(", ")
34
+ : "none (all graphs)",
35
+ graphs: simplifiedGraphs,
36
+ };
37
+ }
38
+ export const listGraphsTool = {
39
+ name: "list_graphs",
40
+ definition: {
41
+ title: `List User's ${brand.name} Graphs`,
42
+ description: "List all graphs (contexts) for the currently logged in user with optional filtering by name, type, date, language, or favorite status. Use this to discover available graphs before analyzing or searching them.",
43
+ inputSchema: ListGraphsSchema.shape,
44
+ annotations: {
45
+ readOnlyHint: true,
46
+ idempotentHint: true,
47
+ destructiveHint: false,
48
+ },
49
+ },
50
+ handler: async (params) => {
51
+ try {
52
+ const endpoint = `/listGraphs`;
53
+ const requestBody = {};
54
+ if (params.nameContains) {
55
+ requestBody.query = params.nameContains;
56
+ }
57
+ if (params.type) {
58
+ requestBody.type = params.type;
59
+ }
60
+ if (params.fromDate) {
61
+ requestBody.fromDate = params.fromDate;
62
+ }
63
+ if (params.toDate) {
64
+ requestBody.toDate = params.toDate;
65
+ }
66
+ if (params.language) {
67
+ requestBody.textProcessingSettings = {
68
+ language: params.language,
69
+ };
70
+ }
71
+ if (params.favorite !== undefined) {
72
+ requestBody.favorite = params.favorite;
73
+ }
74
+ if (params.userName) {
75
+ requestBody.userName = params.userName;
76
+ }
77
+ const response = await makeInfraNodusRequest(endpoint, requestBody);
78
+ // The API returns an array of graphs directly
79
+ if (Array.isArray(response)) {
80
+ const structuredOutput = generateListGraphsResult(response, params);
81
+ return {
82
+ content: [
83
+ {
84
+ type: "text",
85
+ text: JSON.stringify(structuredOutput, null, 2),
86
+ },
87
+ ],
88
+ };
89
+ }
90
+ // Handle error response
91
+ if (response.error) {
92
+ return {
93
+ content: [
94
+ {
95
+ type: "text",
96
+ text: JSON.stringify({ error: response.error }),
97
+ },
98
+ ],
99
+ isError: true,
100
+ };
101
+ }
102
+ // Fallback: return raw response
103
+ return {
104
+ content: [
105
+ {
106
+ type: "text",
107
+ text: JSON.stringify(response, null, 2),
108
+ },
109
+ ],
110
+ };
111
+ }
112
+ catch (error) {
113
+ return {
114
+ content: [
115
+ {
116
+ type: "text",
117
+ text: JSON.stringify({
118
+ error: error instanceof Error ? error.message : String(error),
119
+ }),
120
+ },
121
+ ],
122
+ isError: true,
123
+ };
124
+ }
125
+ },
126
+ };
127
+ //# sourceMappingURL=listGraphs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listGraphs.js","sourceRoot":"","sources":["../../src/tools/listGraphs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { z } from "zod";
2
+ import { OptimizeTextStructureSchema } from "../schemas/index.js";
3
+ export declare const optimizeTextStructureTool: {
4
+ name: string;
5
+ definition: {
6
+ title: string;
7
+ description: string;
8
+ inputSchema: {
9
+ text: z.ZodOptional<z.ZodString>;
10
+ url: z.ZodOptional<z.ZodString>;
11
+ graphName: z.ZodOptional<z.ZodString>;
12
+ responseType: z.ZodDefault<z.ZodEnum<["response", "idea", "question", "transcend"]>>;
13
+ modelToUse: z.ZodDefault<z.ZodEnum<["claude-opus-4.6", "claude-sonnet-4.6", "gemini-2.5-pro", "gemini-2.5-flash", "gemini-2.5-flash-lite", "grok-4.1-fast-non-reasoning", "grok-4.1-fast-reasoning", "gpt-4o", "gpt-4o-mini", "gpt-5.4", "gpt-5.4-mini"]>>;
14
+ };
15
+ annotations: {
16
+ readOnlyHint: boolean;
17
+ idempotentHint: boolean;
18
+ destructiveHint: boolean;
19
+ };
20
+ };
21
+ handler: (params: z.infer<typeof OptimizeTextStructureSchema>) => Promise<{
22
+ content: {
23
+ type: "text";
24
+ text: string;
25
+ }[];
26
+ isError: boolean;
27
+ } | {
28
+ content: {
29
+ type: "text";
30
+ text: string;
31
+ }[];
32
+ }>;
33
+ };
34
+ //# sourceMappingURL=optimizeTextStructure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimizeTextStructure.d.ts","sourceRoot":"","sources":["../../src/tools/optimizeTextStructure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACN,2BAA2B,EAE3B,MAAM,qBAAqB,CAAC;AAc7B,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;sBAab,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC;;;;;;;;;;;;CA4FnE,CAAC"}