@cyanheads/pubmed-mcp-server 2.10.18 → 2.10.20

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 (121) hide show
  1. package/AGENTS.md +16 -15
  2. package/CLAUDE.md +16 -15
  3. package/Dockerfile +86 -36
  4. package/README.md +86 -109
  5. package/changelog/2.10.x/2.10.19.md +42 -0
  6. package/changelog/2.10.x/2.10.20.md +63 -0
  7. package/dist/mcp-server/resources/definitions/database-info.resource.d.ts +43 -1
  8. package/dist/mcp-server/resources/definitions/database-info.resource.d.ts.map +1 -1
  9. package/dist/mcp-server/resources/definitions/database-info.resource.js +2 -0
  10. package/dist/mcp-server/resources/definitions/database-info.resource.js.map +1 -1
  11. package/dist/mcp-server/tools/definitions/_text.d.ts.map +1 -1
  12. package/dist/mcp-server/tools/definitions/_text.js +10 -5
  13. package/dist/mcp-server/tools/definitions/_text.js.map +1 -1
  14. package/dist/mcp-server/tools/definitions/_visible-text.d.ts +19 -0
  15. package/dist/mcp-server/tools/definitions/_visible-text.d.ts.map +1 -0
  16. package/dist/mcp-server/tools/definitions/_visible-text.js +22 -0
  17. package/dist/mcp-server/tools/definitions/_visible-text.js.map +1 -0
  18. package/dist/mcp-server/tools/definitions/convert-ids.tool.d.ts +11 -4
  19. package/dist/mcp-server/tools/definitions/convert-ids.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/convert-ids.tool.js +1 -1
  21. package/dist/mcp-server/tools/definitions/convert-ids.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts +20 -7
  23. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/fetch-articles.tool.js +68 -15
  25. package/dist/mcp-server/tools/definitions/fetch-articles.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts +37 -12
  27. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js +590 -481
  29. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts +5 -5
  31. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/definitions/find-related.tool.js +31 -13
  33. package/dist/mcp-server/tools/definitions/find-related.tool.js.map +1 -1
  34. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts +11 -4
  35. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts.map +1 -1
  36. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts +26 -21
  37. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts.map +1 -1
  38. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js +109 -55
  39. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js.map +1 -1
  40. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts +15 -7
  41. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts.map +1 -1
  42. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js +19 -11
  43. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js.map +1 -1
  44. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts +20 -2
  45. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts.map +1 -1
  46. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.js +98 -14
  47. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.js.map +1 -1
  48. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts +21 -6
  49. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts.map +1 -1
  50. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js +42 -10
  51. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js.map +1 -1
  52. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts +42 -18
  53. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts.map +1 -1
  54. package/dist/mcp-server/tools/definitions/search-articles.tool.js +220 -48
  55. package/dist/mcp-server/tools/definitions/search-articles.tool.js.map +1 -1
  56. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts +15 -7
  57. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts.map +1 -1
  58. package/dist/mcp-server/tools/definitions/spell-check.tool.js +13 -9
  59. package/dist/mcp-server/tools/definitions/spell-check.tool.js.map +1 -1
  60. package/dist/services/error-contracts.d.ts +43 -72
  61. package/dist/services/error-contracts.d.ts.map +1 -1
  62. package/dist/services/error-contracts.js +44 -76
  63. package/dist/services/error-contracts.js.map +1 -1
  64. package/dist/services/europe-pmc/api-client.d.ts +8 -2
  65. package/dist/services/europe-pmc/api-client.d.ts.map +1 -1
  66. package/dist/services/europe-pmc/api-client.js +13 -8
  67. package/dist/services/europe-pmc/api-client.js.map +1 -1
  68. package/dist/services/europe-pmc/europe-pmc-service.d.ts +25 -2
  69. package/dist/services/europe-pmc/europe-pmc-service.d.ts.map +1 -1
  70. package/dist/services/europe-pmc/europe-pmc-service.js +90 -25
  71. package/dist/services/europe-pmc/europe-pmc-service.js.map +1 -1
  72. package/dist/services/europe-pmc/types.d.ts +6 -1
  73. package/dist/services/europe-pmc/types.d.ts.map +1 -1
  74. package/dist/services/ncbi/api-client.d.ts.map +1 -1
  75. package/dist/services/ncbi/api-client.js +2 -3
  76. package/dist/services/ncbi/api-client.js.map +1 -1
  77. package/dist/services/ncbi/formatting/citation-formatter.d.ts +24 -0
  78. package/dist/services/ncbi/formatting/citation-formatter.d.ts.map +1 -1
  79. package/dist/services/ncbi/formatting/citation-formatter.js +147 -46
  80. package/dist/services/ncbi/formatting/citation-formatter.js.map +1 -1
  81. package/dist/services/ncbi/ncbi-service.d.ts +18 -2
  82. package/dist/services/ncbi/ncbi-service.d.ts.map +1 -1
  83. package/dist/services/ncbi/ncbi-service.js +182 -90
  84. package/dist/services/ncbi/ncbi-service.js.map +1 -1
  85. package/dist/services/ncbi/parsing/article-parser.d.ts +15 -1
  86. package/dist/services/ncbi/parsing/article-parser.d.ts.map +1 -1
  87. package/dist/services/ncbi/parsing/article-parser.js +67 -29
  88. package/dist/services/ncbi/parsing/article-parser.js.map +1 -1
  89. package/dist/services/ncbi/parsing/esummary-parser.d.ts +9 -0
  90. package/dist/services/ncbi/parsing/esummary-parser.d.ts.map +1 -1
  91. package/dist/services/ncbi/parsing/esummary-parser.js +26 -2
  92. package/dist/services/ncbi/parsing/esummary-parser.js.map +1 -1
  93. package/dist/services/ncbi/parsing/pmc-article-parser.d.ts.map +1 -1
  94. package/dist/services/ncbi/parsing/pmc-article-parser.js +395 -147
  95. package/dist/services/ncbi/parsing/pmc-article-parser.js.map +1 -1
  96. package/dist/services/ncbi/parsing/pmc-xml-helpers.d.ts +73 -5
  97. package/dist/services/ncbi/parsing/pmc-xml-helpers.d.ts.map +1 -1
  98. package/dist/services/ncbi/parsing/pmc-xml-helpers.js +223 -27
  99. package/dist/services/ncbi/parsing/pmc-xml-helpers.js.map +1 -1
  100. package/dist/services/ncbi/parsing/text-helpers.d.ts +8 -6
  101. package/dist/services/ncbi/parsing/text-helpers.d.ts.map +1 -1
  102. package/dist/services/ncbi/parsing/text-helpers.js +95 -19
  103. package/dist/services/ncbi/parsing/text-helpers.js.map +1 -1
  104. package/dist/services/ncbi/response-handler.d.ts +20 -12
  105. package/dist/services/ncbi/response-handler.d.ts.map +1 -1
  106. package/dist/services/ncbi/response-handler.js +134 -38
  107. package/dist/services/ncbi/response-handler.js.map +1 -1
  108. package/dist/services/ncbi/types.d.ts +35 -2
  109. package/dist/services/ncbi/types.d.ts.map +1 -1
  110. package/dist/services/openalex/api-client.d.ts.map +1 -1
  111. package/dist/services/openalex/api-client.js +6 -7
  112. package/dist/services/openalex/api-client.js.map +1 -1
  113. package/dist/services/openalex/openalex-service.d.ts +10 -6
  114. package/dist/services/openalex/openalex-service.d.ts.map +1 -1
  115. package/dist/services/openalex/openalex-service.js +14 -12
  116. package/dist/services/openalex/openalex-service.js.map +1 -1
  117. package/dist/services/unpaywall/unpaywall-service.d.ts.map +1 -1
  118. package/dist/services/unpaywall/unpaywall-service.js +1 -3
  119. package/dist/services/unpaywall/unpaywall-service.js.map +1 -1
  120. package/package.json +16 -13
  121. package/server.json +10 -24
