@cyanheads/pubmed-mcp-server 2.3.2 → 2.3.4

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 (26) hide show
  1. package/CLAUDE.md +1 -1
  2. package/README.md +5 -2
  3. package/dist/config/server-config.js +1 -1
  4. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts +3 -0
  5. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts.map +1 -1
  6. package/dist/mcp-server/tools/definitions/format-citations.tool.js +21 -2
  7. package/dist/mcp-server/tools/definitions/format-citations.tool.js.map +1 -1
  8. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts +6 -0
  9. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js +28 -6
  11. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts +23 -0
  13. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/search-articles.tool.js +110 -16
  15. package/dist/mcp-server/tools/definitions/search-articles.tool.js.map +1 -1
  16. package/dist/services/ncbi/api-client.d.ts.map +1 -1
  17. package/dist/services/ncbi/api-client.js +20 -6
  18. package/dist/services/ncbi/api-client.js.map +1 -1
  19. package/dist/services/ncbi/ncbi-service.d.ts +6 -1
  20. package/dist/services/ncbi/ncbi-service.d.ts.map +1 -1
  21. package/dist/services/ncbi/ncbi-service.js +35 -12
  22. package/dist/services/ncbi/ncbi-service.js.map +1 -1
  23. package/dist/services/ncbi/types.d.ts +4 -0
  24. package/dist/services/ncbi/types.d.ts.map +1 -1
  25. package/package.json +10 -7
  26. package/server.json +3 -3
package/CLAUDE.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Agent Protocol
2
2
 
3
3
  **Server:** @cyanheads/pubmed-mcp-server
