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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/server.js +6 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paperplain-mcp",
3
- "version": "1.2.4",
3
+ "version": "1.2.5",
4
4
  "description": "MCP server — search 200M+ peer-reviewed papers from PubMed, ArXiv, and Semantic Scholar. Free. No API key.",
5
5
  "type": "module",
6
6
  "bin": {
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.4",
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 seen = new Set(pubmedPapers.map((p) => p.id));
341
- for (const p of s2) if (!seen.has(p.id)) pubmedPapers.push(p);
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") {