@cyanheads/pubmed-mcp-server 2.6.4 → 2.6.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 (57) hide show
  1. package/CLAUDE.md +32 -12
  2. package/README.md +1 -1
  3. package/dist/mcp-server/prompts/definitions/research-plan.prompt.d.ts.map +1 -1
  4. package/dist/mcp-server/prompts/definitions/research-plan.prompt.js +1 -1
  5. package/dist/mcp-server/prompts/definitions/research-plan.prompt.js.map +1 -1
  6. package/dist/mcp-server/resources/definitions/database-info.resource.d.ts +1 -1
  7. package/dist/mcp-server/resources/definitions/database-info.resource.d.ts.map +1 -1
  8. package/dist/mcp-server/tools/definitions/_error-contracts.d.ts +38 -0
  9. package/dist/mcp-server/tools/definitions/_error-contracts.d.ts.map +1 -0
  10. package/dist/mcp-server/tools/definitions/_error-contracts.js +42 -0
  11. package/dist/mcp-server/tools/definitions/_error-contracts.js.map +1 -0
  12. package/dist/mcp-server/tools/definitions/convert-ids.tool.d.ts +1 -1
  13. package/dist/mcp-server/tools/definitions/convert-ids.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts +21 -1
  15. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts.map +1 -1
  16. package/dist/mcp-server/tools/definitions/fetch-articles.tool.js +11 -1
  17. package/dist/mcp-server/tools/definitions/fetch-articles.tool.js.map +1 -1
  18. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts +21 -1
  19. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts.map +1 -1
  20. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js +11 -1
  21. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js.map +1 -1
  22. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts +21 -1
  23. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts.map +1 -1
  24. package/dist/mcp-server/tools/definitions/find-related.tool.js +18 -1
  25. package/dist/mcp-server/tools/definitions/find-related.tool.js.map +1 -1
  26. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts +8 -3
  27. package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts.map +1 -1
  28. package/dist/mcp-server/tools/definitions/format-citations.tool.js +9 -7
  29. package/dist/mcp-server/tools/definitions/format-citations.tool.js.map +1 -1
  30. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts +1 -1
  31. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts.map +1 -1
  32. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts +4 -3
  33. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts.map +1 -1
  34. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js +26 -15
  35. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js.map +1 -1
  36. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts +1 -1
  37. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts.map +1 -1
  38. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts +1 -1
  39. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts.map +1 -1
  40. package/dist/services/ncbi/api-client.d.ts.map +1 -1
  41. package/dist/services/ncbi/api-client.js +14 -36
  42. package/dist/services/ncbi/api-client.js.map +1 -1
  43. package/dist/services/ncbi/ncbi-service.d.ts.map +1 -1
  44. package/dist/services/ncbi/ncbi-service.js +24 -19
  45. package/dist/services/ncbi/ncbi-service.js.map +1 -1
  46. package/dist/services/ncbi/request-queue.d.ts.map +1 -1
  47. package/dist/services/ncbi/request-queue.js +9 -9
  48. package/dist/services/ncbi/request-queue.js.map +1 -1
  49. package/dist/services/ncbi/response-handler.d.ts +2 -2
  50. package/dist/services/ncbi/response-handler.d.ts.map +1 -1
  51. package/dist/services/ncbi/response-handler.js +50 -29
  52. package/dist/services/ncbi/response-handler.js.map +1 -1
  53. package/dist/services/unpaywall/unpaywall-service.d.ts.map +1 -1
  54. package/dist/services/unpaywall/unpaywall-service.js +22 -18
  55. package/dist/services/unpaywall/unpaywall-service.js.map +1 -1
  56. package/package.json +4 -3
  57. package/server.json +3 -3
@@ -4,6 +4,7 @@
4
4
  * @module src/mcp-server/tools/definitions/find-related.tool
5
5
  */
6
6
  import { z } from '@cyanheads/mcp-ts-core';
7
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
8
  export declare const findRelatedTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
8
9
  pmid: z.ZodString;
9
10
  relationship: z.ZodDefault<z.ZodEnum<{
@@ -29,5 +30,24 @@ export declare const findRelatedTool: import("@cyanheads/mcp-ts-core").ToolDefin
29
30
  }, z.core.$strip>>;
