infranodus-mcp-server 1.2.4 → 1.5.0

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 (140) hide show
  1. package/README.md +57 -31
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +2 -2
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/api/config-store.d.ts +4 -0
  6. package/dist/api/config-store.d.ts.map +1 -0
  7. package/dist/api/config-store.js +11 -0
  8. package/dist/api/config-store.js.map +1 -0
  9. package/dist/config/index.d.ts +6 -0
  10. package/dist/config/index.d.ts.map +1 -1
  11. package/dist/config/index.js +2 -0
  12. package/dist/config/index.js.map +1 -1
  13. package/dist/http-server.js +219 -27
  14. package/dist/http-server.js.map +1 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +26 -8
  17. package/dist/index.js.map +1 -1
  18. package/dist/instructions.d.ts +11 -0
  19. package/dist/instructions.d.ts.map +1 -0
  20. package/dist/instructions.js +37 -0
  21. package/dist/instructions.js.map +1 -0
  22. package/dist/prompts/index.js +1 -1
  23. package/dist/resources/about.d.ts.map +1 -1
  24. package/dist/resources/about.js +26 -24
  25. package/dist/resources/about.js.map +1 -1
  26. package/dist/resources/llms-txt.d.ts +33 -0
  27. package/dist/resources/llms-txt.d.ts.map +1 -0
  28. package/dist/resources/llms-txt.js +54 -0
  29. package/dist/resources/llms-txt.js.map +1 -0
  30. package/dist/schemas/index.d.ts +673 -86
  31. package/dist/schemas/index.d.ts.map +1 -1
  32. package/dist/schemas/index.js +304 -87
  33. package/dist/schemas/index.js.map +1 -1
  34. package/dist/tools/analyzeExistingGraph.d.ts.map +1 -1
  35. package/dist/tools/analyzeExistingGraph.js +13 -8
  36. package/dist/tools/analyzeExistingGraph.js.map +1 -1
  37. package/dist/tools/analyzeText.d.ts +36 -0
  38. package/dist/tools/analyzeText.d.ts.map +1 -0
  39. package/dist/tools/analyzeText.js +96 -0
  40. package/dist/tools/analyzeText.js.map +1 -0
  41. package/dist/tools/createKnowledgeGraph.d.ts +2 -2
  42. package/dist/tools/createKnowledgeGraph.d.ts.map +1 -1
  43. package/dist/tools/createKnowledgeGraph.js +26 -2
  44. package/dist/tools/createKnowledgeGraph.js.map +1 -1
  45. package/dist/tools/developConceptualBridges.d.ts +4 -3
  46. package/dist/tools/developConceptualBridges.d.ts.map +1 -1
  47. package/dist/tools/developConceptualBridges.js +45 -11
  48. package/dist/tools/developConceptualBridges.js.map +1 -1
  49. package/dist/tools/developLatentTopics.d.ts +4 -3
  50. package/dist/tools/developLatentTopics.d.ts.map +1 -1
  51. package/dist/tools/developLatentTopics.js +45 -11
  52. package/dist/tools/developLatentTopics.js.map +1 -1
  53. package/dist/tools/developTextTool.d.ts +3 -2
  54. package/dist/tools/developTextTool.d.ts.map +1 -1
  55. package/dist/tools/developTextTool.js +73 -23
  56. package/dist/tools/developTextTool.js.map +1 -1
  57. package/dist/tools/generateContentGaps.d.ts +3 -2
  58. package/dist/tools/generateContentGaps.d.ts.map +1 -1
  59. package/dist/tools/generateContentGaps.js +38 -10
  60. package/dist/tools/generateContentGaps.js.map +1 -1
  61. package/dist/tools/generateContextualHint.d.ts +3 -2
  62. package/dist/tools/generateContextualHint.d.ts.map +1 -1
  63. package/dist/tools/generateContextualHint.js +36 -8
  64. package/dist/tools/generateContextualHint.js.map +1 -1
  65. package/dist/tools/generateDifferenceGraphFromTexts.d.ts +15 -6
  66. package/dist/tools/generateDifferenceGraphFromTexts.d.ts.map +1 -1
  67. package/dist/tools/generateDifferenceGraphFromTexts.js +90 -7
  68. package/dist/tools/generateDifferenceGraphFromTexts.js.map +1 -1
  69. package/dist/tools/generateGoogleResultsVsQueriesGraph.d.ts +3 -1
  70. package/dist/tools/generateGoogleResultsVsQueriesGraph.d.ts.map +1 -1
  71. package/dist/tools/generateGoogleResultsVsQueriesGraph.js +18 -9
  72. package/dist/tools/generateGoogleResultsVsQueriesGraph.js.map +1 -1
  73. package/dist/tools/generateGoogleSearchQueriesGraph.d.ts +3 -1
  74. package/dist/tools/generateGoogleSearchQueriesGraph.d.ts.map +1 -1
  75. package/dist/tools/generateGoogleSearchQueriesGraph.js +21 -10
  76. package/dist/tools/generateGoogleSearchQueriesGraph.js.map +1 -1
  77. package/dist/tools/generateGoogleSearchResultsGraph.d.ts +4 -2
  78. package/dist/tools/generateGoogleSearchResultsGraph.d.ts.map +1 -1
  79. package/dist/tools/generateGoogleSearchResultsGraph.js +22 -10
  80. package/dist/tools/generateGoogleSearchResultsGraph.js.map +1 -1
  81. package/dist/tools/generateKnowledgeGraph.d.ts +2 -2
  82. package/dist/tools/generateKnowledgeGraph.d.ts.map +1 -1
  83. package/dist/tools/generateKnowledgeGraph.js +26 -2
  84. package/dist/tools/generateKnowledgeGraph.js.map +1 -1
  85. package/dist/tools/generateMergedGraphFromTexts.d.ts +52 -0
  86. package/dist/tools/generateMergedGraphFromTexts.d.ts.map +1 -0
  87. package/dist/tools/generateMergedGraphFromTexts.js +159 -0
  88. package/dist/tools/generateMergedGraphFromTexts.js.map +1 -0
  89. package/dist/tools/generateOverlapGraphFromTexts.d.ts +15 -6
  90. package/dist/tools/generateOverlapGraphFromTexts.d.ts.map +1 -1
  91. package/dist/tools/generateOverlapGraphFromTexts.js +91 -7
  92. package/dist/tools/generateOverlapGraphFromTexts.js.map +1 -1
  93. package/dist/tools/generateResearchIdeas.d.ts +4 -2
  94. package/dist/tools/generateResearchIdeas.d.ts.map +1 -1
  95. package/dist/tools/generateResearchIdeas.js +54 -13
  96. package/dist/tools/generateResearchIdeas.js.map +1 -1
  97. package/dist/tools/generateResearchQuestions.d.ts +3 -2
  98. package/dist/tools/generateResearchQuestions.d.ts.map +1 -1
  99. package/dist/tools/generateResearchQuestions.js +44 -9
  100. package/dist/tools/generateResearchQuestions.js.map +1 -1
  101. package/dist/tools/generateResponses.d.ts +34 -0
  102. package/dist/tools/generateResponses.d.ts.map +1 -0
  103. package/dist/tools/generateResponses.js +110 -0
  104. package/dist/tools/generateResponses.js.map +1 -0
  105. package/dist/tools/generateSEOGraphTool.d.ts +2 -0
  106. package/dist/tools/generateSEOGraphTool.d.ts.map +1 -1
  107. package/dist/tools/generateSEOGraphTool.js +16 -75
  108. package/dist/tools/generateSEOGraphTool.js.map +1 -1
  109. package/dist/tools/generateTopicalClusters.d.ts +3 -2
  110. package/dist/tools/generateTopicalClusters.d.ts.map +1 -1
  111. package/dist/tools/generateTopicalClusters.js +38 -10
  112. package/dist/tools/generateTopicalClusters.js.map +1 -1
  113. package/dist/tools/getMemory.d.ts.map +1 -1
  114. package/dist/tools/getMemory.js +7 -5
  115. package/dist/tools/getMemory.js.map +1 -1
  116. package/dist/tools/index.d.ts +4 -2
  117. package/dist/tools/index.d.ts.map +1 -1
  118. package/dist/tools/index.js +4 -2
  119. package/dist/tools/index.js.map +1 -1
  120. package/dist/tools/listGraphs.d.ts +1 -1
  121. package/dist/tools/listGraphs.d.ts.map +1 -1
  122. package/dist/tools/listGraphs.js +7 -5
  123. package/dist/tools/listGraphs.js.map +1 -1
  124. package/dist/tools/optimizeTextStructure.d.ts +34 -0
  125. package/dist/tools/optimizeTextStructure.d.ts.map +1 -0
  126. package/dist/tools/optimizeTextStructure.js +108 -0
  127. package/dist/tools/optimizeTextStructure.js.map +1 -0
  128. package/dist/types/index.d.ts +23 -0
  129. package/dist/types/index.d.ts.map +1 -1
  130. package/dist/utils/transformers.d.ts +2 -1
  131. package/dist/utils/transformers.d.ts.map +1 -1
  132. package/dist/utils/transformers.js +39 -1
  133. package/dist/utils/transformers.js.map +1 -1
  134. package/dist/utils/urlContent.d.ts +35 -0
  135. package/dist/utils/urlContent.d.ts.map +1 -0
  136. package/dist/utils/urlContent.js +87 -0
  137. package/dist/utils/urlContent.js.map +1 -0
  138. package/llms-full.txt +469 -0
  139. package/llms.txt +64 -0
  140. package/package.json +5 -2
