megasearch-mcp 1.0.0 → 1.0.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +53 -8
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* "mcpServers": {
|
|
14
14
|
* "megasearch": {
|
|
15
15
|
* "command": "npx",
|
|
16
|
-
* "args": ["megasearch-mcp
|
|
16
|
+
* "args": ["megasearch-mcp"],
|
|
17
17
|
* "env": {
|
|
18
18
|
* "MEGASEARCH_CLIENT_ID": "mcp_xxx",
|
|
19
19
|
* "MEGASEARCH_CLIENT_SECRET": "your_secret",
|
|
@@ -70,13 +70,32 @@ async function getAccessToken() {
|
|
|
70
70
|
return tokenCache.accessToken;
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
|
-
* Execute search via MegaSearch REST API
|
|
73
|
+
* Execute search via MegaSearch REST API with progress notifications
|
|
74
74
|
*/
|
|
75
|
-
async function executeSearch(query) {
|
|
75
|
+
async function executeSearch(query, progressToken, sendProgress) {
|
|
76
76
|
const accessToken = await getAccessToken();
|
|
77
|
+
// Send initial progress
|
|
78
|
+
await sendProgress(0, 100, "Starting search...");
|
|
77
79
|
const controller = new AbortController();
|
|
78
80
|
const timeoutId = setTimeout(() => controller.abort(), config.timeout);
|
|
81
|
+
// Start a progress ticker to keep the connection alive
|
|
82
|
+
// Send progress updates every 10 seconds
|
|
83
|
+
let progressValue = 5;
|
|
84
|
+
const progressInterval = setInterval(async () => {
|
|
85
|
+
progressValue = Math.min(progressValue + 5, 90);
|
|
86
|
+
const messages = [
|
|
87
|
+
"Querying search engines...",
|
|
88
|
+
"Analyzing results...",
|
|
89
|
+
"Extracting content...",
|
|
90
|
+
"Synthesizing answer...",
|
|
91
|
+
"Processing sources...",
|
|
92
|
+
"Finalizing response...",
|
|
93
|
+
];
|
|
94
|
+
const msgIndex = Math.floor((progressValue / 100) * messages.length);
|
|
95
|
+
await sendProgress(progressValue, 100, messages[Math.min(msgIndex, messages.length - 1)]);
|
|
96
|
+
}, 10000);
|
|
79
97
|
try {
|
|
98
|
+
await sendProgress(10, 100, "Sending query to MegaSearch...");
|
|
80
99
|
const response = await fetch(`${config.baseUrl}/api/v1/search`, {
|
|
81
100
|
method: "POST",
|
|
82
101
|
headers: {
|
|
@@ -87,13 +106,13 @@ async function executeSearch(query) {
|
|
|
87
106
|
signal: controller.signal,
|
|
88
107
|
});
|
|
89
108
|
clearTimeout(timeoutId);
|
|
109
|
+
clearInterval(progressInterval);
|
|
90
110
|
if (!response.ok) {
|
|
91
111
|
const errorData = await response.json().catch(() => ({}));
|
|
92
112
|
const detail = errorData.detail ||
|
|
93
113
|
errorData.message ||
|
|
94
114
|
response.statusText;
|
|
95
115
|
if (response.status === 401) {
|
|
96
|
-
// Token might be invalid, clear cache and retry once
|
|
97
116
|
tokenCache = null;
|
|
98
117
|
throw new Error("Authentication failed. Please check your credentials.");
|
|
99
118
|
}
|
|
@@ -105,10 +124,14 @@ async function executeSearch(query) {
|
|
|
105
124
|
}
|
|
106
125
|
throw new Error(`Search failed: ${response.status} - ${detail}`);
|
|
107
126
|
}
|
|
108
|
-
|
|
127
|
+
await sendProgress(95, 100, "Formatting results...");
|
|
128
|
+
const result = (await response.json());
|
|
129
|
+
await sendProgress(100, 100, "Search complete!");
|
|
130
|
+
return result;
|
|
109
131
|
}
|
|
110
132
|
catch (error) {
|
|
111
133
|
clearTimeout(timeoutId);
|
|
134
|
+
clearInterval(progressInterval);
|
|
112
135
|
if (error instanceof Error && error.name === "AbortError") {
|
|
113
136
|
throw new Error(`Search timed out after ${config.timeout / 1000} seconds`);
|
|
114
137
|
}
|
|
@@ -174,7 +197,8 @@ const SEARCH_TOOL = {
|
|
|
174
197
|
description: "Search the web for any information using MegaSearch. " +
|
|
175
198
|
"Fires multiple search engines in parallel, extracts content, " +
|
|
176
199
|
"analyzes results, and synthesizes a comprehensive answer with citations. " +
|
|
177
|
-
"Just provide your question - the system handles everything else."
|
|
200
|
+
"Just provide your question - the system handles everything else. " +
|
|
201
|
+
"Note: Comprehensive searches may take 30-60 seconds.",
|
|
178
202
|
inputSchema: {
|
|
179
203
|
type: "object",
|
|
180
204
|
properties: {
|
|
@@ -203,7 +227,8 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
|
203
227
|
});
|
|
204
228
|
// Handle tool calls
|
|
205
229
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
206
|
-
const { name, arguments: args } = request.params;
|
|
230
|
+
const { name, arguments: args, _meta } = request.params;
|
|
231
|
+
const progressToken = _meta?.progressToken;
|
|
207
232
|
if (name !== "search") {
|
|
208
233
|
return {
|
|
209
234
|
content: [
|
|
@@ -227,8 +252,28 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
227
252
|
isError: true,
|
|
228
253
|
};
|
|
229
254
|
}
|
|
255
|
+
// Create progress sender function
|
|
256
|
+
const sendProgress = async (progress, total, message) => {
|
|
257
|
+
if (progressToken !== undefined) {
|
|
258
|
+
try {
|
|
259
|
+
await server.notification({
|
|
260
|
+
method: "notifications/progress",
|
|
261
|
+
params: {
|
|
262
|
+
progressToken,
|
|
263
|
+
progress,
|
|
264
|
+
total,
|
|
265
|
+
message,
|
|
266
|
+
},
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
catch (e) {
|
|
270
|
+
// Ignore notification errors - client may not support progress
|
|
271
|
+
console.error("Progress notification failed:", e);
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
230
275
|
try {
|
|
231
|
-
const result = await executeSearch(query.trim());
|
|
276
|
+
const result = await executeSearch(query.trim(), progressToken, sendProgress);
|
|
232
277
|
const formatted = formatSearchResponse(result);
|
|
233
278
|
return {
|
|
234
279
|
content: [
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|