30
31
  totalFound: z.ZodNumber;
31
32
  notice: z.ZodOptional<z.ZodString>;
32
- }, z.core.$strip>>;
33
+ }, z.core.$strip>, readonly [{
34
+ readonly reason: "queue_full";
35
+ readonly code: JsonRpcErrorCode.RateLimited;
36
+ readonly when: "Local NCBI request queue is at capacity.";
37
+ readonly retryable: true;
38
+ }, {
39
+ readonly reason: "ncbi_unreachable";
40
+ readonly code: JsonRpcErrorCode.ServiceUnavailable;
41
+ readonly when: "NCBI E-utilities is unreachable after all retry attempts.";
42
+ readonly retryable: true;
43
+ }, {
44
+ readonly reason: "ncbi_deadline_exceeded";
45
+ readonly code: JsonRpcErrorCode.Timeout;
46
+ readonly when: "Total request deadline expired before NCBI returned a response.";
47
+ readonly retryable: true;
48
+ }, {
49
+ readonly reason: "elink_error";
50
+ readonly code: JsonRpcErrorCode.ServiceUnavailable;
51
+ readonly when: "NCBI ELink returned an <ERROR> payload for this PMID/relationship pair.";
52
+ }]>;
33
53
  //# sourceMappingURL=find-related.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-related.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-related.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAoCjD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;kBAkM1B,CAAC"}
1
+ {"version":3,"file":"find-related.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/find-related.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAqCjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiN1B,CAAC"}
@@ -4,10 +4,12 @@
4
4
  * @module src/mcp-server/tools/definitions/find-related.tool
5
5
  */
6
6
  import { tool, z } from '@cyanheads/mcp-ts-core';
7
+ import { JsonRpcErrorCode } from '@cyanheads/mcp-ts-core/errors';
7
8
  import { getNcbiService } from '../../../services/ncbi/ncbi-service.js';
8
9
  import { extractBriefSummaries } from '../../../services/ncbi/parsing/esummary-parser.js';
9
10
  import { ensureArray } from '../../../services/ncbi/parsing/xml-helpers.js';
10
11
  import { conceptMeta, EDAM_DATA_RETRIEVAL, SCHEMA_SCHOLARLY_ARTICLE } from './_concepts.js';
12
+ import { NCBI_SERVICE_ERRORS } from './_error-contracts.js';
11
13
  import { pmidStringSchema } from './_schemas.js';