@@ -5,16 +5,36 @@
5
5
  import express from "express";
6
6
  import cors from "cors";
7
7
  import helmet from "helmet";
8
+ import crypto from "crypto";
8
9
  import * as dotenv from "dotenv";
9
10
  import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
11
+ import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
10
12
  import createServer from "./index.js";
11
13
  import { exchangeApiKeyForToken, verifyAccessToken, revokeSession, getSessionCount, registerClient, getClient, createAuthorizationCode, exchangeAuthorizationCode, validateApiKey, } from "./auth/oauth-provider.js";
14
+ import * as fs from "fs";
15
+ import * as path from "path";
16
+ import { fileURLToPath } from "url";
12
17
  // Load environment variables
13
18
  dotenv.config();
14
19
  // Configuration
15
20
  const PORT = parseInt(process.env.PORT || "3000", 10);
16
21
  const CORS_ORIGIN = process.env.CORS_ORIGIN || "*";
17
22
  const INFRANODUS_API_BASE = process.env.INFRANODUS_API_BASE || "https://infranodus.com/api/v1";
23
+ // Allow HTTP only for localhost/127.0.0.1 (local dev); otherwise require HTTPS
24
+ function isRedirectUriAllowed(redirectUri) {
25
+ if (redirectUri.startsWith("https://"))
26
+ return true;
27
+ if (!redirectUri.startsWith("http://"))
28
+ return false;
29
+ try {
30
+ const u = new URL(redirectUri);
31
+ const host = u.hostname.toLowerCase();
32
+ return host === "localhost" || host === "127.0.0.1";
33
+ }
34
+ catch {
35
+ return false;
36
+ }
37
+ }
18
38
  // Store auth info on request (using a symbol to avoid conflicts with MCP SDK)
19
39
  const AUTH_KEY = Symbol("auth");
20
40
  // Create Express app
