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.
- package/README.md +57 -31
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +2 -2
- package/dist/api/client.js.map +1 -1
- package/dist/api/config-store.d.ts +4 -0
- package/dist/api/config-store.d.ts.map +1 -0
- package/dist/api/config-store.js +11 -0
- package/dist/api/config-store.js.map +1 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +2 -0
- package/dist/config/index.js.map +1 -1
- package/dist/http-server.js +219 -27
- package/dist/http-server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +26 -8
- package/dist/index.js.map +1 -1
- package/dist/instructions.d.ts +11 -0
- package/dist/instructions.d.ts.map +1 -0
- package/dist/instructions.js +37 -0
- package/dist/instructions.js.map +1 -0
- package/dist/prompts/index.js +1 -1
- package/dist/resources/about.d.ts.map +1 -1
- package/dist/resources/about.js +26 -24
- package/dist/resources/about.js.map +1 -1
- package/dist/resources/llms-txt.d.ts +33 -0
- package/dist/resources/llms-txt.d.ts.map +1 -0
- package/dist/resources/llms-txt.js +54 -0
- package/dist/resources/llms-txt.js.map +1 -0
- package/dist/schemas/index.d.ts +673 -86
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +304 -87
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/analyzeExistingGraph.d.ts.map +1 -1
- package/dist/tools/analyzeExistingGraph.js +13 -8
- package/dist/tools/analyzeExistingGraph.js.map +1 -1
- package/dist/tools/analyzeText.d.ts +36 -0
- package/dist/tools/analyzeText.d.ts.map +1 -0
- package/dist/tools/analyzeText.js +96 -0
- package/dist/tools/analyzeText.js.map +1 -0
- package/dist/tools/createKnowledgeGraph.d.ts +2 -2
- package/dist/tools/createKnowledgeGraph.d.ts.map +1 -1
- package/dist/tools/createKnowledgeGraph.js +26 -2
- package/dist/tools/createKnowledgeGraph.js.map +1 -1
- package/dist/tools/developConceptualBridges.d.ts +4 -3
- package/dist/tools/developConceptualBridges.d.ts.map +1 -1
- package/dist/tools/developConceptualBridges.js +45 -11
- package/dist/tools/developConceptualBridges.js.map +1 -1
- package/dist/tools/developLatentTopics.d.ts +4 -3
- package/dist/tools/developLatentTopics.d.ts.map +1 -1
- package/dist/tools/developLatentTopics.js +45 -11
- package/dist/tools/developLatentTopics.js.map +1 -1
- package/dist/tools/developTextTool.d.ts +3 -2
- package/dist/tools/developTextTool.d.ts.map +1 -1
- package/dist/tools/developTextTool.js +73 -23
- package/dist/tools/developTextTool.js.map +1 -1
- package/dist/tools/generateContentGaps.d.ts +3 -2
- package/dist/tools/generateContentGaps.d.ts.map +1 -1
- package/dist/tools/generateContentGaps.js +38 -10
- package/dist/tools/generateContentGaps.js.map +1 -1
- package/dist/tools/generateContextualHint.d.ts +3 -2
- package/dist/tools/generateContextualHint.d.ts.map +1 -1
- package/dist/tools/generateContextualHint.js +36 -8
- package/dist/tools/generateContextualHint.js.map +1 -1
- package/dist/tools/generateDifferenceGraphFromTexts.d.ts +15 -6
- package/dist/tools/generateDifferenceGraphFromTexts.d.ts.map +1 -1
- package/dist/tools/generateDifferenceGraphFromTexts.js +90 -7
- package/dist/tools/generateDifferenceGraphFromTexts.js.map +1 -1
- package/dist/tools/generateGoogleResultsVsQueriesGraph.d.ts +3 -1
- package/dist/tools/generateGoogleResultsVsQueriesGraph.d.ts.map +1 -1
- package/dist/tools/generateGoogleResultsVsQueriesGraph.js +18 -9
- package/dist/tools/generateGoogleResultsVsQueriesGraph.js.map +1 -1
- package/dist/tools/generateGoogleSearchQueriesGraph.d.ts +3 -1
- package/dist/tools/generateGoogleSearchQueriesGraph.d.ts.map +1 -1
- package/dist/tools/generateGoogleSearchQueriesGraph.js +21 -10
- package/dist/tools/generateGoogleSearchQueriesGraph.js.map +1 -1
- package/dist/tools/generateGoogleSearchResultsGraph.d.ts +4 -2
- package/dist/tools/generateGoogleSearchResultsGraph.d.ts.map +1 -1
- package/dist/tools/generateGoogleSearchResultsGraph.js +22 -10
- package/dist/tools/generateGoogleSearchResultsGraph.js.map +1 -1
- package/dist/tools/generateKnowledgeGraph.d.ts +2 -2
- package/dist/tools/generateKnowledgeGraph.d.ts.map +1 -1
- package/dist/tools/generateKnowledgeGraph.js +26 -2
- package/dist/tools/generateKnowledgeGraph.js.map +1 -1
- package/dist/tools/generateMergedGraphFromTexts.d.ts +52 -0
- package/dist/tools/generateMergedGraphFromTexts.d.ts.map +1 -0
- package/dist/tools/generateMergedGraphFromTexts.js +159 -0
- package/dist/tools/generateMergedGraphFromTexts.js.map +1 -0
- package/dist/tools/generateOverlapGraphFromTexts.d.ts +15 -6
- package/dist/tools/generateOverlapGraphFromTexts.d.ts.map +1 -1
- package/dist/tools/generateOverlapGraphFromTexts.js +91 -7
- package/dist/tools/generateOverlapGraphFromTexts.js.map +1 -1
- package/dist/tools/generateResearchIdeas.d.ts +4 -2
- package/dist/tools/generateResearchIdeas.d.ts.map +1 -1
- package/dist/tools/generateResearchIdeas.js +54 -13
- package/dist/tools/generateResearchIdeas.js.map +1 -1
- package/dist/tools/generateResearchQuestions.d.ts +3 -2
- package/dist/tools/generateResearchQuestions.d.ts.map +1 -1
- package/dist/tools/generateResearchQuestions.js +44 -9
- package/dist/tools/generateResearchQuestions.js.map +1 -1
- package/dist/tools/generateResponses.d.ts +34 -0
- package/dist/tools/generateResponses.d.ts.map +1 -0
- package/dist/tools/generateResponses.js +110 -0
- package/dist/tools/generateResponses.js.map +1 -0
- package/dist/tools/generateSEOGraphTool.d.ts +2 -0
- package/dist/tools/generateSEOGraphTool.d.ts.map +1 -1
- package/dist/tools/generateSEOGraphTool.js +16 -75
- package/dist/tools/generateSEOGraphTool.js.map +1 -1
- package/dist/tools/generateTopicalClusters.d.ts +3 -2
- package/dist/tools/generateTopicalClusters.d.ts.map +1 -1
- package/dist/tools/generateTopicalClusters.js +38 -10
- package/dist/tools/generateTopicalClusters.js.map +1 -1
- package/dist/tools/getMemory.d.ts.map +1 -1
- package/dist/tools/getMemory.js +7 -5
- package/dist/tools/getMemory.js.map +1 -1
- package/dist/tools/index.d.ts +4 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/listGraphs.d.ts +1 -1
- package/dist/tools/listGraphs.d.ts.map +1 -1
- package/dist/tools/listGraphs.js +7 -5
- package/dist/tools/listGraphs.js.map +1 -1
- package/dist/tools/optimizeTextStructure.d.ts +34 -0
- package/dist/tools/optimizeTextStructure.d.ts.map +1 -0
- package/dist/tools/optimizeTextStructure.js +108 -0
- package/dist/tools/optimizeTextStructure.js.map +1 -0
- package/dist/types/index.d.ts +23 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/transformers.d.ts +2 -1
- package/dist/utils/transformers.d.ts.map +1 -1
- package/dist/utils/transformers.js +39 -1
- package/dist/utils/transformers.js.map +1 -1
- package/dist/utils/urlContent.d.ts +35 -0
- package/dist/utils/urlContent.d.ts.map +1 -0
- package/dist/utils/urlContent.js +87 -0
- package/dist/utils/urlContent.js.map +1 -0
- package/llms-full.txt +469 -0
- package/llms.txt +64 -0
- package/package.json +5 -2
package/dist/http-server.js
CHANGED
|
@@ -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 (
|
|
64
|
-
console.log(`[AUTH]
|
|
65
|
-
|
|
66
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
|
146
|
-
|
|
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 (
|
|
209
|
-
if (!redirect_uri || !redirect_uri
|
|
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 -
|
|
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
|
-
|
|
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
|
|
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.
|
|
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 -
|
|
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
|
-
|
|
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}`);
|
package/dist/http-server.js.map
CHANGED
|
@@ -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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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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,
|
|
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
|
|
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
|
-
|
|
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(
|
|
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,
|
|
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"}
|