paperplain-mcp 1.2.4 → 1.2.5
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/package.json +1 -1
- package/server.js +6 -3
package/package.json
CHANGED
package/server.js
CHANGED
|
@@ -268,7 +268,7 @@ async function searchSemanticScholar(query, maxResults) {
|
|
|
268
268
|
// ── MCP Server ─────────────────────────────────────────────────────────────
|
|
269
269
|
const server = new McpServer({
|
|
270
270
|
name: "paperplain",
|
|
271
|
-
version: "1.2.
|
|
271
|
+
version: "1.2.5",
|
|
272
272
|
description:
|
|
273
273
|
"Search 200M+ peer-reviewed papers from PubMed, ArXiv, and Semantic Scholar. Returns papers with full abstracts — use your own model to synthesize findings.",
|
|
274
274
|
});
|
|
@@ -337,8 +337,11 @@ Use the returned abstracts to synthesize findings, answer the user's question, o
|
|
|
337
337
|
let pubmedPapers = await safePubMed(query, max_results);
|
|
338
338
|
if (pubmedPapers.length < max_results) {
|
|
339
339
|
const s2 = await safeS2(query, max_results - pubmedPapers.length);
|
|
340
|
-
const
|
|
341
|
-
|
|
340
|
+
const seenUrls = new Set(pubmedPapers.map((p) => p.url));
|
|
341
|
+
const seenDois = new Set(pubmedPapers.map((p) => p.doi).filter(Boolean));
|
|
342
|
+
for (const p of s2) {
|
|
343
|
+
if (!seenUrls.has(p.url) && !(p.doi && seenDois.has(p.doi))) pubmedPapers.push(p);
|
|
344
|
+
}
|
|
342
345
|
}
|
|
343
346
|
papers = pubmedPapers.slice(0, max_results);
|
|
344
347
|
} else if (resolvedDomain === "cs") {
|