@@ -40,16 +60,22 @@ app.use((req, res, next) => {
40
60
  })}`);
41
61
  next();
42
62
  });
43
- // Store transports per session for MCP
63
+ // Store transports per session for MCP (Streamable HTTP)
44
64
  const transports = new Map();
65
+ // Store SSE transports per session for legacy MCP clients
66
+ // userId is stored alongside the transport to prevent session hijacking
67
+ const sseTransports = new Map();
45
68
  /**
46
- * Auth middleware - validates Bearer token and attaches auth info to request
69
+ * Auth middleware - validates Bearer token and attaches auth info to request.
70
+ * Supports both JWT access tokens (from OAuth flow) and raw InfraNodus API keys.
47
71
  */
48
- function authMiddleware(req, res, next) {
72
+ async function authMiddleware(req, res, next) {
49
73
  console.log(`[AUTH] Checking auth for ${req.method} ${req.path}`);
50
74
  const authHeader = req.headers.authorization;
51
75
  if (!authHeader || !authHeader.startsWith("Bearer ")) {
52
76
  console.log(`[AUTH] Missing or invalid Authorization header`);
77
+ const baseUrl = `${req.protocol}://${req.get("host")}`;
78
+ res.setHeader("WWW-Authenticate", `Bearer resource_metadata="${baseUrl}/.well-known/oauth-protected-resource"`);
53
79
  const error = {
54
80
  error: "unauthorized",
55
81
  error_description: "Missing or invalid Authorization header",
@@ -59,19 +85,41 @@ function authMiddleware(req, res, next) {
59
85
  }
60
86
  const token = authHeader.slice(7); // Remove "Bearer " prefix
61
87
  console.log(`[AUTH] Token present, verifying...`);
88
+ // Try JWT verification first (fast path for OAuth-authenticated clients)
62
89
  const authInfo = verifyAccessToken(token);
63
- if (!authInfo) {
64
- console.log(`[AUTH] Token verification failed`);
65
- const error = {
66
- error: "invalid_token",
67
- error_description: "Access token is invalid or expired",
68
- };
69
- res.status(401).json(error);
90
+ if (authInfo) {
91
+ console.log(`[AUTH] Authenticated via JWT as ${authInfo.userName} (${authInfo.userId})`);
92
+ req[AUTH_KEY] = authInfo;
93
+ next();
70
94
  return;
71
95
  }
72
- console.log(`[AUTH] Authenticated as ${authInfo.userName} (${authInfo.userId})`);
73
- req[AUTH_KEY] = authInfo;
74
- next();
96
+ // JWT failed — try treating the token as a raw InfraNodus API key
97
+ console.log(`[AUTH] JWT verification failed, trying as raw API key...`);
98
+ try {
99
+ const userInfo = await validateApiKey(token);
100
+ if (userInfo) {
101
+ console.log(`[AUTH] Authenticated via raw API key as ${userInfo.userName} (${userInfo.userId})`);
102
+ req[AUTH_KEY] = {
103
+ userId: userInfo.userId,
104
+ userName: userInfo.userName,
105
+ apiKey: token,
106
+ sessionId: crypto.randomUUID(),
107
+ };
108
+ next();
109
+ return;
110
+ }
111
+ }
112
+ catch (err) {
113
+ console.log(`[AUTH] Raw API key validation error: ${err}`);
114
+ }
115
+ console.log(`[AUTH] All authentication methods failed`);
116
+ const baseUrl = `${req.protocol}://${req.get("host")}`;
117
+ res.setHeader("WWW-Authenticate", `Bearer resource_metadata="${baseUrl}/.well-known/oauth-protected-resource"`);
118
+ const error = {
119
+ error: "invalid_token",
120
+ error_description: "Access token is invalid or expired",
121
+ };
122
+ res.status(401).json(error);
75
123
  }
76
124
  /**
77
125
  * Helper to get auth info from request
@@ -142,12 +190,11 @@ app.get("/oauth/authorize", (req, res) => {
142
190
  });
143
191
  return;
144
192
  }
145
- // Accept any HTTPS redirect_uri (stateless validation)
146
- // The real security is in the API key validation
147
- if (!redirect_uri.startsWith("https://")) {
193
+ // Accept HTTPS or http://localhost / http://127.0.0.1 (for local dev)
194
+ if (!isRedirectUriAllowed(redirect_uri)) {
148
195
  res.status(400).json({
149
196
  error: "invalid_request",
150
- error_description: "redirect_uri must use HTTPS",
197
+ error_description: "redirect_uri must use HTTPS or http://localhost or http://127.0.0.1",
151
198
  });
152
199
  return;
153
200
  }
@@ -205,8 +252,8 @@ app.post("/oauth/authorize", express.urlencoded({ extended: true }), async (req,
205
252
  res.status(400).json({ error: "invalid_client" });
206
253
  return;
207
254
  }
208
- // Validate redirect_uri (stateless - accept any HTTPS URL)
209
- if (!redirect_uri || !redirect_uri.startsWith("https://")) {
255
+ // Validate redirect_uri (HTTPS or localhost/127.0.0.1 for local dev)
256
+ if (!redirect_uri || !isRedirectUriAllowed(redirect_uri)) {
210
257
  res.status(400).json({
211
258
  error: "invalid_request",
212
259
  error_description: "Invalid redirect_uri",
@@ -365,6 +412,19 @@ app.get("/.well-known/openid-configuration", (req, res) => {
365
412
  scopes_supported: ["mcp", "read", "write"],
366
413
  });
367
414
  });
415
+ /**
416
+ * GET /.well-known/oauth-protected-resource - OAuth2 Protected Resource Metadata (RFC 9728)
417
+ * MCP clients fetch this to discover the authorization server for this resource.
418
+ */
419
+ app.get("/.well-known/oauth-protected-resource", (req, res) => {
420
+ const baseUrl = `${req.protocol}://${req.get("host")}`;
421
+ res.json({
422
+ resource: baseUrl,
423
+ authorization_servers: [baseUrl],
424
+ scopes_supported: ["mcp", "read", "write"],
425
+ bearer_methods_supported: ["header"],
426
+ });
427
+ });
368
428
  // ============================================================================
369
429
  // MCP Endpoints
370
430
  // ============================================================================
@@ -419,6 +479,8 @@ async function handleMcpRequest(req, res) {
419
479
  const config = {
420
480
  apiKey: auth.apiKey,
421
481
  apiBase: INFRANODUS_API_BASE,
482
+ userId: auth.userId,
483
+ userName: auth.userName,
422
484
  };
423
485
  const server = createServer({ config });
424
486
  // Connect transport to server
@@ -481,14 +543,23 @@ app.post("/mcp", authMiddleware, async (req, res) => {
481
543
  }
482
544
  });
483
545
  /**
484
- * GET /mcp - SSE endpoint for server-to-client notifications
546
+ * GET /mcp - Auto-detect transport:
547
+ * SSE client (no mcp-session-id, Accept: text/event-stream) → SSE transport
548
+ * Streamable HTTP client (has mcp-session-id) → existing Streamable HTTP
485
549
  */
486
550
  app.get("/mcp", authMiddleware, async (req, res) => {
487
551
  try {
488
- await handleMcpRequest(req, res);
552
+ const wantsSSE = !req.headers["mcp-session-id"] &&
553
+ req.headers.accept?.includes("text/event-stream");
554
+ if (wantsSSE) {
555
+ await handleSseConnection(req, res);
556
+ }
557
+ else {
558
+ await handleMcpRequest(req, res);
559
+ }
489
560
  }
490
561
  catch (error) {
491
- console.error("MCP GET error:", error);
562
+ console.error("MCP GET /mcp error:", error);
492
563
  if (!res.headersSent) {
493
564
  res.status(500).json({ error: "Internal server error" });
494
565
  }
@@ -509,6 +580,104 @@ app.delete("/mcp", authMiddleware, async (req, res) => {
509
580
  }
510
581
  });
511
582
  // ============================================================================
583
+ // Legacy SSE Transport Endpoints (for clients like Make.com)
584
+ // ============================================================================
585
+ /**
586
+ * Shared helper: establish an SSE connection for the authenticated user.
587
+ * Creates an SSEServerTransport, wires up an MCP server, and starts streaming.
588
+ */
589
+ async function handleSseConnection(req, res) {
590
+ const auth = getAuth(req);
591
+ if (!auth) {
592
+ res.status(401).json({ error: "unauthorized" });
593
+ return;
594
+ }
595
+ console.log(`[SSE] New SSE connection from ${auth.userName} (${auth.userId})`);
596
+ const transport = new SSEServerTransport("/message", res);
597
+ const sessionId = transport.sessionId;
598
+ sseTransports.set(sessionId, { transport, userId: auth.userId });
599
+ const config = {
600
+ apiKey: auth.apiKey,
601
+ apiBase: INFRANODUS_API_BASE,
602
+ userId: auth.userId,
603
+ userName: auth.userName,
604
+ };
605
+ const server = createServer({ config });
606
+ transport.onclose = () => {
607
+ console.log(`[SSE] Transport closed for session ${sessionId}`);
608
+ sseTransports.delete(sessionId);
609
+ };
610
+ await server.connect(transport);
611
+ console.log(`[SSE] Server connected, session ${sessionId}`);
612
+ }
613
+ /**
614
+ * GET /sse - Establish SSE stream (legacy MCP transport)
615
+ * The client connects here first to get an SSE stream, then POSTs messages to /message
616
+ */
617
+ app.get("/sse", authMiddleware, async (req, res) => {
618
+ try {
619
+ await handleSseConnection(req, res);
620
+ }
621
+ catch (error) {
622
+ console.error("SSE GET /sse error:", error);
623
+ if (!res.headersSent) {
624
+ res.status(500).json({ error: "Internal server error" });
625
+ }
626
+ }
627
+ });
628
+ /**
629
+ * POST /message - Receive messages from SSE clients (legacy MCP transport)
630
+ */
631
+ app.post("/message", authMiddleware, async (req, res) => {
632
+ const sessionId = req.query.sessionId;
633
+ if (!sessionId) {
634
+ res.status(400).json({ error: "Missing sessionId query parameter" });
635
+ return;
636
+ }
637
+ const session = sseTransports.get(sessionId);
638
+ if (!session) {
639
+ res.status(404).json({
640
+ error: "Session not found. The SSE connection may have been closed.",
641
+ });
642
+ return;
643
+ }
644
+ const auth = getAuth(req);
645
+ if (!auth || auth.userId !== session.userId) {
646
+ res.status(403).json({ error: "Session belongs to a different user" });
647
+ return;
648
+ }
649
+ console.log(`[SSE] POST /message for session ${sessionId}`);
650
+ try {
651
+ await session.transport.handlePostMessage(req, res, req.body);
652
+ }
653
+ catch (error) {
654
+ console.error(`[SSE] Error handling message:`, error);
655
+ if (!res.headersSent) {
656
+ res.status(500).json({ error: "Internal server error" });
657
+ }
658
+ }
659
+ });
660
+ // ============================================================================
661
+ // LLM Documentation Endpoints (llms.txt standard)
662
+ // ============================================================================
663
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
664
+ function serveLlmsFile(filename, res) {
665
+ const filePath = path.resolve(__dirname, "../", filename);
666
+ try {
667
+ const content = fs.readFileSync(filePath, "utf-8");
668
+ res.type("text/markdown; charset=utf-8").send(content);
669
+ }
670
+ catch {
671
+ res.status(404).send(`${filename} not found`);
672
+ }
673
+ }
674
+ app.get("/llms.txt", (_req, res) => {
675
+ serveLlmsFile("llms.txt", res);
676
+ });
677
+ app.get("/llms-full.txt", (_req, res) => {
678
+ serveLlmsFile("llms-full.txt", res);
679
+ });
680
+ // ============================================================================
512
681
  // Health & Status Endpoints
513
682
  // ============================================================================
514
683
  /**
@@ -523,16 +692,20 @@ app.get("/health", (req, res) => {
523
692
  });
524
693
  });
525
694
  /**
526
- * GET / - Server info (only when no auth header - otherwise it's MCP)
695
+ * GET / - Server info (only when no auth header and not an MCP/SSE client)
527
696
  */
528
697
  app.get("/", (req, res, next) => {
529
698
  // If auth header is present, treat as MCP request
530
699
  if (req.headers.authorization) {
531
700
  return next();
532
701
  }
702
+ // If client wants SSE or MCP, let it fall through to authMiddleware (→ 401 triggers OAuth)
703
+ if (req.headers.accept?.includes("text/event-stream")) {
704
+ return next();
705
+ }
533
706
  res.json({
534
707
  name: "InfraNodus MCP Server",
535
- version: "1.2.4",
708
+ version: "1.5.0",
536
709
  description: "MCP server for InfraNodus knowledge graph analysis",
537
710
  endpoints: {
538
711
  oauth: {
@@ -546,6 +719,10 @@ app.get("/", (req, res, next) => {
546
719
  disconnect: "DELETE / or DELETE /mcp",
547
720
  },
548
721
  health: "GET /health",
722
+ llms: {
723
+ index: "GET /llms.txt",
724
+ full: "GET /llms-full.txt",
725
+ },
549
726
  },
550
727
  authentication: "Bearer token (obtain via /oauth/token with api_key)",
551
728
  });
@@ -566,11 +743,20 @@ app.post("/", authMiddleware, async (req, res) => {
566
743
  }
567
744
  });
568
745
  /**
569
- * GET / with auth - SSE endpoint for MCP at root
746
+ * GET / with auth - Auto-detect transport:
747
+ * SSE client (no mcp-session-id, Accept: text/event-stream) → SSE transport
748
+ * Streamable HTTP client (has mcp-session-id) → existing Streamable HTTP
570
749
  */
571
750
  app.get("/", authMiddleware, async (req, res) => {
572
751
  try {
573
- await handleMcpRequest(req, res);
752
+ const wantsSSE = !req.headers["mcp-session-id"] &&
753
+ req.headers.accept?.includes("text/event-stream");
754
+ if (wantsSSE) {
755
+ await handleSseConnection(req, res);
756
+ }
757
+ else {
758
+ await handleMcpRequest(req, res);
759
+ }
574
760
  }
575
761
  catch (error) {
576
762
  console.error("MCP GET / error:", error);
@@ -599,10 +785,12 @@ app.delete("/", authMiddleware, async (req, res) => {
599
785
  // Handle graceful shutdown
600
786
  process.on("SIGINT", () => {
601
787
  console.log("\nShutting down HTTP server...");
602
- // Close all transports
603
788
  for (const transport of transports.values()) {
604
789
  transport.close();
605
790
  }
791
+ for (const session of sseTransports.values()) {
792
+ session.transport.close();
793
+ }
606
794
  process.exit(0);
607
795
  });
608
796
  process.on("SIGTERM", () => {
@@ -610,6 +798,9 @@ process.on("SIGTERM", () => {
610
798
  for (const transport of transports.values()) {
611
799
  transport.close();
612
800
  }
801
+ for (const session of sseTransports.values()) {
802
+ session.transport.close();
803
+ }
613
804
  process.exit(0);
614
805
  });
615
806
  // Start the server
@@ -618,6 +809,7 @@ app.listen(PORT, () => {
618
809
  console.log(` - Health: http://localhost:${PORT}/health`);
619
810
  console.log(` - OAuth token: POST http://localhost:${PORT}/oauth/token`);
620
811
  console.log(` - MCP endpoint: http://localhost:${PORT}/mcp`);
812
+ console.log(` - SSE endpoint: http://localhost:${PORT}/sse (legacy)`);
621
813
  console.log("");
622
814
  console.log("Environment:");
623
815
  console.log(` - CORS_ORIGIN: ${CORS_ORIGIN}`);
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../src/http-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAiC7D,OAAO,EAAE,YAAY,EAAE,CAAC;AAGxB,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACpC,MAAM,GACN,EAAE;IACF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;CACrC;;;;;;;;;;;;;;;;;;;;;;GAuLA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAc,MAAM,mBAAmB,CAAC;AAuC7D,OAAO,EAAE,YAAY,EAAE,CAAC;AAGxB,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACpC,MAAM,GACN,EAAE;IACF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;CACrC;;;;;;;;;;;;;;;;;;;;;;GA8NA"}
package/dist/index.js CHANGED
@@ -1,25 +1,31 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
3
  import { configSchema, serverInfo } from "./config/index.js";
4
- import { generateKnowledgeGraphTool, addMemoryTool, getMemoryTool, createKnowledgeGraphTool, analyzeExistingGraphTool, generateContentGapsTool, generateTopicalClustersTool, generateResearchQuestionsTool, generateResearchIdeasTool, generateResearchQuestionsFromGraphTool, generateResponsesFromGraphTool, generateContextualHintTool, listGraphsTool, searchExistingGraphsTool, searchExistingGraphsFetchTool, generateOverlapGraphFromTextsTool, generateDifferenceGraphFromTextsTool, generateGoogleSearchResultsGraphTool, generateGoogleSearchQueriesGraphTool, generateGoogleResultsVsQueriesGraphTool, generateSEOGraphTool, retrieveContextForPromptFromGraphTool, developConceptualBridgesTool, developLatentTopicsTool, developTextTool, } from "./tools/index.js";
4
+ import { generateKnowledgeGraphTool, addMemoryTool, getMemoryTool, createKnowledgeGraphTool, analyzeExistingGraphTool, analyzeTextTool, generateContentGapsTool, generateTopicalClustersTool, generateResearchQuestionsTool, generateResearchIdeasTool, optimizeTextStructureTool, generateResponsesFromGraphTool, generateContextualHintTool, listGraphsTool, searchExistingGraphsTool, searchExistingGraphsFetchTool, generateOverlapGraphFromTextsTool, generateMergedGraphFromTextsTool, generateDifferenceGraphFromTextsTool, generateGoogleSearchResultsGraphTool, generateGoogleSearchQueriesGraphTool, generateGoogleResultsVsQueriesGraphTool, generateSEOGraphTool, retrieveContextForPromptFromGraphTool, developConceptualBridgesTool, developLatentTopicsTool, developTextTool, } from "./tools/index.js";
5
5
  import { aboutResource } from "./resources/about.js";
6
+ import { llmsTxtResource, llmsFullTxtResource } from "./resources/llms-txt.js";
6
7
  import { prompts } from "./prompts/index.js";
8
+ import { serverInstructions } from "./instructions.js";
7
9
  import * as dotenv from "dotenv";
10
+ import * as mcpcat from "mcpcat";
11
+ import { runWithConfig } from "./api/config-store.js";
8
12
  // Export the config schema for Smithery
9
13
  export { configSchema };
10
14
  // Main function that creates and returns the server
11
15
  export default function createServer({ config, }) {
12
- // Store config globally for use in tools
16
+ // Store config globally as fallback for STDIO mode (single-user)
13
17
  global.infranodusConfig = config;
14
- // Create MCP server
15
- const mcpServer = new McpServer(serverInfo);
16
- // Helper function to wrap tool handlers with server context
18
+ // Create MCP server with instructions for LLM context
19
+ const mcpServer = new McpServer(serverInfo, {
20
+ instructions: serverInstructions,
21
+ });
22
+ // Wrap tool handlers so each invocation runs in an AsyncLocalStorage
17
23
  const wrapHandler = (handler) => {
18
24
  return async (params, extra) => {
19
- return handler(params, {
25
+ return runWithConfig(config, () => handler(params, {
20
26
  progressToken: extra?._meta?.progressToken,
21
27
  sendNotification: extra?.sendNotification,
22
- });
28
+ }));
23
29
  };
24
30
  };
25
31
  // Register tools
@@ -28,17 +34,19 @@ export default function createServer({ config, }) {
28
34
  mcpServer.registerTool(addMemoryTool.name, addMemoryTool.definition, wrapHandler(addMemoryTool.handler));
29
35
  mcpServer.registerTool(getMemoryTool.name, getMemoryTool.definition, wrapHandler(getMemoryTool.handler));
30
36
  mcpServer.registerTool(analyzeExistingGraphTool.name, analyzeExistingGraphTool.definition, wrapHandler(analyzeExistingGraphTool.handler));
37
+ mcpServer.registerTool(analyzeTextTool.name, analyzeTextTool.definition, wrapHandler(analyzeTextTool.handler));
31
38
  mcpServer.registerTool(generateContentGapsTool.name, generateContentGapsTool.definition, wrapHandler(generateContentGapsTool.handler));
32
39
  mcpServer.registerTool(generateTopicalClustersTool.name, generateTopicalClustersTool.definition, wrapHandler(generateTopicalClustersTool.handler));
33
40
  mcpServer.registerTool(generateResearchQuestionsTool.name, generateResearchQuestionsTool.definition, wrapHandler(generateResearchQuestionsTool.handler));
34
41
  mcpServer.registerTool(generateResearchIdeasTool.name, generateResearchIdeasTool.definition, wrapHandler(generateResearchIdeasTool.handler));
35
- mcpServer.registerTool(generateResearchQuestionsFromGraphTool.name, generateResearchQuestionsFromGraphTool.definition, wrapHandler(generateResearchQuestionsFromGraphTool.handler));
42
+ mcpServer.registerTool(optimizeTextStructureTool.name, optimizeTextStructureTool.definition, wrapHandler(optimizeTextStructureTool.handler));
36
43
  mcpServer.registerTool(generateResponsesFromGraphTool.name, generateResponsesFromGraphTool.definition, wrapHandler(generateResponsesFromGraphTool.handler));
37
44
  mcpServer.registerTool(developConceptualBridgesTool.name, developConceptualBridgesTool.definition, wrapHandler(developConceptualBridgesTool.handler));
38
45
  mcpServer.registerTool(developLatentTopicsTool.name, developLatentTopicsTool.definition, wrapHandler(developLatentTopicsTool.handler));
39
46
  mcpServer.registerTool(developTextTool.name, developTextTool.definition, wrapHandler(developTextTool.handler));
40
47
  mcpServer.registerTool(generateContextualHintTool.name, generateContextualHintTool.definition, wrapHandler(generateContextualHintTool.handler));
41
48
  mcpServer.registerTool(generateOverlapGraphFromTextsTool.name, generateOverlapGraphFromTextsTool.definition, wrapHandler(generateOverlapGraphFromTextsTool.handler));
49
+ mcpServer.registerTool(generateMergedGraphFromTextsTool.name, generateMergedGraphFromTextsTool.definition, wrapHandler(generateMergedGraphFromTextsTool.handler));
42
50
  mcpServer.registerTool(generateDifferenceGraphFromTextsTool.name, generateDifferenceGraphFromTextsTool.definition, wrapHandler(generateDifferenceGraphFromTextsTool.handler));
43
51
  mcpServer.registerTool(generateGoogleSearchResultsGraphTool.name, generateGoogleSearchResultsGraphTool.definition, wrapHandler(generateGoogleSearchResultsGraphTool.handler));
44
52
  mcpServer.registerTool(generateGoogleSearchQueriesGraphTool.name, generateGoogleSearchQueriesGraphTool.definition, wrapHandler(generateGoogleSearchQueriesGraphTool.handler));
@@ -50,10 +58,20 @@ export default function createServer({ config, }) {
50
58
  mcpServer.registerTool(searchExistingGraphsFetchTool.name, searchExistingGraphsFetchTool.definition, wrapHandler(searchExistingGraphsFetchTool.handler));
51
59
  // Register resources
52
60
  mcpServer.registerResource(aboutResource.name, aboutResource.uri, aboutResource.definition, aboutResource.handler);
61
+ mcpServer.registerResource(llmsTxtResource.name, llmsTxtResource.uri, llmsTxtResource.definition, llmsTxtResource.handler);
62
+ mcpServer.registerResource(llmsFullTxtResource.name, llmsFullTxtResource.uri, llmsFullTxtResource.definition, llmsFullTxtResource.handler);
53
63
  // Register prompts
54
64
  prompts.forEach((prompt) => {
55
65
  mcpServer.registerPrompt(prompt.name, prompt.definition, prompt.handler);
56
66
  });
67
+ mcpcat.track(mcpServer.server, "proj_3AiICLoMV0iZakDgdJGLoipgOor", {
68
+ ...(config.userId && {
69
+ identify: async () => ({
70
+ userId: String(config.userId),
71
+ userName: config.userName,
72
+ }),
73
+ }),
74
+ });
57
75
  // Return the server instance
58
76
  return mcpServer.server;
59
77
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACN,0BAA0B,EAC1B,aAAa,EACb,aAAa,EACb,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,sCAAsC,EACtC,8BAA8B,EAC9B,0BAA0B,EAC1B,cAAc,EACd,wBAAwB,EACxB,6BAA6B,EAC7B,iCAAiC,EACjC,oCAAoC,EACpC,oCAAoC,EACpC,oCAAoC,EACpC,uCAAuC,EACvC,oBAAoB,EACpB,qCAAqC,EACrC,4BAA4B,EAC5B,uBAAuB,EACvB,eAAe,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,wCAAwC;AACxC,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,oDAAoD;AACpD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACpC,MAAM,GAGN;IACA,yCAAyC;IACxC,MAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC;IAE1C,oBAAoB;IACpB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IAE5C,4DAA4D;IAC5D,MAAM,WAAW,GAAG,CAAC,OAAY,EAAE,EAAE;QACpC,OAAO,KAAK,EAAE,MAAW,EAAE,KAAU,EAAE,EAAE;YACxC,OAAO,OAAO,CAAC,MAAM,EAAE;gBACtB,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa;gBAC1C,gBAAgB,EAAE,KAAK,EAAE,gBAAgB;aACzC,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC,CAAC;IAEF,iBAAiB;IACjB,SAAS,CAAC,YAAY,CACrB,0BAA0B,CAAC,IAAI,EAC/B,0BAA0B,CAAC,UAAU,EACrC,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAC/C,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,wBAAwB,CAAC,IAAI,EAC7B,wBAAwB,CAAC,UAAU,EACnC,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAC7C,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,UAAU,EACxB,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAClC,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,UAAU,EACxB,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAClC,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,wBAAwB,CAAC,IAAI,EAC7B,wBAAwB,CAAC,UAAU,EACnC,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAC7C,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,uBAAuB,CAAC,IAAI,EAC5B,uBAAuB,CAAC,UAAU,EAClC,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAC5C,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,2BAA2B,CAAC,IAAI,EAChC,2BAA2B,CAAC,UAAU,EACtC,WAAW,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAChD,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,6BAA6B,CAAC,IAAI,EAClC,6BAA6B,CAAC,UAAU,EACxC,WAAW,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAClD,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,yBAAyB,CAAC,IAAI,EAC9B,yBAAyB,CAAC,UAAU,EACpC,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAC9C,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,sCAAsC,CAAC,IAAI,EAC3C,sCAAsC,CAAC,UAAU,EACjD,WAAW,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAC3D,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,8BAA8B,CAAC,IAAI,EACnC,8BAA8B,CAAC,UAAU,EACzC,WAAW,CAAC,8BAA8B,CAAC,OAAO,CAAC,CACnD,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,4BAA4B,CAAC,IAAI,EACjC,4BAA4B,CAAC,UAAU,EACvC,WAAW,CAAC,4BAA4B,CAAC,OAAO,CAAC,CACjD,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,uBAAuB,CAAC,IAAI,EAC5B,uBAAuB,CAAC,UAAU,EAClC,WAAW,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAC5C,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,UAAU,EAC1B,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CACpC,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,0BAA0B,CAAC,IAAI,EAC/B,0BAA0B,CAAC,UAAU,EACrC,WAAW,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAC/C,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,iCAAiC,CAAC,IAAI,EACtC,iCAAiC,CAAC,UAAU,EAC5C,WAAW,CAAC,iCAAiC,CAAC,OAAO,CAAC,CACtD,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,oCAAoC,CAAC,IAAI,EACzC,oCAAoC,CAAC,UAAU,EAC/C,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,CACzD,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,oCAAoC,CAAC,IAAI,EACzC,oCAAoC,CAAC,UAAU,EAC/C,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,CACzD,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,oCAAoC,CAAC,IAAI,EACzC,oCAAoC,CAAC,UAAU,EAC/C,WAAW,CAAC,oCAAoC,CAAC,OAAO,CAAC,CACzD,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,uCAAuC,CAAC,IAAI,EAC5C,uCAAuC,CAAC,UAAU,EAClD,WAAW,CAAC,uCAAuC,CAAC,OAAO,CAAC,CAC5D,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,oBAAoB,CAAC,IAAI,EACzB,oBAAoB,CAAC,UAAU,EAC/B,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,CACzC,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,qCAAqC,CAAC,IAAI,EAC1C,qCAAqC,CAAC,UAAU,EAChD,WAAW,CAAC,qCAAqC,CAAC,OAAO,CAAC,CAC1D,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,UAAU,EACzB,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CACnC,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,wBAAwB,CAAC,IAAI,EAC7B,wBAAwB,CAAC,UAAU,EACnC,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAC7C,CAAC;IAEF,SAAS,CAAC,YAAY,CACrB,6BAA6B,CAAC,IAAI,EAClC,6BAA6B,CAAC,UAAU,EACxC,WAAW,CAAC,6BAA6B,CAAC,OAAO,CAAC,CAClD,CAAC;IAEF,qBAAqB;IACrB,SAAS,CAAC,gBAAgB,CACzB,aAAa,CAAC,IAAI,EAClB,aAAa,CAAC,GAAG,EACjB,aAAa,CAAC,UAAU,EACxB,aAAa,CAAC,OAAO,CACrB,CAAC;IAEF,mBAAmB;IACnB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,SAAS,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,OAAO,SAAS,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,4DAA4D;AAC5D,KAAK,UAAU,IAAI;IAClB,mDAAmD;IACnD,MAAM,CAAC,MAAM,EAAE,CAAC;IAEhB,MAAM,MAAM,GAAG;QACd,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE;QAC5C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,+BAA+B;KAC3E,CAAC;IAEF,kBAAkB;IAClB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CACZ,iGAAiG,CACjG,CAAC;QACF,mBAAmB;IACpB,CAAC;IAED,4BAA4B;IAC5B,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAExC,yBAAyB;IACzB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAE7C,2BAA2B;IAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACJ,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,uEAAuE;IACxE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;AACF,CAAC;AAED,oEAAoE;AACpE,wEAAwE;AACxE,oDAAoD;AACpD,IACC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,EACpC,CAAC;IACF,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACtB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * MCP Server Instructions
3
+ *
4
+ * Injected into the LLM's system prompt during the MCP handshake.
5
+ * Focuses on cross-tool workflow patterns, constraints, and conventions
6
+ * that individual tool descriptions cannot convey.
7
+ *
8
+ * See: https://blog.modelcontextprotocol.io/posts/2025-11-03-using-server-instructions/
9
+ */
10
+ export declare const serverInstructions = "InfraNodus MCP server for knowledge graph generation and text network analysis using graph theory algorithms.\n\nINPUT TYPES: All analysis tools accept text (string), url (webpage or YouTube video URL \u2014 automatically transcribed), or graphName (existing InfraNodus graph). Provide exactly one input type per call.\n\nENTITY DETECTION MODES: Use modifyAnalyzedText parameter \u2014 'none' (default, word co-occurrence graph), 'detectEntities' (mix entities and words), 'extractEntitiesOnly' (entity-only graph, best for ontologies and knowledge graphs).\n\nWORKFLOW PATTERNS:\n1. Quick structural overview: generate_knowledge_graph or generate_topical_clusters \u2192 get main topics, clusters, gaps.\n2. Deep text development: develop_text_tool (combines optimize + latent topics + conceptual bridges in one call with progress tracking).\n3. Research ideation: generate_content_gaps \u2192 generate_research_questions or generate_research_ideas. Use useSeveralGaps for diversity, gapDepth for less prominent gaps.\n4. Text optimization: optimize_text_structure (auto-detects bias/focus/dispersion and suggests appropriate development).\n5. Outside-the-box thinking: develop_conceptual_bridges (connects discourse to broader context) or set shouldTranscend/transcendDiscourse: true.\n6. RAG augmentation: generate_contextual_hint (lightweight structural summary) or retrieve_from_knowledge_base with includeGraphSummary (GraphRAG retrieval).\n7. Comparing texts: overlap_between_texts (similarities), difference_between_texts (what's missing in first text), merged_graph_from_texts (combined overview).\n8. SEO/content optimization: generate_seo_report (comprehensive, ~90s timeout needed) or run analyze_google_search_results \u2192 analyze_related_search_queries \u2192 search_queries_vs_search_results individually.\n9. Memory: memory_add_relations to persist knowledge graphs, memory_get_relations to retrieve. Use [[wikilinks]] for entity marking.\n10. Graph management: list_graphs to discover existing graphs, search + fetch for content retrieval.\n\nAI MODELS: Tools that generate AI responses accept modelToUse parameter. Available: gpt-4o, gpt-4o-mini, gpt-5, gpt-5-mini, claude-sonnet-4, claude-opus-4.1, gemini-2.5-flash, gemini-2.5-flash-lite. No additional API keys needed.\n\nRESPONSE TYPES: For idea-generating tools, responseType can be 'response' (default analytical), 'idea' (business-oriented), 'question' (research questions), or 'transcend' (broader discourse connection).\n\nDIVERSITY METRICS: Graph analysis returns diversity_score (biased/focused/diversified/dispersed) indicating text structure balance. Use this to choose the right development approach.\n\nPERFORMANCE: generate_seo_report requires extended timeout (~90 seconds) as it chains multiple Google API calls. All other tools respond within standard timeouts.\n\nMULTI-SOURCE INPUTS: overlap_between_texts, merged_graph_from_texts, and difference_between_texts accept a 'contexts' array where each item can be {text: \"...\"}, {url: \"...\"}, or {graphName: \"...\"}. Minimum 2 contexts required.";
11
+ //# sourceMappingURL=instructions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../src/instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,kBAAkB,ohGA0BqM,CAAC"}