@@ -1 +1 @@
1
- {"version":3,"file":"find-related.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-related.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"find-related.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-related.tool.ts"],"names":[],"mappings":"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"}
@@ -40,15 +40,22 @@ export declare const formatCitationsTool: import("@cyanheads/mcp-ts-core").ToolD
40
40
  }, {
41
41
  readonly reason: 'ncbi_unreachable';
42
42
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
43
- readonly when: 'NCBI E-utilities is unreachable after all retry attempts.';
44
- readonly recovery: 'Retry after a brief delay; NCBI was unreachable across all retry attempts.';
43
+ readonly when: 'NCBI E-utilities failed on every attempt the retry budget allowed — retries ran out, or the next backoff would overrun the total deadline.';
44
+ readonly recovery: 'Retry after a brief delay; NCBI failed on every attempt this call made.';
45
+ readonly retryable: true;
46
+ readonly thrownBy: 'service';
47
+ }, {
48
+ readonly reason: 'ncbi_rate_limited';
49
+ readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
50
+ readonly when: 'NCBI answered HTTP 429 (too many requests) and the call stopped on it — retries ran out, the next backoff would overrun the total deadline, or the Retry-After NCBI named outlasts the time left or the 30-second backoff cap.';
51
+ readonly recovery: "Wait as long as `retryAfter` says when present (a number of seconds or an HTTP date), otherwise a few seconds, then retry; NCBI is throttling this server's requests. If the server runs without NCBI_API_KEY, setting it raises the E-utilities ceiling from about 3 to about 10 requests per second and shortens the default gap between requests — an operator setting in the server's environment, not a tool input.";
45
52
  readonly retryable: true;
46
53
  readonly thrownBy: 'service';
47
54
  }, {
48
55
  readonly reason: 'ncbi_deadline_exceeded';
49
56
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Timeout;
50
- readonly when: 'Total request deadline expired before NCBI returned a response.';
51
- readonly recovery: 'Reduce batch size or retry; NCBI may be under temporary load.';
57
+ readonly when: 'The total NCBI request deadline expired before NCBI answered successfully — mid-request, while queued, or during a retry backoff.';
58
+ readonly recovery: 'Retry after a brief delay; NCBI may be under temporary load. For a large batch, split it into smaller calls.';
52
59
  readonly retryable: true;
53
60
  readonly thrownBy: 'service';
54
61
  }, {
@@ -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;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAwBjD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkI9B,CAAC"}
1
+ {"version":3,"file":"format-citations.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/format-citations.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAwBjD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkI9B,CAAC"}
@@ -3,27 +3,25 @@
3
3
  * to PubMed IDs using NCBI's ECitMatch service, then verifies author agreement
4
4
  * against ESummary to catch cases where ECitMatch's journal+volume+page weighting
5
5
  * returns a PMID whose author roster doesn't contain the queried author.
6
- * `citations` takes an array or a single citation object, and `citation` is
7
- * accepted as an alias for it.
6
+ * `citations` is advertised as an array of 1–25 citations. A lone citation
7
+ * object is wrapped into a one-element array before validation, and `citation`
8
+ * is accepted as an alias for `citations`. Every citation-shape rule lives in
9
+ * the schema, so a citation that cannot match is rejected under its
10
+ * `citations.N.<field>` path before ECitMatch is called: `year` is four digits,
11
+ * the other bibliographic fields hold a visible character, and each citation
12
+ * carries a journal or a year.
8
13
  * @module src/mcp-server/tools/definitions/lookup-citation.tool
9
14
  */
10
15
  import { z } from '@cyanheads/mcp-ts-core';
11
16
  export declare const lookupCitationTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
12
- citations: z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
13
- journal: z.ZodOptional<z.ZodString>;
14
- year: z.ZodOptional<z.ZodString>;
15
- volume: z.ZodOptional<z.ZodString>;
16
- firstPage: z.ZodOptional<z.ZodString>;
17
- authorName: z.ZodOptional<z.ZodString>;
18
- key: z.ZodOptional<z.ZodString>;
19
- }, z.core.$strip>>, z.ZodObject<{
20
- journal: z.ZodOptional<z.ZodString>;
21
- year: z.ZodOptional<z.ZodString>;
22
- volume: z.ZodOptional<z.ZodString>;
23
- firstPage: z.ZodOptional<z.ZodString>;
24
- authorName: z.ZodOptional<z.ZodString>;
25
- key: z.ZodOptional<z.ZodString>;
26
- }, z.core.$strip>]>;
17
+ citations: z.ZodPreprocess<z.ZodArray<z.ZodObject<{
18
+ journal: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
19
+ year: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
20
+ volume: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
21
+ firstPage: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
22
+ authorName: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
23
+ key: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
24
+ }, z.core.$strip>>, unknown>;
27
25
  }, z.core.$strip>, z.ZodObject<{
28
26
  results: z.ZodArray<z.ZodObject<{
29
27
  key: z.ZodString;
@@ -58,15 +56,22 @@ export declare const lookupCitationTool: import("@cyanheads/mcp-ts-core").ToolDe
58
56
  }, {
59
57
  readonly reason: 'ncbi_unreachable';
60
58
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
61
- readonly when: 'NCBI E-utilities is unreachable after all retry attempts.';
62
- readonly recovery: 'Retry after a brief delay; NCBI was unreachable across all retry attempts.';
59
+ readonly when: 'NCBI E-utilities failed on every attempt the retry budget allowed — retries ran out, or the next backoff would overrun the total deadline.';
60
+ readonly recovery: 'Retry after a brief delay; NCBI failed on every attempt this call made.';
61
+ readonly retryable: true;
62
+ readonly thrownBy: 'service';
63
+ }, {
64
+ readonly reason: 'ncbi_rate_limited';
65
+ readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
66
+ readonly when: 'NCBI answered HTTP 429 (too many requests) and the call stopped on it — retries ran out, the next backoff would overrun the total deadline, or the Retry-After NCBI named outlasts the time left or the 30-second backoff cap.';
67
+ readonly recovery: "Wait as long as `retryAfter` says when present (a number of seconds or an HTTP date), otherwise a few seconds, then retry; NCBI is throttling this server's requests. If the server runs without NCBI_API_KEY, setting it raises the E-utilities ceiling from about 3 to about 10 requests per second and shortens the default gap between requests — an operator setting in the server's environment, not a tool input.";
63
68
  readonly retryable: true;
64
69
  readonly thrownBy: 'service';
65
70
  }, {
66
71
  readonly reason: 'ncbi_deadline_exceeded';
67
72
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Timeout;
68
- readonly when: 'Total request deadline expired before NCBI returned a response.';
69
- readonly recovery: 'Reduce batch size or retry; NCBI may be under temporary load.';
73
+ readonly when: 'The total NCBI request deadline expired before NCBI answered successfully — mid-request, while queued, or during a retry backoff.';
74
+ readonly recovery: 'Retry after a brief delay; NCBI may be under temporary load. For a large batch, split it into smaller calls.';
70
75
  readonly retryable: true;
71
76
  readonly thrownBy: 'service';
72
77
  }, {
@@ -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;;;;;;;;GAQG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAyFjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAqR7B,CAAC"}
1
+ {"version":3,"file":"lookup-citation.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-citation.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA2IjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwS7B,CAAC"}
@@ -3,8 +3,13 @@
3
3
  * to PubMed IDs using NCBI's ECitMatch service, then verifies author agreement
4
4
  * against ESummary to catch cases where ECitMatch's journal+volume+page weighting
5
5
  * returns a PMID whose author roster doesn't contain the queried author.
6
- * `citations` takes an array or a single citation object, and `citation` is
7
- * accepted as an alias for it.
6
+ * `citations` is advertised as an array of 1–25 citations. A lone citation
7
+ * object is wrapped into a one-element array before validation, and `citation`
8
+ * is accepted as an alias for `citations`. Every citation-shape rule lives in
9
+ * the schema, so a citation that cannot match is rejected under its
10
+ * `citations.N.<field>` path before ECitMatch is called: `year` is four digits,
11
+ * the other bibliographic fields hold a visible character, and each citation
12
+ * carries a journal or a year.
8
13
  * @module src/mcp-server/tools/definitions/lookup-citation.tool
9
14
  */
10
15
  import { tool, z } from '@cyanheads/mcp-ts-core';
@@ -12,6 +17,7 @@ import { NCBI_SERVICE_ERRORS } from '../../../services/error-contracts.js';
12
17
  import { getNcbiService } from '../../../services/ncbi/ncbi-service.js';
13
18
  import { extractBriefSummaries } from '../../../services/ncbi/parsing/esummary-parser.js';
14
19
  import { conceptMeta, EDAM_DATA_RETRIEVAL, EDAM_PUBMED_ID, SCHEMA_SCHOLARLY_ARTICLE, } from './_concepts.js';
20
+ import { hasVisibleText } from './_visible-text.js';
15
21
  /** Extract the surname token (first whitespace-separated part) from an author string. */
16
22
  function surname(name) {
17
23
  return name.trim().split(/\s+/)[0]?.toLowerCase() ?? '';
@@ -29,73 +35,118 @@ function surname(name) {
29
35
  * wire (the service submits positional tokens instead), so it stays free-form.
30
36
  */
31
37
  const BDATA_FIELD_RE = /^[^|\r\n]*$/;
32
- const BDATA_FIELD_HINT = 'Cannot contain a pipe ("|") or a line break.';
33
- const BDATA_FIELD_ERROR = `${BDATA_FIELD_HINT} Those characters shift ECitMatch's field layout — remove them or replace them with a space.`;
38
+ const BDATA_FIELD_ERROR = 'Cannot contain a pipe ("|") or a line break. Those characters shift ECitMatch\'s field layout — remove them or replace them with a space.';
39
+ const TEXT_FIELD_HINT = 'Must contain a visible character, and cannot contain a pipe ("|") or a line break.';
40
+ const VISIBLE_TEXT_ERROR = 'Must contain a visible character. Omit the field rather than sending only spaces or invisible characters.';
41
+ /**
42
+ * The only year ECitMatch matches on: four ASCII digits, padding with spaces or
43
+ * tabs tolerated. Every other form — `1991a`, `91`, `1991-1992`, `1991 May` —
44
+ * misses, and a journal-less citation carrying one makes ECitMatch drop that
45
+ * line and every line after it. No CR or LF, so the bdata layout rule above
46
+ * holds for this field too. (#187)
47
+ */
48
+ const YEAR_RE = /^[ \t]*\d{4}[ \t]*$/;
49
+ /**
50
+ * A safe integer sent for a string field, read as its decimal string — the
51
+ * framework's own repair rule (a safe integer other than `-0`), applied here
52
+ * because that repair cannot reach a lone citation object: it re-reads the
53
+ * failing path `citations.0.year` against the raw arguments, where `citations`
54
+ * is still the object this schema wraps. Converting before validation gives the
55
+ * object and array forms the same citation. Anything else passes through to be
56
+ * rejected as before. (#198)
57
+ */
58
+ const integerAsString = (value) => typeof value === 'number' && Number.isSafeInteger(value) && !Object.is(value, -0)
59
+ ? String(value)
60
+ : value;
61
+ /**
62
+ * An exactly-empty string from a form client means "unset", never a value to
63
+ * validate: it parses to `undefined` before the field's checks run, so the
64
+ * advertised schema keeps its plain `pattern`. Whitespace and invisible-only
65
+ * values still reach the checks and are rejected. An integer is read as its
66
+ * decimal string first. (#187, #198)
67
+ */
68
+ const blankAsUnset = (schema) => z.preprocess((value) => {
69
+ const read = integerAsString(value);
70
+ return read === '' ? undefined : read;
71
+ }, schema);
72
+ /**
73
+ * A bibliographic text field: rejected when it would shift the bdata layout or
74
+ * holds no visible character — whitespace or a zero-width space sent as a
75
+ * journal reads as present here but constrains nothing upstream. (#125, #187)
76
+ */
77
+ const textField = () => blankAsUnset(z
78
+ .string()
79
+ .regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
80
+ .refine(hasVisibleText, VISIBLE_TEXT_ERROR)
81
+ .optional());
34
82
  const CitationSchema = z
35
83
  .object({
36
- journal: z
37
- .string()
38
- .regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
39
- .optional()
40
- .describe(`Journal title or ISO abbreviation (e.g., "proc natl acad sci u s a"). ${BDATA_FIELD_HINT}`),
41
- year: z
42
- .string()
43
- .regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
44
- .optional()
45
- .describe(`Publication year (e.g., "1991"). ${BDATA_FIELD_HINT}`),
46
- volume: z
47
- .string()
48
- .regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
49
- .optional()
50
- .describe(`Volume number. ${BDATA_FIELD_HINT}`),
51
- firstPage: z
52
- .string()
53
- .regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
54
- .optional()
55
- .describe(`First page number. ${BDATA_FIELD_HINT}`),
56
- authorName: z
57
- .string()
58
- .regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
59
- .optional()
60
- .describe(`Author name, typically "lastname initials" (e.g., "mann bj"). ${BDATA_FIELD_HINT}`),
84
+ journal: textField().describe(`Journal title or ISO abbreviation (e.g., "proc natl acad sci u s a"). ${TEXT_FIELD_HINT}`),
85
+ year: blankAsUnset(z.string().regex(YEAR_RE, 'Must be a four-digit year, e.g. "1991".').optional()).describe('Publication year as four digits (e.g., "1991").'),
86
+ volume: textField().describe(`Volume number. ${TEXT_FIELD_HINT}`),
87
+ firstPage: textField().describe(`First page number. ${TEXT_FIELD_HINT}`),
88
+ authorName: textField().describe(`Author name, typically "lastname initials" (e.g., "mann bj"). ${TEXT_FIELD_HINT}`),
61
89
  key: z
62
- .string()
63
- .optional()
90
+ .preprocess(integerAsString, z.string().optional())
64
91
  .describe('Arbitrary label to track this citation in results. Auto-assigned if omitted. Echoed back unchanged and never sent to NCBI, so any character is accepted here.'),
65
92
  })
66
- .describe('Citation to match against PubMed. Must include at least journal or year — ECitMatch primary-keys on journal+volume+page, so author-only or volume-only inputs guarantee no match.')
67
- .refine((c) => !!(c.journal || c.year), {
93
+ .describe('Citation to match against PubMed. Must include at least journal or a four-digit year — ECitMatch primary-keys on journal+volume+page, so author-only or volume-only inputs guarantee no match.')
94
+ /**
95
+ * Zod still runs this beside a field that failed its own check, handing it the
96
+ * raw value, so the rule tests the journal and year itself: a whitespace
97
+ * journal or a malformed year never satisfies it. (#187)
98
+ */
99
+ .refine((c) => (c.journal !== undefined && hasVisibleText(c.journal)) ||
100
+ (c.year !== undefined && YEAR_RE.test(c.year)), {
68
101
  message: 'Each citation must include at least a journal or year field — ECitMatch primary-keys on journal+volume+page, so author-only or volume-only inputs guarantee no match.',
69
102
  });
70
103
  /**
71
- * The union issue's own message, in place of Zod's bare `Invalid input`. A value
72
- * that fails only a check inside one branch — a pipe in a field, a missing
73
- * journal and year — keeps that branch's issue and path. A value that fails both
74
- * branches outright (a string, or an array element of the wrong type) is one
75
- * union issue carrying this message, with each branch's issues nested under it.
104
+ * Message for a `citations` value the array check refuses (a string, a number, a
105
+ * missing field, or an array outside 1–25) in place of Zod's bare `expected
106
+ * array`, so the caller learns both shapes that parse. A lone object never
107
+ * reaches this check: it is wrapped first, and its own field issues report under
108
+ * `citations.0`.
76
109
  */
77
110
  const CITATIONS_SHAPE_ERROR = 'Invalid input: expected a citation object or an array of 1–25 citation objects';
111
+ /** A citation sent on its own rather than in an array. JSON input has no other object kind. */
112
+ const isCitationObject = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
78
113
  export const lookupCitationTool = tool('pubmed_lookup_citation', {
79
- description: `Look up PubMed IDs from partial bibliographic citations. Useful when you have a reference (journal, year, volume, page, author) and need the PMID — deterministic citation matching, more reliable than free-text search for structured references. Each citation must include at least journal or year (ECitMatch primary-keys on journal+volume+page; author-only or volume-only inputs guarantee no match); more fields = better match accuracy.`,
114
+ description: `Look up PubMed IDs from partial bibliographic citations. Useful when you have a reference (journal, year, volume, page, author) and need the PMID — deterministic citation matching, more reliable than free-text search for structured references. Each citation must include at least journal or a four-digit year (ECitMatch primary-keys on journal+volume+page; author-only or volume-only inputs guarantee no match); more fields = better match accuracy.`,
80
115
  annotations: { readOnlyHint: true, openWorldHint: true },
81
116
  _meta: conceptMeta([SCHEMA_SCHOLARLY_ARTICLE, EDAM_DATA_RETRIEVAL, EDAM_PUBMED_ID]),
82
117
  sourceUrl: 'https://github.com/cyanheads/pubmed-mcp-server/blob/main/src/mcp-server/tools/definitions/lookup-citation.tool.ts',
83
118
  errors: [...NCBI_SERVICE_ERRORS],
84
- // Never advertised; rewritten to the canonical key before the schema parses.
85
- // A single object usually arrives under this name, which the union below
86
- // accepts. (#156)
119
+ /**
120
+ * Never advertised; rewritten to the canonical key before the schema parses.
121
+ * A single object usually arrives under this name, and `citations` wraps it
122
+ * into a one-element array. (#156)
123
+ */
87
124
  inputAliases: { citation: 'citations' },
88
125
  input: z.object({
126
+ /**
127
+ * The wrap runs before validation and stays off the advertised schema, which
128
+ * remains a plain `type: "array"`. A top-level union would advertise
129
+ * `citations` with no `type` for a client to build the parameter from. (#173)
130
+ *
131
+ * A string is refused here, as one `invalid_type` issue: left to the array,
132
+ * its `length` runs the size checks after the type check fails and the shape
133
+ * message reports twice. The pipe stops on this issue, and its code keeps
134
+ * the framework's "Send citations as an array, not a string." recovery.
135
+ */
89
136
  citations: z
90
- .union([
91
- z
92
- .array(CitationSchema)
93
- .min(1)
94
- .max(25)
95
- .describe('Up to 25 citations, each matched independently.'),
96
- CitationSchema,
97
- ], { error: CITATIONS_SHAPE_ERROR })
98
- .describe('Citations to look up — an array of up to 25, or a single citation object. More fields = better match accuracy.'),
137
+ .preprocess((value, ctx) => {
138
+ if (typeof value === 'string') {
139
+ ctx.issues.push({
140
+ code: 'invalid_type',
141
+ expected: 'array',
142
+ input: value,
143
+ message: CITATIONS_SHAPE_ERROR,
144
+ });
145
+ return value;
146
+ }
147
+ return isCitationObject(value) ? [value] : value;
148
+ }, z.array(CitationSchema, { error: CITATIONS_SHAPE_ERROR }).min(1).max(25))
149
+ .describe('Citations to look up, 1–25, each matched independently. More fields = better match accuracy.'),
99
150
  }),
100
151
  output: z.object({
101
152
  results: z
@@ -140,9 +191,8 @@ export const lookupCitationTool = tool('pubmed_lookup_citation', {
140
191
  .describe('Number of matched citations that carry at least one warning'),
141
192
  }),
142
193
  async handler(input, ctx) {
143
- const submitted = Array.isArray(input.citations) ? input.citations : [input.citations];
144
- ctx.log.info('Executing pubmed_lookup_citation', { count: submitted.length });
145
- const citations = submitted.map((c, i) => ({
194
+ ctx.log.info('Executing pubmed_lookup_citation', { count: input.citations.length });
195
+ const citations = input.citations.map((c, i) => ({
146
196
  journal: c.journal,
147
197
  year: c.year,
148
198
  volume: c.volume,
@@ -159,7 +209,11 @@ export const lookupCitationTool = tool('pubmed_lookup_citation', {
159
209
  const matchedPmids = Array.from(new Set(results.filter((r) => r.matched && r.pmid).map((r) => r.pmid)));
160
210
  const summaryByPmid = new Map();
161
211
  if (matchedPmids.length > 0) {
162
- const summaryResult = await ncbi.eSummary({ db: 'pubmed', id: matchedPmids.join(',') }, { signal: ctx.signal });
212
+ // Version 2.0, because the version 1 DocSum drops what verification
213
+ // needs: it lists a consortium as a `CollectiveName` item the roster
214
+ // never reads, and it has no `DocDate`, so a Bookshelf chapter would be
215
+ // dated by its book's start year. (#199, #201)
216
+ const summaryResult = await ncbi.eSummary({ db: 'pubmed', version: '2.0', retmode: 'xml', id: matchedPmids.join(',') }, { signal: ctx.signal });
163
217
  const summaries = await extractBriefSummaries(summaryResult);
164
218
  for (const s of summaries) {
165
219
  summaryByPmid.set(s.pmid, {
@@ -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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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * @fileoverview MeSH (Medical Subject Headings) vocabulary lookup tool.
3
3
  * Searches the NCBI MeSH database with offset pagination and optionally
4
- * retrieves detailed records. `limit` is accepted as an alias for `maxResults`.
4
+ * retrieves detailed records. `limit`, `retmax`, and `pageSize` are accepted as
5
+ * aliases for `maxResults`, `retstart` for `offset`, and `term` for `query`.
5
6
  * @module src/mcp-server/tools/definitions/lookup-mesh.tool
6
7
  */
7
8
  import { z } from '@cyanheads/mcp-ts-core';
@@ -32,15 +33,22 @@ export declare const lookupMeshTool: import("@cyanheads/mcp-ts-core").ToolDefini
32
33
  }, {
33
34
  readonly reason: 'ncbi_unreachable';
34
35
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
35
- readonly when: 'NCBI E-utilities is unreachable after all retry attempts.';
36
- readonly recovery: 'Retry after a brief delay; NCBI was unreachable across all retry attempts.';
36
+ readonly when: 'NCBI E-utilities failed on every attempt the retry budget allowed — retries ran out, or the next backoff would overrun the total deadline.';
37
+ readonly recovery: 'Retry after a brief delay; NCBI failed on every attempt this call made.';
38
+ readonly retryable: true;
39
+ readonly thrownBy: 'service';
40
+ }, {
41
+ readonly reason: 'ncbi_rate_limited';
42
+ readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
43
+ readonly when: 'NCBI answered HTTP 429 (too many requests) and the call stopped on it — retries ran out, the next backoff would overrun the total deadline, or the Retry-After NCBI named outlasts the time left or the 30-second backoff cap.';
44
+ readonly recovery: "Wait as long as `retryAfter` says when present (a number of seconds or an HTTP date), otherwise a few seconds, then retry; NCBI is throttling this server's requests. If the server runs without NCBI_API_KEY, setting it raises the E-utilities ceiling from about 3 to about 10 requests per second and shortens the default gap between requests — an operator setting in the server's environment, not a tool input.";
37
45
  readonly retryable: true;
38
46
  readonly thrownBy: 'service';
39
47
  }, {
40
48
  readonly reason: 'ncbi_deadline_exceeded';
41
49
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Timeout;
42
- readonly when: 'Total request deadline expired before NCBI returned a response.';
43
- readonly recovery: 'Reduce batch size or retry; NCBI may be under temporary load.';
50
+ readonly when: 'The total NCBI request deadline expired before NCBI answered successfully — mid-request, while queued, or during a retry backoff.';
51
+ readonly recovery: 'Retry after a brief delay; NCBI may be under temporary load. For a large batch, split it into smaller calls.';
44
52
  readonly retryable: true;
45
53
  readonly thrownBy: 'service';
46
54
  }, {
@@ -60,8 +68,8 @@ export declare const lookupMeshTool: import("@cyanheads/mcp-ts-core").ToolDefini
60
68
  }, {
61
69
  readonly reason: 'blank_query';
62
70
  readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
63
- readonly when: 'The query holds no search term once whitespace, and anything the tool strips before searching, are removed — so NCBI would receive a blank term. pubmed_search_articles strips markup, bracketed field tags, and parentheses, so a bare field tag such as `[pdat]` or empty parentheses `()` count as blank there.';
64
- readonly recovery: 'Supply a nonblank search term — a bare field tag or empty parentheses carry none; NCBI cannot search a blank term and retrying the same input will not help.';
71
+ readonly when: 'The query contains no search term: nothing is left once whitespace and invisible characters such as a zero-width space are disregarded. pubmed_search_articles and pubmed_europepmc_search first decode HTML entities and also disregard markup and parentheses, so `()`, `<b></b>`, and `&nbsp;` hold no term there; pubmed_search_articles also disregards bracketed field tags such as `[pdat]`.';
72
+ readonly recovery: 'Supply a nonblank search term; retrying the same blank input will not help.';
65
73
  readonly retryable: false;
66
74
  }], {
67
75
  readonly totalCount: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-mesh.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-mesh.tool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA6GjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyMzB,CAAC"}
1
+ {"version":3,"file":"lookup-mesh.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-mesh.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AA8GjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+MzB,CAAC"}
@@ -1,14 +1,16 @@
1
1
  /**
2
2
  * @fileoverview MeSH (Medical Subject Headings) vocabulary lookup tool.
3
3
  * Searches the NCBI MeSH database with offset pagination and optionally
4
- * retrieves detailed records. `limit` is accepted as an alias for `maxResults`.
4
+ * retrieves detailed records. `limit`, `retmax`, and `pageSize` are accepted as
5
+ * aliases for `maxResults`, `retstart` for `offset`, and `term` for `query`.
5
6
  * @module src/mcp-server/tools/definitions/lookup-mesh.tool
6
7
  */
7
8
  import { tool, z } from '@cyanheads/mcp-ts-core';
8
- import { NCBI_QUERY_INPUT_ERRORS, NCBI_SERVICE_ERRORS } from '../../../services/error-contracts.js';
9
+ import { NCBI_SERVICE_ERRORS, QUERY_INPUT_ERRORS } from '../../../services/error-contracts.js';
9
10
  import { getNcbiService } from '../../../services/ncbi/ncbi-service.js';
10
11
  import { ensureArray, getText } from '../../../services/ncbi/parsing/xml-helpers.js';
11
12
  import { conceptMeta, EDAM_DATA_RETRIEVAL, EDAM_ONTOLOGY_TERMINOLOGY, SCHEMA_DEFINED_TERM, SCHEMA_DEFINED_TERM_SET, } from './_concepts.js';
13
+ import { hasVisibleText } from './_visible-text.js';
12
14
  /**
13
15
  * NCBI Entrez mesh UIDs encode the canonical MeSH DescriptorUI as the ASCII code of the
14
16
  * UI's letter prefix followed by its 6-digit number: D=68, C=67 (supplementary concept),
@@ -100,14 +102,21 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
100
102
  EDAM_DATA_RETRIEVAL,
101
103
  ]),
102
104
  sourceUrl: 'https://github.com/cyanheads/pubmed-mcp-server/blob/main/src/mcp-server/tools/definitions/lookup-mesh.tool.ts',
103
- errors: [...NCBI_SERVICE_ERRORS, ...NCBI_QUERY_INPUT_ERRORS],
104
- // Never advertised; rewritten to the canonical key before the schema parses. (#156)
105
- inputAliases: { limit: 'maxResults' },
105
+ errors: [...NCBI_SERVICE_ERRORS, ...QUERY_INPUT_ERRORS],
106
+ // Never advertised; rewritten to the canonical key before the schema parses.
107
+ // ESearch's own names (`retmax`, `retstart`, `term`) and sibling tools' names. (#156, #190)
108
+ inputAliases: {
109
+ limit: 'maxResults',
110
+ retmax: 'maxResults',
111
+ pageSize: 'maxResults',
112
+ retstart: 'offset',
113
+ term: 'query',
114
+ },
106
115
  input: z.object({
107
116
  query: z
108
117
  .string()
109
118
  .min(1)
110
- .describe('MeSH descriptor name or free-text term to look up. Must carry a term: a blank or whitespace-only value is rejected rather than searched.'),
119
+ .describe('MeSH descriptor name or free-text term to look up. Must carry a term: a value of only whitespace or invisible characters, such as a zero-width space, is rejected rather than searched.'),
111
120
  maxResults: z.number().int().min(1).max(50).default(10).describe('Maximum results'),
112
121
  offset: z
113
122
  .number()
@@ -165,11 +174,10 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
165
174
  ctx.log.debug('MeSH lookup started', { query, maxResults, offset, includeDetails });
166
175
  // ESearch on db=mesh answers a blank term with Count=0 and a WarningList
167
176
  // rather than an error, so the empty-result branch would report "no MeSH
168
- // descriptors matched" for a term that was never really searched. (#133)
169
- if (query.trim().length === 0) {
170
- throw ctx.fail('blank_query', 'The `query` is blank — there is no term to look up.', {
171
- ...ctx.recoveryFor('blank_query'),
172
- });
177
+ // descriptors matched" for a term that was never really searched. Invisible
178
+ // characters such as a zero-width space count as blank. (#133, #176)
179
+ if (!hasVisibleText(query)) {
180
+ throw ctx.fail('blank_query', 'The `query` is blank — there is no term to look up.');
173
181
  }
174
182
  const hasFieldTag = /\[.+\]/.test(query);
175
183
  const callOpts = { signal: ctx.signal };