12
14
  function extractValue(field) {
13
15
  if (field === undefined || field === null)
@@ -22,6 +24,14 @@ export const findRelatedTool = tool('pubmed_find_related', {
22
24
  annotations: { readOnlyHint: true, openWorldHint: true },
23
25
  _meta: conceptMeta([SCHEMA_SCHOLARLY_ARTICLE, EDAM_DATA_RETRIEVAL]),
24
26
  sourceUrl: 'https://github.com/cyanheads/pubmed-mcp-server/blob/main/src/mcp-server/tools/definitions/find-related.tool.ts',
27
+ errors: [
28
+ ...NCBI_SERVICE_ERRORS,
29
+ {
30
+ reason: 'elink_error',
31
+ code: JsonRpcErrorCode.ServiceUnavailable,
32
+ when: 'NCBI ELink returned an <ERROR> payload for this PMID/relationship pair.',
33
+ },
34
+ ],
25
35
  input: z.object({
26
36
  pmid: pmidStringSchema.describe('Source PubMed ID'),
27
37
  relationship: z
@@ -83,7 +93,14 @@ export const findRelatedTool = tool('pubmed_find_related', {
83
93
  const eLinkResultsArray = ensureArray(eLinkResult?.eLinkResult);
84
94
  const firstResult = eLinkResultsArray[0];
85
95
  if (firstResult?.ERROR) {
86
- throw new Error(`ELink error: ${typeof firstResult.ERROR === 'string' ? firstResult.ERROR : JSON.stringify(firstResult.ERROR)}`);
96
+ const detail = typeof firstResult.ERROR === 'string'
97
+ ? firstResult.ERROR
98
+ : 'NCBI returned a non-string ERROR payload';
99
+ throw ctx.fail('elink_error', `ELink error: ${detail}`, {
100
+ pmid: input.pmid,
101
+ relationship: input.relationship,
102
+ ncbiError: firstResult.ERROR,
103
+ });
87
104
  }
88
105
  const linkSet = firstResult?.LinkSet;
89
106
  let foundPmids = [];
@@ -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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"}
@@ -6,12 +6,17 @@
6
6
  import { z } from '@cyanheads/mcp-ts-core';
7
7
  export declare const formatCitationsTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
8
8
  pmids: z.ZodArray<z.ZodString>;
9
- styles: z.ZodDefault<z.ZodArray<z.ZodEnum<{
9
+ format: z.ZodDefault<z.ZodUnion<readonly [z.ZodEnum<{
10
10
  apa: "apa";
11
11
  mla: "mla";
12
12
  bibtex: "bibtex";
13
13
  ris: "ris";
14
- }>>>;
14
+ }>, z.ZodArray<z.ZodEnum<{
15
+ apa: "apa";
16
+ mla: "mla";
17
+ bibtex: "bibtex";
18
+ ris: "ris";
19
+ }>>]>>;
15
20
  }, z.core.$strip>, z.ZodObject<{
16
21
  citations: z.ZodArray<z.ZodObject<{
17
22
  pmid: z.ZodString;
@@ -21,5 +26,5 @@ export declare const formatCitationsTool: import("@cyanheads/mcp-ts-core").ToolD
21
26
  totalSubmitted: z.ZodNumber;
22
27
  totalFormatted: z.ZodNumber;
23
28
  unavailablePmids: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
- }, z.core.$strip>>;
29
+ }, z.core.$strip>, undefined>;
25
30
  //# 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;AAYjD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;kBA6F9B,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;AAcjD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;6BAiG9B,CAAC"}
@@ -10,17 +10,18 @@ import { parseFullArticle } from '../../../services/ncbi/parsing/article-parser.
10
10
  import { ensureArray } from '../../../services/ncbi/parsing/xml-helpers.js';
11
11
  import { conceptMeta, EDAM_DATA_FORMATTING, SCHEMA_CREATIVE_WORK } from './_concepts.js';
12
12
  import { pmidStringSchema } from './_schemas.js';
13
+ const CitationStyleEnum = z.enum(['apa', 'mla', 'bibtex', 'ris']);
13
14
  export const formatCitationsTool = tool('pubmed_format_citations', {
14
- description: 'Get formatted citations for PubMed articles in APA, MLA, BibTeX, or RIS format.',
15
+ description: 'Get formatted citations for PubMed articles in one or more styles (APA, MLA, BibTeX, RIS). Pass a single style as a string or multiple as an array.',
15
16
  annotations: { readOnlyHint: true, openWorldHint: true },
16
17
  _meta: conceptMeta([SCHEMA_CREATIVE_WORK, EDAM_DATA_FORMATTING]),
17
18
  sourceUrl: 'https://github.com/cyanheads/pubmed-mcp-server/blob/main/src/mcp-server/tools/definitions/format-citations.tool.ts',
18
19
  input: z.object({
19
20
  pmids: z.array(pmidStringSchema).min(1).max(50).describe('PubMed IDs to cite'),
20
- styles: z
21
- .array(z.enum(['apa', 'mla', 'bibtex', 'ris']))
22
- .default(['apa'])
23
- .describe('Citation styles to generate'),
21
+ format: z
22
+ .union([CitationStyleEnum, z.array(CitationStyleEnum).min(1)])
23
+ .default('apa')
24
+ .describe('Citation format(s) to generate — single style as a string or multiple as an array. Allowed values: apa, mla, bibtex, ris.'),
24
25
  }),
25
26
  output: z.object({
26
27
  citations: z
@@ -40,9 +41,10 @@ export const formatCitationsTool = tool('pubmed_format_citations', {
40
41
  .describe('Requested PMIDs that did not return article metadata'),
41
42
  }),
42
43
  async handler(input, ctx) {
44
+ const formats = Array.isArray(input.format) ? input.format : [input.format];
43
45
  ctx.log.debug('Fetching articles for citation generation', {
44
46
  pmids: input.pmids,
45
- styles: input.styles,
47
+ formats,
46
48
  });
47
49
  const raw = await getNcbiService().eFetch({ db: 'pubmed', id: input.pmids.join(','), retmode: 'xml' }, { retmode: 'xml', usePost: input.pmids.length >= 25, signal: ctx.signal });
48
50
  const xmlArticles = ensureArray(raw?.PubmedArticleSet?.PubmedArticle);
@@ -51,7 +53,7 @@ export const formatCitationsTool = tool('pubmed_format_citations', {
51
53
  return {
52
54
  pmid: parsed.pmid,
53
55
  title: parsed.title,
54
- citations: formatCitations(parsed, input.styles),
56
+ citations: formatCitations(parsed, formats),
55
57
  };
56
58
  });
57
59
  const returnedPmids = new Set(citations.map((entry) => entry.pmid));
@@ -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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"}
@@ -39,5 +39,5 @@ export declare const lookupCitationTool: import("@cyanheads/mcp-ts-core").ToolDe
39
39
  totalMatched: z.ZodNumber;
40
40
  totalSubmitted: z.ZodNumber;
41
41
  totalWarnings: z.ZodNumber;
42
- }, z.core.$strip>>;
42
+ }, z.core.$strip>, undefined>;
43
43
  //# sourceMappingURL=lookup-citation.tool.d.ts.map
@@ -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;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAwBjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsR7B,CAAC"}
1
+ {"version":3,"file":"lookup-citation.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-citation.tool.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAwBjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAsR7B,CAAC"}
@@ -5,11 +5,11 @@
5
5
  */
6
6
  import { z } from '@cyanheads/mcp-ts-core';
7
7
  export declare const lookupMeshTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{
8
- term: z.ZodString;
8
+ query: z.ZodString;
9
9
  maxResults: z.ZodDefault<z.ZodNumber>;
10
10
  includeDetails: z.ZodDefault<z.ZodBoolean>;
11
11
  }, z.core.$strip>, z.ZodObject<{
12
- term: z.ZodString;
12
+ query: z.ZodString;
13
13
  results: z.ZodArray<z.ZodObject<{
14
14
  meshId: z.ZodString;
15
15
  name: z.ZodString;
@@ -17,5 +17,6 @@ export declare const lookupMeshTool: import("@cyanheads/mcp-ts-core").ToolDefini
17
17
  scopeNote: z.ZodOptional<z.ZodString>;
18
18
  entryTerms: z.ZodOptional<z.ZodArray<z.ZodString>>;
19
19
  }, z.core.$strip>>;
20
- }, z.core.$strip>>;
20
+ notice: z.ZodOptional<z.ZodString>;
21
+ }, z.core.$strip>, undefined>;
21
22
  //# sourceMappingURL=lookup-mesh.tool.d.ts.map
@@ -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;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAoFjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;kBA2FzB,CAAC"}
1
+ {"version":3,"file":"lookup-mesh.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-mesh.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAoFjD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;6BAwGzB,CAAC"}
@@ -69,7 +69,7 @@ function parseSummaryRecords(data, ids, includeDetails) {
69
69
  }
70
70
  // ─── Tool Definition ─────────────────────────────────────────────────────────
71
71
  export const lookupMeshTool = tool('pubmed_lookup_mesh', {
72
- description: 'Search and explore MeSH (Medical Subject Headings) vocabulary. Essential for building precise PubMed queries.',
72
+ description: 'Search and explore the MeSH (Medical Subject Headings) controlled vocabulary. Returns descriptor records with tree numbers, scope notes, and entry terms.',
73
73
  annotations: { readOnlyHint: true, openWorldHint: true },
74
74
  _meta: conceptMeta([
75
75
  SCHEMA_DEFINED_TERM,
@@ -79,7 +79,7 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
79
79
  ]),
80
80
  sourceUrl: 'https://github.com/cyanheads/pubmed-mcp-server/blob/main/src/mcp-server/tools/definitions/lookup-mesh.tool.ts',
81
81
  input: z.object({
82
- term: z.string().min(1).describe('MeSH term to look up'),
82
+ query: z.string().min(1).describe('MeSH descriptor name or free-text term to look up'),
83
83
  maxResults: z.number().int().min(1).max(50).default(10).describe('Maximum results'),
84
84
  includeDetails: z
85
85
  .boolean()
@@ -87,7 +87,7 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
87
87
  .describe('Fetch full MeSH records (scope notes, tree numbers, entry terms)'),
88
88
  }),
89
89
  output: z.object({
90
- term: z.string().describe('Original search term'),
90
+ query: z.string().describe('Original search query'),
91
91
  results: z
92
92
  .array(z
93
93
  .object({
@@ -99,17 +99,21 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
99
99
  })
100
100
  .describe('Matching MeSH descriptor record'))
101
101
  .describe('Matching MeSH records'),
102
+ notice: z
103
+ .string()
104
+ .optional()
105
+ .describe('Optional guidance when no descriptors matched — suggests spell-check or free-text search. Absent on successful results.'),
102
106
  }),
103
107
  async handler(input, ctx) {
104
- const { term, maxResults, includeDetails } = input;
108
+ const { query, maxResults, includeDetails } = input;
105
109
  const ncbi = getNcbiService();
106
- ctx.log.debug('MeSH lookup started', { term, maxResults, includeDetails });
107
- const hasFieldTag = /\[.+\]/.test(term);
110
+ ctx.log.debug('MeSH lookup started', { query, maxResults, includeDetails });
111
+ const hasFieldTag = /\[.+\]/.test(query);
108
112
  const callOpts = { signal: ctx.signal };
109
- const broadSearch = ncbi.eSearch({ db: 'mesh', term, retmax: maxResults }, callOpts);
113
+ const broadSearch = ncbi.eSearch({ db: 'mesh', term: query, retmax: maxResults }, callOpts);
110
114
  const exactSearch = hasFieldTag
111
115
  ? undefined
112
- : ncbi.eSearch({ db: 'mesh', term: `${term}[MH]`, retmax: 1 }, callOpts);
116
+ : ncbi.eSearch({ db: 'mesh', term: `${query}[MH]`, retmax: 1 }, callOpts);
113
117
  const [broadResult, exactResult] = await Promise.all([broadSearch, exactSearch]);
114
118
  const seen = new Set();
115
119
  const ids = [];
@@ -120,23 +124,30 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
120
124
  }
121
125
  }
122
126
  ids.length = Math.min(ids.length, maxResults);
123
- if (ids.length === 0)
124
- return { term, results: [] };
127
+ if (ids.length === 0) {
128
+ return {
129
+ query,
130
+ results: [],
131
+ notice: `No MeSH descriptors matched "${query}". Try \`pubmed_spell_check\` for a suggested correction, broaden the term, or use \`pubmed_search_articles\` for free-text discovery against article metadata.`,
132
+ };
133
+ }
125
134
  const summaryData = await ncbi.eSummary({ db: 'mesh', id: ids.join(',') }, callOpts);
126
135
  const results = parseSummaryRecords(summaryData, ids, includeDetails);
127
- const termLower = term.toLowerCase();
136
+ const queryLower = query.toLowerCase();
128
137
  results.sort((a, b) => {
129
- const aExact = a.name.toLowerCase() === termLower ? 0 : 1;
130
- const bExact = b.name.toLowerCase() === termLower ? 0 : 1;
138
+ const aExact = a.name.toLowerCase() === queryLower ? 0 : 1;
139
+ const bExact = b.name.toLowerCase() === queryLower ? 0 : 1;
131
140
  return aExact - bExact;
132
141
  });
133
- return { term, results };
142
+ return { query, results };
134
143
  },
135
144
  format: (result) => {
136
145
  const lines = [
137
- `# MeSH Lookup: "${result.term}"`,
146
+ `# MeSH Lookup: "${result.query}"`,
138
147
  `Found **${result.results.length}** result(s).`,
139
148
  ];
149
+ if (result.notice)
150
+ lines.push(`\n> ${result.notice}`);
140
151
  for (const r of result.results) {
141
152
  lines.push(`\n## ${r.name}`);
142
153
  lines.push(`- **MeSH ID:** ${r.meshId}`);
@@ -1 +1 @@
1
- {"version":3,"file":"lookup-mesh.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-mesh.tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup-mesh.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-mesh.tool.ts"],"names":[],"mappings":"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"}
@@ -76,5 +76,5 @@ export declare const searchArticlesTool: import("@cyanheads/mcp-ts-core").ToolDe
76
76
  }, z.core.$strip>>;
77
77
  searchUrl: z.ZodString;
78
78
  notice: z.ZodOptional<z.ZodString>;
79
- }, z.core.$strip>>;
79
+ }, z.core.$strip>, undefined>;
80
80
  //# sourceMappingURL=search-articles.tool.d.ts.map
@@ -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;AA4EjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAuT7B,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;AA4EjD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAuT7B,CAAC"}
@@ -10,5 +10,5 @@ export declare const spellCheckTool: import("@cyanheads/mcp-ts-core").ToolDefini
10
10
  original: z.ZodString;
11
11
  corrected: z.ZodString;
12
12
  hasSuggestion: z.ZodBoolean;
13
- }, z.core.$strip>>;
13
+ }, z.core.$strip>, undefined>;
14
14
  //# sourceMappingURL=spell-check.tool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"spell-check.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/spell-check.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIjD,eAAO,MAAM,cAAc;;;;;;kBA4CzB,CAAC"}
1
+ {"version":3,"file":"spell-check.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/spell-check.tool.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AAIjD,eAAO,MAAM,cAAc;;;;;;6BA4CzB,CAAC"}
@@ -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;IAyClB;;;;;OAKG;IACG,mBAAmB,CACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,cAAc,CAAC,EAAE,WAAW,GAC3B,OAAO,CAAC,MAAM,CAAC;IAiDlB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,WAAW;CAcpB"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../../src/services/ncbi/api-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,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;IAgClB;;;;;OAKG;IACG,mBAAmB,CACvB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,iBAAiB,EACzB,cAAc,CAAC,EAAE,WAAW,GAC3B,OAAO,CAAC,MAAM,CAAC;IA0ClB,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,WAAW;CAcpB"}
@@ -4,8 +4,8 @@
4
4
  * retry logic lives in NcbiService.performRequest to cover both HTTP and XML-level errors.
5
5
  * @module src/services/ncbi/api-client
6
6
  */
7
- import { JsonRpcErrorCode, McpError } from '@cyanheads/mcp-ts-core/errors';
8
- import { fetchWithTimeout, logger, requestContextService } from '@cyanheads/mcp-ts-core/utils';
7
+ import { McpError, serviceUnavailable } from '@cyanheads/mcp-ts-core/errors';
8
+ import { fetchWithTimeout, httpErrorFromResponse, logger, requestContextService, } from '@cyanheads/mcp-ts-core/utils';
9
9
  import { NCBI_EUTILS_BASE_URL } from './types.js';
10
10
  /** Maximum encoded query-string length before automatically switching to POST. */
11
11
  const POST_THRESHOLD = 2000;
@@ -25,26 +25,14 @@ export class NcbiApiClient {
25
25
  const suffix = endpoint.includes('.') ? '' : '.fcgi';
26
26
  const url = `${NCBI_EUTILS_BASE_URL}/${endpoint}${suffix}`;
27
27
  try {
28
- logger.debug(`NCBI HTTP request: ${usePost ? 'POST' : 'GET'} ${url}`, {
29
- endpoint,
30
- });
28
+ logger.debug(`NCBI HTTP request: ${usePost ? 'POST' : 'GET'} ${url}`, requestContextService.createRequestContext({ operation: 'NcbiHttpRequest', endpoint }));
31
29
  const response = usePost
32
30
  ? await this.postRequest(url, finalParams, options?.signal)
33
31
  : await this.getRequest(url, finalParams, options?.signal);
34
32
  if (!response.ok) {
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
- }
45
- throw new McpError(code, `NCBI API returned HTTP ${response.status}.`, {
46
- endpoint,
47
- status: response.status,
33
+ throw await httpErrorFromResponse(response, {
34
+ service: 'NCBI',
35
+ data: { endpoint },
48
36
  });
49
37
  }
50
38
  return await response.text();
@@ -53,9 +41,7 @@ export class NcbiApiClient {
53
41
  if (error instanceof McpError)
54
42
  throw error;
55
43
  const msg = error instanceof Error ? error.message : String(error);
56
- throw new McpError(JsonRpcErrorCode.ServiceUnavailable, `NCBI request failed: ${msg}`, {
57
- endpoint,
58
- });
44
+ throw serviceUnavailable(`NCBI request failed: ${msg}`, { endpoint }, { cause: error });
59
45
  }
60
46
  }
61
47
  /**
@@ -80,21 +66,15 @@ export class NcbiApiClient {
80
66
  ? AbortSignal.any([timeoutSignal, externalSignal])
81
67
  : timeoutSignal;
82
68
  try {
83
- logger.debug(`NCBI external request: GET ${fullUrl}`, { url });
69
+ logger.debug(`NCBI external request: GET ${fullUrl}`, requestContextService.createRequestContext({ operation: 'NcbiExternalRequest', url }));
84
70
  const response = await fetch(fullUrl, { signal });
85
71
  const body = await response.text();
86
72
  if (!response.ok) {
87
- let code;
88
- if (response.status === 429) {
89
- code = JsonRpcErrorCode.RateLimited;
90
- }
91
- else if (response.status >= 500) {
92
- code = JsonRpcErrorCode.ServiceUnavailable;
93
- }
94
- else {
95
- code = JsonRpcErrorCode.InvalidRequest;
96
- }
97
- throw new McpError(code, `NCBI API returned HTTP ${response.status}: ${body.substring(0, 300)}`, { url, status: response.status, body: body.substring(0, 500) });
73
+ throw await httpErrorFromResponse(response, {
74
+ service: 'NCBI',
75
+ captureBody: false,
76
+ data: { url, body: body.substring(0, 500) },
77
+ });
98
78
  }
99
79
  return body;
100
80
  }
@@ -102,9 +82,7 @@ export class NcbiApiClient {
102
82
  if (error instanceof McpError)
103
83
  throw error;
104
84
  const msg = error instanceof Error ? error.message : String(error);
105
- throw new McpError(JsonRpcErrorCode.ServiceUnavailable, `NCBI request failed: ${msg}`, {
106
- url,
107
- });
85
+ throw serviceUnavailable(`NCBI request failed: ${msg}`, { url }, { cause: error });
108
86
  }
109
87
  }
110
88
  buildParams(params) {
@@ -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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"}
@@ -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,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AA8BpB;;;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;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAJf,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM;IAGpC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAoBrF,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAS7F,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,EAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,CAAC,CAAC;IAOP,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAuBzF,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAO7E;;;OAGG;IACG,SAAS,CACb,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC;IAsD7B;;;OAGG;IACG,SAAS,CACb,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC;IAoC7B,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAIpC;IAEH,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEhD;;;;;OAKG;YACW,eAAe;IA4B7B;;;;;OAKG;YACW,SAAS;IA+CvB;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;CA0BvB;AAMD,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,IAAI,CAuBtC;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;AAYH,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,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAC;AA8BpB;;;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;IAC3B,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAJf,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,gBAAgB,EACvB,eAAe,EAAE,mBAAmB,EACpC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM;IAGpC,OAAO,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAoBrF,QAAQ,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAS7F,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,EAC/B,MAAM,EAAE,iBAAiB,EACzB,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,CAAC,CAAC;IAOP,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BzF,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAO7E;;;OAGG;IACG,SAAS,CACb,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC;IAsD7B;;;OAGG;IACG,SAAS,CACb,GAAG,EAAE,MAAM,EAAE,EACb,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC;IAoC7B,sEAAsE;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAIpC;IAEH,6FAA6F;IAC7F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAU;IAEhD;;;;;OAKG;YACW,eAAe;IA8B7B;;;;;OAKG;YACW,SAAS;IA0DvB;;;;;;;;;OASG;IACH,OAAO,CAAC,cAAc;CA0BvB;AAMD,qEAAqE;AACrE,wBAAgB,eAAe,IAAI,IAAI,CA2BtC;AAED,mEAAmE;AACnE,wBAAgB,cAAc,IAAI,WAAW,CAG5C"}