4
- **Version:** 2.3.2
4
+ **Version:** 2.3.4
5
5
  **Framework:** [@cyanheads/mcp-ts-core](https://www.npmjs.com/package/@cyanheads/mcp-ts-core)
6
6
 
7
7
  > **Read the framework docs first:** `node_modules/@cyanheads/mcp-ts-core/CLAUDE.md` contains the full API reference — builders, Context, error codes, exports, patterns. This file covers server-specific conventions only.
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <div align="center">
9
9
 
10
- [![npm](https://img.shields.io/npm/v/@cyanheads/pubmed-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/pubmed-mcp-server) [![Version](https://img.shields.io/badge/Version-2.3.2-blue.svg?style=flat-square)](./CHANGELOG.md) [![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-259?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.27.1-green.svg?style=flat-square)](https://modelcontextprotocol.io/)
10
+ [![npm](https://img.shields.io/npm/v/@cyanheads/pubmed-mcp-server?style=flat-square&logo=npm&logoColor=white)](https://www.npmjs.com/package/@cyanheads/pubmed-mcp-server) [![Version](https://img.shields.io/badge/Version-2.3.3-blue.svg?style=flat-square)](./CHANGELOG.md) [![Framework](https://img.shields.io/badge/Built%20on-@cyanheads/mcp--ts--core-259?style=flat-square)](https://www.npmjs.com/package/@cyanheads/mcp-ts-core) [![MCP SDK](https://img.shields.io/badge/MCP%20SDK-^1.27.1-green.svg?style=flat-square)](https://modelcontextprotocol.io/)
11
11
 
12
12
  [![License](https://img.shields.io/badge/License-Apache%202.0-orange.svg?style=flat-square)](./LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-^6.0.2-3178C6.svg?style=flat-square)](https://www.typescriptlang.org/) [![Bun](https://img.shields.io/badge/Bun-v1.3.2-blueviolet.svg?style=flat-square)](https://bun.sh/)
13
13
 
@@ -49,6 +49,7 @@ Search PubMed with full NCBI query syntax and filters.
49
49
  - Sort by relevance, publication date, author, or journal
50
50
  - Pagination via offset for paging through large result sets
51
51
  - Optional brief summaries for top N results via ESummary
52
+ - Returns the original query plus the fully applied PubMed query and normalized filter metadata
52
53
 
53
54
  ---
54
55
 
@@ -86,6 +87,7 @@ Generate formatted citations for articles.
86
87
  - Request multiple styles per article in a single call
87
88
  - Hand-rolled formatters — zero external dependencies, fully Workers-compatible
88
89
  - Up to 50 articles per request
90
+ - Reports formatted counts and unavailable PMIDs for partial-result handling
89
91
 
90
92
  ---
91
93
 
@@ -126,6 +128,7 @@ Resolve partial bibliographic references to PubMed IDs via NCBI ECitMatch.
126
128
  - More fields = better match accuracy; at least one field required
127
129
  - Batch up to 25 citations per request
128
130
  - Deterministic matching — more reliable than free-text search for known references
131
+ - Returns explicit `matched`, `not_found`, and `ambiguous` statuses with recovery detail
129
132
 
130
133
  ---
131
134
 
@@ -281,7 +284,7 @@ All configuration is validated at startup via Zod schemas in `src/config/server-
281
284
  | `NCBI_API_KEY` | NCBI API key for higher rate limits (10 req/s vs 3 req/s) | none |
282
285
  | `NCBI_ADMIN_EMAIL` | Contact email sent with NCBI requests (recommended by NCBI) | none |
283
286
  | `NCBI_REQUEST_DELAY_MS` | Delay between NCBI requests in ms | 334 (100 with key) |
284
- | `NCBI_MAX_RETRIES` | Retry attempts for failed NCBI requests | 3 |
287
+ | `NCBI_MAX_RETRIES` | Retry attempts for failed NCBI requests | 6 |
285
288
  | `NCBI_TIMEOUT_MS` | NCBI request timeout in ms | `30000` |
286
289
  | `OTEL_ENABLED` | Enable OpenTelemetry | `false` |
287
290
 
@@ -15,7 +15,7 @@ const ServerConfigSchema = z.object({
15
15
  /** Minimum delay between NCBI requests in ms. NCBI requires ~334ms without API key. */
16
16
  requestDelayMs: z.coerce.number().min(50).max(5000).default(334).describe('Request delay in ms'),
17
17
  /** Maximum retry attempts for failed NCBI requests. */
18
- maxRetries: z.coerce.number().min(0).max(10).default(3).describe('Max retry attempts'),
18
+ maxRetries: z.coerce.number().min(0).max(10).default(6).describe('Max retry attempts'),
19
19
  /** Request timeout in ms. */
20
20
  timeoutMs: z.coerce
21
21
  .number()
@@ -18,5 +18,8 @@ export declare const formatCitationsTool: import("@cyanheads/mcp-ts-core").ToolD
18
18
  title: z.ZodOptional<z.ZodString>;
19
19
  citations: z.ZodRecord<z.ZodString, z.ZodString>;
20
20
  }, z.core.$strip>>;
21
+ totalSubmitted: z.ZodNumber;
22
+ totalFormatted: z.ZodNumber;
23
+ unavailablePmids: z.ZodOptional<z.ZodArray<z.ZodString>>;
21
24
  }, z.core.$strip>>;
22
25
  //# sourceMappingURL=format-citations.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-citations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-citations.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAUjD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;kBAmE9B,CAAC"}
1
+ {"version":3,"file":"format-citations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-citations.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAUjD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;kBAuF9B,CAAC"}
@@ -26,6 +26,12 @@ export const formatCitationsTool = tool('pubmed_format_citations', {
26
26
  citations: z.record(z.string(), z.string()).describe('Citations keyed by style'),
27
27
  }))
28
28
  .describe('Citations per article'),
29
+ totalSubmitted: z.number().describe('Number of PMIDs submitted for citation formatting'),
30
+ totalFormatted: z.number().describe('Number of PMIDs successfully formatted'),
31
+ unavailablePmids: z
32
+ .array(z.string())
33
+ .optional()
34
+ .describe('Requested PMIDs that did not return article metadata'),
29
35
  }),
30
36
  async handler(input, ctx) {
31
37
  ctx.log.debug('Fetching articles for citation generation', {
@@ -45,10 +51,23 @@ export const formatCitationsTool = tool('pubmed_format_citations', {
45
51
  citations: formatCitations(parsed, input.styles),
46
52
  };
47
53
  });
48
- return { citations };
54
+ const returnedPmids = new Set(citations.map((entry) => entry.pmid));
55
+ const unavailablePmids = input.pmids.filter((pmid) => !returnedPmids.has(pmid));
56
+ return {
57
+ citations,
58
+ totalSubmitted: input.pmids.length,
59
+ totalFormatted: citations.length,
60
+ ...(unavailablePmids.length > 0 && { unavailablePmids }),
61
+ };
49
62
  },
50
63
  format: (result) => {
51
- const lines = ['# PubMed Citations'];
64
+ const lines = [
65
+ '# PubMed Citations',
66
+ `**Formatted:** ${result.totalFormatted}/${result.totalSubmitted}`,
67
+ ];
68
+ if (result.unavailablePmids?.length) {
69
+ lines.push(`**Unavailable PMIDs:** ${result.unavailablePmids.join(', ')}`);
70
+ }
52
71
  for (const entry of result.citations) {
53
72
  lines.push(`\n## PMID ${entry.pmid}`);
54
73
  if (entry.title)
@@ -1 +1 @@
1
- {"version":3,"file":"format-citations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-citations.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-citations.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-citations.tool.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,12 @@ export declare const lookupCitationTool: import("@cyanheads/mcp-ts-core").ToolDe
18
18
  key: z.ZodString;
19
19
  pmid: z.ZodOptional<z.ZodString>;
20
20
  matched: z.ZodBoolean;
21
+ status: z.ZodEnum<{
22
+ matched: "matched";
23
+ not_found: "not_found";
24
+ ambiguous: "ambiguous";
25
+ }>;
26
+ detail: z.ZodOptional<z.ZodString>;
21
27
  }, z.core.$strip>>;
22
28
  totalMatched: z.ZodNumber;
23
29
  totalSubmitted: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-citation.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-citation.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;kBAkG7B,CAAC"}
1
+ {"version":3,"file":"lookup-citation.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-citation.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;kBAyH7B,CAAC"}
@@ -37,6 +37,13 @@ export const lookupCitationTool = tool('pubmed_lookup_citation', {
37
37
  key: z.string().describe('Citation tracking key'),
38
38
  pmid: z.string().optional().describe('Matched PubMed ID'),
39
39
  matched: z.boolean().describe('Whether a PMID was found'),
40
+ status: z
41
+ .enum(['matched', 'not_found', 'ambiguous'])
42
+ .describe('Lookup outcome classification for this citation'),
43
+ detail: z
44
+ .string()
45
+ .optional()
46
+ .describe('Additional detail returned by ECitMatch for non-exact matches'),
40
47
  }))
41
48
  .describe('Match results, one per input citation'),
42
49
  totalMatched: z.number().describe('Number of citations with PMID matches'),
@@ -61,7 +68,9 @@ export const lookupCitationTool = tool('pubmed_lookup_citation', {
61
68
  const mapped = results.map((r) => ({
62
69
  key: r.key,
63
70
  matched: r.matched,
71
+ status: r.status,
64
72
  ...(r.pmid && { pmid: r.pmid }),
73
+ ...(r.detail && { detail: r.detail }),
65
74
  }));
66
75
  const totalMatched = mapped.filter((r) => r.matched).length;
67
76
  ctx.log.info('pubmed_lookup_citation completed', {
@@ -74,14 +83,27 @@ export const lookupCitationTool = tool('pubmed_lookup_citation', {
74
83
  const lines = [
75
84
  `## Citation Lookup Results`,
76
85
  `**Matched:** ${result.totalMatched}/${result.totalSubmitted}`,
77
- '',
78
- '| Key | PMID | Status |',
79
- '|:---|:---|:---|',
80
86
  ];
81
87
  for (const r of result.results) {
82
- const pmid = r.pmid ?? '-';
83
- const status = r.matched ? 'Matched' : 'No match';
84
- lines.push(`| ${r.key} | ${pmid} | ${status} |`);
88
+ lines.push(`\n### ${r.key}`);
89
+ if (r.pmid)
90
+ lines.push(`**PMID:** ${r.pmid}`);
91
+ if (r.status === 'matched') {
92
+ lines.push(`**Status:** Matched`);
93
+ lines.push(`**Next Step:** PMID is ready for downstream PubMed fetch or citation tools.`);
94
+ continue;
95
+ }
96
+ if (r.status === 'ambiguous') {
97
+ lines.push(`**Status:** Ambiguous`);
98
+ if (r.detail)
99
+ lines.push(`**Detail:** ${r.detail}`);
100
+ lines.push(`**Next Step:** Add more citation fields such as journal, year, volume, firstPage, or authorName, then retry.`);
101
+ continue;
102
+ }
103
+ lines.push(`**Status:** No match`);
104
+ if (r.detail)
105
+ lines.push(`**Detail:** ${r.detail}`);
106
+ lines.push(`**Next Step:** Verify the citation details or try pubmed_search_articles.`);
85
107
  }
86
108
  return [{ type: 'text', text: lines.join('\n') }];
87
109
  },
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-citation.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-citation.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup-citation.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-citation.tool.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,29 @@ export declare const searchArticlesTool: import("@cyanheads/mcp-ts-core").ToolDe
37
37
  summaryCount: z.ZodDefault<z.ZodNumber>;
38
38
  }, z.core.$strip>, z.ZodObject<{
39
39
  query: z.ZodString;
40
+ effectiveQuery: z.ZodString;
41
+ appliedFilters: z.ZodObject<{
42
+ dateRange: z.ZodOptional<z.ZodObject<{
43
+ minDate: z.ZodString;
44
+ maxDate: z.ZodString;
45
+ dateType: z.ZodEnum<{
46
+ pdat: "pdat";
47
+ mdat: "mdat";
48
+ edat: "edat";
49
+ }>;
50
+ }, z.core.$strip>>;
51
+ publicationTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
52
+ author: z.ZodOptional<z.ZodString>;
53
+ journal: z.ZodOptional<z.ZodString>;
54
+ meshTerms: z.ZodOptional<z.ZodArray<z.ZodString>>;
55
+ language: z.ZodOptional<z.ZodString>;
56
+ hasAbstract: z.ZodOptional<z.ZodBoolean>;
57
+ freeFullText: z.ZodOptional<z.ZodBoolean>;
58
+ species: z.ZodOptional<z.ZodEnum<{
59
+ humans: "humans";
60
+ animals: "animals";
61
+ }>>;
62
+ }, z.core.$strip>;
40
63
  totalFound: z.ZodNumber;
41
64
  offset: z.ZodNumber;
42
65
  pmids: z.ZodArray<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"search-articles.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAKjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoM7B,CAAC"}
1
+ {"version":3,"file":"search-articles.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAsCjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8Q7B,CAAC"}
@@ -7,6 +7,38 @@ import { tool, z } from '@cyanheads/mcp-ts-core';
7
7
  import { sanitization } from '@cyanheads/mcp-ts-core/utils';
8
8
  import { getNcbiService } from '../../../services/ncbi/ncbi-service.js';
9
9
  import { extractBriefSummaries } from '../../../services/ncbi/parsing/esummary-parser.js';
10
+ const AppliedFiltersSchema = z.object({
11
+ dateRange: z
12
+ .object({
13
+ minDate: z.string().describe('Applied minimum date'),
14
+ maxDate: z.string().describe('Applied maximum date'),
15
+ dateType: z
16
+ .enum(['pdat', 'mdat', 'edat'])
17
+ .describe('Applied date field used for the range filter'),
18
+ })
19
+ .optional()
20
+ .describe('Date range filter applied to the search'),
21
+ publicationTypes: z
22
+ .array(z.string())
23
+ .optional()
24
+ .describe('Publication type filters applied to the search'),
25
+ author: z.string().optional().describe('Author filter applied to the search'),
26
+ journal: z.string().optional().describe('Journal filter applied to the search'),
27
+ meshTerms: z.array(z.string()).optional().describe('MeSH term filters applied to the search'),
28
+ language: z.string().optional().describe('Language filter applied to the search'),
29
+ hasAbstract: z
30
+ .boolean()
31
+ .optional()
32
+ .describe('Whether results were restricted to articles with abstracts'),
33
+ freeFullText: z
34
+ .boolean()
35
+ .optional()
36
+ .describe('Whether results were restricted to free full-text articles'),
37
+ species: z
38
+ .enum(['humans', 'animals'])
39
+ .optional()
40
+ .describe('Species filter applied to the search'),
41
+ });
10
42
  export const searchArticlesTool = tool('pubmed_search_articles', {
11
43
  description: 'Search PubMed with full query syntax, filters, and date ranges. Returns PMIDs and optional brief summaries. ' +
12
44
  'Supports field-specific filters (author, journal, MeSH terms), common filters (language, species, free full text), ' +
@@ -52,6 +84,10 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
52
84
  }),
53
85
  output: z.object({
54
86
  query: z.string().describe('Original query'),
87
+ effectiveQuery: z
88
+ .string()
89
+ .describe('Sanitized query sent to PubMed after applying all active filters'),
90
+ appliedFilters: AppliedFiltersSchema.describe('Normalized filter values that were applied to the PubMed query'),
55
91
  totalFound: z.number().describe('Total matching articles'),
56
92
  offset: z.number().describe('Result offset used'),
57
93
  pmids: z.array(z.string()).describe('PubMed IDs'),
@@ -74,27 +110,41 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
74
110
  ctx.log.info('Executing pubmed_search', { query: input.query });
75
111
  const ncbi = getNcbiService();
76
112
  let effectiveQuery = await sanitization.sanitizeString(input.query, { context: 'text' });
113
+ // Build filters — capture normalized values for both query construction and appliedFilters
114
+ let normalizedDateRange;
77
115
  if (input.dateRange?.minDate && input.dateRange?.maxDate) {
78
- const minDate = input.dateRange.minDate.replace(/-/g, '/');
79
- const maxDate = input.dateRange.maxDate.replace(/-/g, '/');
80
- effectiveQuery += ` AND (${minDate}[${input.dateRange.dateType}] : ${maxDate}[${input.dateRange.dateType}])`;
116
+ normalizedDateRange = {
117
+ minDate: input.dateRange.minDate.trim().replace(/[-.]/g, '/'),
118
+ maxDate: input.dateRange.maxDate.trim().replace(/[-.]/g, '/'),
119
+ dateType: input.dateRange.dateType,
120
+ };
121
+ effectiveQuery += ` AND (${normalizedDateRange.minDate}[${normalizedDateRange.dateType}] : ${normalizedDateRange.maxDate}[${normalizedDateRange.dateType}])`;
81
122
  }
123
+ let sanitizedPubTypes;
82
124
  if (input.publicationTypes?.length) {
83
- const sanitizedPts = await Promise.all(input.publicationTypes.map((pt) => sanitization.sanitizeString(pt, { context: 'text' })));
84
- const ptQuery = sanitizedPts.map((pt) => `"${pt}"[Publication Type]`).join(' OR ');
85
- effectiveQuery += ` AND (${ptQuery})`;
125
+ sanitizedPubTypes = await Promise.all(input.publicationTypes.map((pt) => sanitization.sanitizeString(pt, { context: 'text' })));
126
+ effectiveQuery += ` AND (${sanitizedPubTypes.map((pt) => `"${pt}"[Publication Type]`).join(' OR ')})`;
127
+ }
128
+ let sanitizedAuthor;
129
+ if (input.author) {
130
+ sanitizedAuthor = await sanitization.sanitizeString(input.author, { context: 'text' });
131
+ effectiveQuery += ` AND ${sanitizedAuthor}[Author]`;
132
+ }
133
+ let sanitizedJournal;
134
+ if (input.journal) {
135
+ sanitizedJournal = await sanitization.sanitizeString(input.journal, { context: 'text' });
136
+ effectiveQuery += ` AND "${sanitizedJournal}"[Journal]`;
86
137
  }
87
- if (input.author)
88
- effectiveQuery += ` AND ${await sanitization.sanitizeString(input.author, { context: 'text' })}[Author]`;
89
- if (input.journal)
90
- effectiveQuery += ` AND "${await sanitization.sanitizeString(input.journal, { context: 'text' })}"[Journal]`;
138
+ let sanitizedMeshTerms;
91
139
  if (input.meshTerms?.length) {
92
- const sanitizedTerms = await Promise.all(input.meshTerms.map((term) => sanitization.sanitizeString(term, { context: 'text' })));
93
- const meshQuery = sanitizedTerms.map((term) => `"${term}"[MeSH Terms]`).join(' AND ');
94
- effectiveQuery += ` AND (${meshQuery})`;
140
+ sanitizedMeshTerms = await Promise.all(input.meshTerms.map((term) => sanitization.sanitizeString(term, { context: 'text' })));
141
+ effectiveQuery += ` AND (${sanitizedMeshTerms.map((term) => `"${term}"[MeSH Terms]`).join(' AND ')})`;
142
+ }
143
+ let sanitizedLanguage;
144
+ if (input.language) {
145
+ sanitizedLanguage = await sanitization.sanitizeString(input.language, { context: 'text' });
146
+ effectiveQuery += ` AND ${sanitizedLanguage}[Language]`;
95
147
  }
96
- if (input.language)
97
- effectiveQuery += ` AND ${await sanitization.sanitizeString(input.language, { context: 'text' })}[Language]`;
98
148
  if (input.hasAbstract)
99
149
  effectiveQuery += ' AND hasabstract[text word]';
100
150
  if (input.freeFullText)
@@ -120,7 +170,7 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
120
170
  if (esResult.webEnv && esResult.queryKey) {
121
171
  eSummaryParams.WebEnv = esResult.webEnv;
122
172
  eSummaryParams.query_key = esResult.queryKey;
123
- eSummaryParams.retmax = input.summaryCount;
173
+ eSummaryParams.retmax = Math.min(input.summaryCount, pmids.length);
124
174
  eSummaryParams.retstart = input.offset;
125
175
  }
126
176
  else {
@@ -143,12 +193,25 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
143
193
  }
144
194
  }
145
195
  const searchUrl = `https://pubmed.ncbi.nlm.nih.gov/?term=${encodeURIComponent(effectiveQuery)}`;
196
+ const appliedFilters = {
197
+ ...(normalizedDateRange && { dateRange: normalizedDateRange }),
198
+ ...(sanitizedPubTypes?.length && { publicationTypes: sanitizedPubTypes }),
199
+ ...(sanitizedAuthor && { author: sanitizedAuthor }),
200
+ ...(sanitizedJournal && { journal: sanitizedJournal }),
201
+ ...(sanitizedMeshTerms?.length && { meshTerms: sanitizedMeshTerms }),
202
+ ...(sanitizedLanguage && { language: sanitizedLanguage }),
203
+ ...(input.hasAbstract && { hasAbstract: true }),
204
+ ...(input.freeFullText && { freeFullText: true }),
205
+ ...(input.species && { species: input.species }),
206
+ };
146
207
  ctx.log.info('pubmed_search completed', {
147
208
  totalFound: esResult.count,
148
209
  pmidCount: pmids.length,
149
210
  });
150
211
  return {
151
212
  query: input.query,
213
+ effectiveQuery,
214
+ appliedFilters,
152
215
  totalFound: esResult.count,
153
216
  offset: input.offset,
154
217
  pmids,
@@ -160,9 +223,40 @@ export const searchArticlesTool = tool('pubmed_search_articles', {
160
223
  const lines = [
161
224
  `## PubMed Search Results`,
162
225
  `**Query:** ${result.query}`,
226
+ `**Effective Query:** ${result.effectiveQuery}`,
163
227
  `**Total Found:** ${result.totalFound} | **Returned:** ${result.pmids.length} | **Offset:** ${result.offset}`,
164
228
  `**Search URL:** ${result.searchUrl}`,
165
229
  ];
230
+ if (Object.keys(result.appliedFilters).length > 0) {
231
+ lines.push('\n### Applied Filters');
232
+ if (result.appliedFilters.dateRange) {
233
+ lines.push(`- **Date Range (${result.appliedFilters.dateRange.dateType}):** ${result.appliedFilters.dateRange.minDate} to ${result.appliedFilters.dateRange.maxDate}`);
234
+ }
235
+ if (result.appliedFilters.publicationTypes?.length) {
236
+ lines.push(`- **Publication Types:** ${result.appliedFilters.publicationTypes.join(', ')}`);
237
+ }
238
+ if (result.appliedFilters.author) {
239
+ lines.push(`- **Author:** ${result.appliedFilters.author}`);
240
+ }
241
+ if (result.appliedFilters.journal) {
242
+ lines.push(`- **Journal:** ${result.appliedFilters.journal}`);
243
+ }
244
+ if (result.appliedFilters.meshTerms?.length) {
245
+ lines.push(`- **MeSH Terms:** ${result.appliedFilters.meshTerms.join(', ')}`);
246
+ }
247
+ if (result.appliedFilters.language) {
248
+ lines.push(`- **Language:** ${result.appliedFilters.language}`);
249
+ }
250
+ if (result.appliedFilters.hasAbstract) {
251
+ lines.push(`- **Has Abstract:** Yes`);
252
+ }
253
+ if (result.appliedFilters.freeFullText) {
254
+ lines.push(`- **Free Full Text:** Yes`);
255
+ }
256
+ if (result.appliedFilters.species) {
257
+ lines.push(`- **Species:** ${result.appliedFilters.species}`);
258
+ }
259
+ }
166
260
  if (result.pmids.length > 0)
167
261
  lines.push(`\n**PMIDs:** ${result.pmids.join(', ')}`);
168
262
  if (result.summaries?.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"search-articles.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-articles.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/search-articles.tool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAwB,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKnG,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAElD,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC;IAqClB;;;;;OAKG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA0ClF,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;CASpB"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAwB,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKnG,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB;IAElD,WAAW,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,MAAM,CAAC;IAyClB;;;;;OAKG;IACG,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8ClF,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,WAAW;CASpB"}
@@ -32,9 +32,16 @@ export class NcbiApiClient {
32
32
  ? await this.postRequest(url, finalParams)
33
33
  : await this.getRequest(url, finalParams);
34
34
  if (!response.ok) {
35
- const code = response.status >= 400 && response.status < 500
36
- ? JsonRpcErrorCode.InvalidRequest
37
- : JsonRpcErrorCode.ServiceUnavailable;
35
+ let code;
36
+ if (response.status === 429) {
37
+ code = JsonRpcErrorCode.RateLimited;
38
+ }
39
+ else if (response.status >= 500) {
40
+ code = JsonRpcErrorCode.ServiceUnavailable;
41
+ }
42
+ else {
43
+ code = JsonRpcErrorCode.InvalidRequest;
44
+ }
38
45
  throw new McpError(code, `NCBI API returned HTTP ${response.status}.`, {
39
46
  endpoint,
40
47
  status: response.status,
@@ -75,9 +82,16 @@ export class NcbiApiClient {
75
82
  });
76
83
  const body = await response.text();
77
84
  if (!response.ok) {
78
- const code = response.status >= 400 && response.status < 500
79
- ? JsonRpcErrorCode.InvalidRequest
80
- : JsonRpcErrorCode.ServiceUnavailable;
85
+ let code;
86
+ if (response.status === 429) {
87
+ code = JsonRpcErrorCode.RateLimited;
88
+ }
89
+ else if (response.status >= 500) {
90
+ code = JsonRpcErrorCode.ServiceUnavailable;
91
+ }
92
+ else {
93
+ code = JsonRpcErrorCode.InvalidRequest;
94
+ }
81
95
  throw new McpError(code, `NCBI API returned HTTP ${response.status}: ${body.substring(0, 300)}`, { url, status: response.status, body: body.substring(0, 500) });
82
96
  }
83
97
  return body;
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/services/ncbi/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../../src/services/ncbi/api-client.ts"],"names":[],"mappings":"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"}
@@ -36,9 +36,14 @@ export declare class NcbiService {
36
36
  * Accepts up to 200 IDs in a single request. Only works for articles in PMC.
37
37
  */
38
38
  idConvert(ids: string[], idtype?: string): Promise<IdConvertRecord[]>;
39
+ /** Error codes that are transient and worth retrying with backoff. */
40
+ private static readonly RETRYABLE_CODES;
41
+ /** Maximum backoff delay per retry (prevents exponential explosion at high retry counts). */
42
+ private static readonly MAX_BACKOFF_MS;
39
43
  /**
40
- * Retry wrapper for transient NCBI errors (ServiceUnavailable, Timeout).
44
+ * Retry wrapper for transient NCBI errors (ServiceUnavailable, Timeout, RateLimited).
41
45
  * Non-transient errors (validation, serialization) fail immediately.
46
+ * Uses capped exponential backoff with jitter.
42
47
  */
43
48
  private withRetry;
44
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ncbi-service.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/ncbi-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAElB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACnB,KAAK,eAAe,EAGpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHV,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,MAAM;IAG/B,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB1D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAQlE,MAAM,CAAC,CAAC,GAAG;QAAE,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;KAAE,EACnD,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,kBAAuC,GAC/C,OAAO,CAAC,CAAC,CAAC;IAMb,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAInE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAsB9D,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD;;;OAGG;IACG,SAAS,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA6B3E;;;OAGG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA+B3E;;;OAGG;YACW,SAAS;IAuCvB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAevB;AAMD,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,IAAI,CAgBtC;AAED,mEAAmE;AACnE,wBAAgB,cAAc,IAAI,WAAW,CAG5C"}
1
+ {"version":3,"file":"ncbi-service.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/ncbi-service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAElB,KAAK,YAAY,EAEjB,KAAK,cAAc,EACnB,KAAK,eAAe,EAGpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,qBAAa,WAAW;IAEpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAHV,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,MAAM;IAG/B,OAAO,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAmB1D,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,CAAC;IAQlE,MAAM,CAAC,CAAC,GAAG;QAAE,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;KAAE,EACnD,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,kBAAuC,GAC/C,OAAO,CAAC,CAAC,CAAC;IAMb,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC;IAInE,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC;IAsB9D,KAAK,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAIlD;;;OAGG;IACG,SAAS,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA8C3E;;;OAGG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IA+B3E,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAIpC;IAEH,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEhD;;;;OAIG;YACW,SAAS;IAoCvB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;CAevB;AAMD,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,IAAI,CAgBtC;AAED,mEAAmE;AACnE,wBAAgB,cAAc,IAAI,WAAW,CAG5C"}
@@ -93,11 +93,26 @@ export class NcbiService {
93
93
  .map((line) => {
94
94
  const parts = line.split('|');
95
95
  const key = parts[5]?.trim() ?? '';
96
- const pmidField = parts[6]?.trim() ?? '';
97
- const pmid = pmidField && !pmidField.startsWith('NOT_FOUND') && !pmidField.startsWith('AMBIGUOUS')
98
- ? pmidField
99
- : null;
100
- return { key, matched: pmid !== null, pmid };
96
+ const rawOutcome = parts[6]?.trim() ?? '';
97
+ if (/^\d+$/.test(rawOutcome)) {
98
+ return { key, matched: true, pmid: rawOutcome, status: 'matched' };
99
+ }
100
+ if (rawOutcome.startsWith('AMBIGUOUS')) {
101
+ return {
102
+ key,
103
+ matched: false,
104
+ pmid: null,
105
+ status: 'ambiguous',
106
+ detail: rawOutcome,
107
+ };
108
+ }
109
+ return {
110
+ key,
111
+ matched: false,
112
+ pmid: null,
113
+ status: 'not_found',
114
+ ...(rawOutcome && { detail: rawOutcome }),
115
+ };
101
116
  });
102
117
  }
103
118
  /**
@@ -120,9 +135,18 @@ export class NcbiService {
120
135
  }
121
136
  return parsed.records ?? [];
122
137
  }
138
+ /** Error codes that are transient and worth retrying with backoff. */
139
+ static RETRYABLE_CODES = new Set([
140
+ JsonRpcErrorCode.ServiceUnavailable,
141
+ JsonRpcErrorCode.Timeout,
142
+ JsonRpcErrorCode.RateLimited,
143
+ ]);
144
+ /** Maximum backoff delay per retry (prevents exponential explosion at high retry counts). */
145
+ static MAX_BACKOFF_MS = 30_000;
123
146
  /**
124
- * Retry wrapper for transient NCBI errors (ServiceUnavailable, Timeout).
147
+ * Retry wrapper for transient NCBI errors (ServiceUnavailable, Timeout, RateLimited).
125
148
  * Non-transient errors (validation, serialization) fail immediately.
149
+ * Uses capped exponential backoff with jitter.
126
150
  */
127
151
  async withRetry(execute, label) {
128
152
  for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
@@ -130,14 +154,13 @@ export class NcbiService {
130
154
  return await execute();
131
155
  }
132
156
  catch (error) {
133
- if (error instanceof McpError) {
134
- if (error.code !== JsonRpcErrorCode.ServiceUnavailable &&
135
- error.code !== JsonRpcErrorCode.Timeout) {
136
- throw error;
137
- }
157
+ if (error instanceof McpError && !NcbiService.RETRYABLE_CODES.has(error.code)) {
158
+ throw error;
138
159
  }
139
160
  if (attempt < this.maxRetries) {
140
- const retryDelay = 1000 * 2 ** attempt; // 1s, 2s, 4s
161
+ const baseDelay = Math.min(1000 * 2 ** attempt, NcbiService.MAX_BACKOFF_MS);
162
+ const jitter = baseDelay * (0.75 + 0.5 * Math.random()); // ±25%
163
+ const retryDelay = Math.round(jitter);
141
164
  logger.warning(`NCBI request to ${label} failed. Retrying (${attempt + 1}/${this.maxRetries}) in ${retryDelay}ms.`, { endpoint: label, attempt: attempt + 1, retryDelay });
142
165
  await new Promise((r) => setTimeout(r, retryDelay));
143
166
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"ncbi-service.js","sourceRoot":"","sources":["../../../src/services/ncbi/ncbi-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ncbi-service.js","sourceRoot":"","sources":["../../../src/services/ncbi/ncbi-service.ts"],"names":[],"mappings":"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"}
@@ -612,12 +612,16 @@ export interface ECitMatchCitation {
612
612
  }
613
613
  /** Single result from ECitMatch lookup. */
614
614
  export interface ECitMatchResult {
615
+ /** Raw non-match detail returned by ECitMatch when present */
616
+ detail?: string;
615
617
  /** The tracking key from the input citation */
616
618
  key: string;
617
619
  /** Whether a PMID was found */
618
620
  matched: boolean;
619
621
  /** Matched PubMed ID, or null if no match */
620
622
  pmid: string | null;
623
+ /** Lookup outcome classification for recovery guidance */
624
+ status: 'matched' | 'not_found' | 'ambiguous';
621
625
  }
622
626
  /** Single record from the PMC ID Converter API response. */
623
627
  export interface IdConvertRecord {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/pubmed-mcp-server",
3
- "version": "2.3.2",
3
+ "version": "2.3.4",
4
4
  "mcpName": "io.github.cyanheads/pubmed-mcp-server",
5
5
  "description": "MCP server for PubMed/NCBI E-utilities integration. Search articles, fetch metadata, generate citations, explore MeSH terms, and discover related research.",
6
6
  "type": "module",
@@ -67,28 +67,31 @@
67
67
  "access": "public"
68
68
  },
69
69
  "overrides": {
70
+ "@hono/node-server": ">=1.19.13",
70
71
  "brace-expansion": ">=2.0.3",
71
72
  "express-rate-limit": ">=8.2.2",
72
- "hono": ">=4.12.7",
73
+ "hono": ">=4.12.12",
73
74
  "path-to-regexp": ">=8.4.0",
74
75
  "picomatch": ">=4.0.4",
76
+ "vite": ">=8.0.8",
75
77
  "yaml": ">=2.8.3",
76
78
  "lodash": ">=4.17.24"
77
79
  },
78
80
  "dependencies": {
79
- "@cyanheads/mcp-ts-core": "^0.2.12",
80
- "fast-xml-parser": "^5.5.10",
81
+ "@cyanheads/mcp-ts-core": "^0.3.4",
82
+ "fast-xml-parser": "^5.5.11",
81
83
  "pino-pretty": "^13.1.3",
82
84
  "sanitize-html": "^2.17.2"
83
85
  },
84
86
  "devDependencies": {
85
- "@biomejs/biome": "^2.4.10",
86
- "@types/node": "^25.5.2",
87
+ "@biomejs/biome": "^2.4.11",
88
+ "@types/node": "^25.6.0",
87
89
  "@types/sanitize-html": "^2.16.1",
90
+ "@vitest/coverage-istanbul": "^4.1.4",
88
91
  "depcheck": "^1.4.7",
89
92
  "ignore": "^7.0.5",
90
93
  "tsc-alias": "^1.8.16",
91
94
  "typescript": "^6.0.2",
92
- "vitest": "^4.1.2"
95
+ "vitest": "^4.1.4"
93
96
  }
94
97
  }
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/pubmed-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "2.3.2",
9
+ "version": "2.3.4",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -19,7 +19,7 @@
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/pubmed-mcp-server",
21
21
  "runtimeHint": "bun",
22
- "version": "2.3.2",
22
+ "version": "2.3.4",
23
23
  "packageArguments": [
24
24
  {
25
25
  "type": "positional",
@@ -60,7 +60,7 @@
60
60
  "registryBaseUrl": "https://registry.npmjs.org",
61
61
  "identifier": "@cyanheads/pubmed-mcp-server",
62
62
  "runtimeHint": "bun",
63
- "version": "2.3.2",
63
+ "version": "2.3.4",
64
64
  "packageArguments": [
65
65
  {
66
66
  "type": "positional",