@cyanheads/pubmed-mcp-server 2.10.14 → 2.10.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +4 -4
- package/CLAUDE.md +4 -4
- package/README.md +24 -15
- package/changelog/2.10.x/2.10.14.md +1 -0
- package/changelog/2.10.x/2.10.15.md +28 -0
- package/changelog/2.10.x/2.10.16.md +26 -0
- package/dist/mcp-server/tools/definitions/_schemas.d.ts +11 -1
- package/dist/mcp-server/tools/definitions/_schemas.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/_schemas.js +13 -1
- package/dist/mcp-server/tools/definitions/_schemas.js.map +1 -1
- package/dist/mcp-server/tools/definitions/convert-ids.tool.d.ts +10 -2
- package/dist/mcp-server/tools/definitions/convert-ids.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/convert-ids.tool.js +41 -9
- package/dist/mcp-server/tools/definitions/convert-ids.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts +10 -3
- package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-articles.tool.js +12 -4
- package/dist/mcp-server/tools/definitions/fetch-articles.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts +16 -5
- package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js +35 -12
- package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/find-related.tool.d.ts +7 -63
- package/dist/mcp-server/tools/definitions/find-related.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/find-related.tool.js +42 -25
- package/dist/mcp-server/tools/definitions/find-related.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts +10 -3
- package/dist/mcp-server/tools/definitions/format-citations.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/format-citations.tool.js +12 -4
- package/dist/mcp-server/tools/definitions/format-citations.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts +18 -4
- package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/lookup-citation.tool.js +62 -41
- package/dist/mcp-server/tools/definitions/lookup-citation.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts +10 -5
- package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js +3 -1
- package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts +6 -3
- package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts +11 -5
- package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js +20 -11
- package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts +16 -5
- package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/search-articles.tool.js +71 -11
- package/dist/mcp-server/tools/definitions/search-articles.tool.js.map +1 -1
- package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts +12 -6
- package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts.map +1 -1
- package/dist/mcp-server/tools/definitions/spell-check.tool.js +4 -3
- package/dist/mcp-server/tools/definitions/spell-check.tool.js.map +1 -1
- package/dist/services/error-contracts.d.ts +32 -15
- package/dist/services/error-contracts.d.ts.map +1 -1
- package/dist/services/error-contracts.js +32 -15
- package/dist/services/error-contracts.js.map +1 -1
- package/dist/services/europe-pmc/api-client.d.ts +24 -9
- package/dist/services/europe-pmc/api-client.d.ts.map +1 -1
- package/dist/services/europe-pmc/api-client.js +47 -18
- package/dist/services/europe-pmc/api-client.js.map +1 -1
- package/dist/services/europe-pmc/europe-pmc-service.d.ts +22 -1
- package/dist/services/europe-pmc/europe-pmc-service.d.ts.map +1 -1
- package/dist/services/europe-pmc/europe-pmc-service.js +102 -43
- package/dist/services/europe-pmc/europe-pmc-service.js.map +1 -1
- package/dist/services/ncbi/ncbi-service.d.ts +18 -24
- package/dist/services/ncbi/ncbi-service.d.ts.map +1 -1
- package/dist/services/ncbi/ncbi-service.js +111 -120
- package/dist/services/ncbi/ncbi-service.js.map +1 -1
- package/dist/services/ncbi/request-queue.d.ts +22 -30
- package/dist/services/ncbi/request-queue.d.ts.map +1 -1
- package/dist/services/ncbi/request-queue.js +29 -128
- package/dist/services/ncbi/request-queue.js.map +1 -1
- package/dist/services/ncbi/response-handler.d.ts +14 -1
- package/dist/services/ncbi/response-handler.d.ts.map +1 -1
- package/dist/services/ncbi/response-handler.js +65 -9
- package/dist/services/ncbi/response-handler.js.map +1 -1
- package/package.json +6 -6
- package/server.json +3 -3
|
@@ -3,6 +3,8 @@
|
|
|
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
8
|
* @module src/mcp-server/tools/definitions/lookup-citation.tool
|
|
7
9
|
*/
|
|
8
10
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
@@ -29,53 +31,71 @@ function surname(name) {
|
|
|
29
31
|
const BDATA_FIELD_RE = /^[^|\r\n]*$/;
|
|
30
32
|
const BDATA_FIELD_HINT = 'Cannot contain a pipe ("|") or a line break.';
|
|
31
33
|
const BDATA_FIELD_ERROR = `${BDATA_FIELD_HINT} Those characters shift ECitMatch's field layout — remove them or replace them with a space.`;
|
|
34
|
+
const CitationSchema = z
|
|
35
|
+
.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}`),
|
|
61
|
+
key: z
|
|
62
|
+
.string()
|
|
63
|
+
.optional()
|
|
64
|
+
.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
|
+
})
|
|
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), {
|
|
68
|
+
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
|
+
});
|
|
70
|
+
/**
|
|
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.
|
|
76
|
+
*/
|
|
77
|
+
const CITATIONS_SHAPE_ERROR = 'Invalid input: expected a citation object or an array of 1–25 citation objects';
|
|
32
78
|
export const lookupCitationTool = tool('pubmed_lookup_citation', {
|
|
33
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.`,
|
|
34
80
|
annotations: { readOnlyHint: true, openWorldHint: true },
|
|
35
81
|
_meta: conceptMeta([SCHEMA_SCHOLARLY_ARTICLE, EDAM_DATA_RETRIEVAL, EDAM_PUBMED_ID]),
|
|
36
82
|
sourceUrl: 'https://github.com/cyanheads/pubmed-mcp-server/blob/main/src/mcp-server/tools/definitions/lookup-citation.tool.ts',
|
|
37
83
|
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)
|
|
87
|
+
inputAliases: { citation: 'citations' },
|
|
38
88
|
input: z.object({
|
|
39
89
|
citations: z
|
|
40
|
-
.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
.
|
|
44
|
-
.
|
|
45
|
-
.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
.regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
|
|
50
|
-
.optional()
|
|
51
|
-
.describe(`Publication year (e.g., "1991"). ${BDATA_FIELD_HINT}`),
|
|
52
|
-
volume: z
|
|
53
|
-
.string()
|
|
54
|
-
.regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
|
|
55
|
-
.optional()
|
|
56
|
-
.describe(`Volume number. ${BDATA_FIELD_HINT}`),
|
|
57
|
-
firstPage: z
|
|
58
|
-
.string()
|
|
59
|
-
.regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
|
|
60
|
-
.optional()
|
|
61
|
-
.describe(`First page number. ${BDATA_FIELD_HINT}`),
|
|
62
|
-
authorName: z
|
|
63
|
-
.string()
|
|
64
|
-
.regex(BDATA_FIELD_RE, BDATA_FIELD_ERROR)
|
|
65
|
-
.optional()
|
|
66
|
-
.describe(`Author name, typically "lastname initials" (e.g., "mann bj"). ${BDATA_FIELD_HINT}`),
|
|
67
|
-
key: z
|
|
68
|
-
.string()
|
|
69
|
-
.optional()
|
|
70
|
-
.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.'),
|
|
71
|
-
})
|
|
72
|
-
.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.')
|
|
73
|
-
.refine((c) => !!(c.journal || c.year), {
|
|
74
|
-
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.',
|
|
75
|
-
}))
|
|
76
|
-
.min(1)
|
|
77
|
-
.max(25)
|
|
78
|
-
.describe('Citations to look up. More fields = better match accuracy.'),
|
|
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.'),
|
|
79
99
|
}),
|
|
80
100
|
output: z.object({
|
|
81
101
|
results: z
|
|
@@ -120,8 +140,9 @@ export const lookupCitationTool = tool('pubmed_lookup_citation', {
|
|
|
120
140
|
.describe('Number of matched citations that carry at least one warning'),
|
|
121
141
|
}),
|
|
122
142
|
async handler(input, ctx) {
|
|
123
|
-
|
|
124
|
-
|
|
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) => ({
|
|
125
146
|
journal: c.journal,
|
|
126
147
|
year: c.year,
|
|
127
148
|
volume: c.volume,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lookup-citation.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-citation.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lookup-citation.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/lookup-citation.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AAEnF,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,yFAAyF;AACzF,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,cAAc,GAAG,aAAa,CAAC;AACrC,MAAM,gBAAgB,GAAG,8CAA8C,CAAC;AACxE,MAAM,iBAAiB,GAAG,GAAG,gBAAgB,8FAA8F,CAAC;AAE5I,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CACP,yEAAyE,gBAAgB,EAAE,CAC5F;IACH,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,gBAAgB,EAAE,CAAC;IACnE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,kBAAkB,gBAAgB,EAAE,CAAC;IACjD,SAAS,EAAE,CAAC;SACT,MAAM,EAAE;SACR,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,gBAAgB,EAAE,CAAC;IACrD,UAAU,EAAE,CAAC;SACV,MAAM,EAAE;SACR,KAAK,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACxC,QAAQ,EAAE;SACV,QAAQ,CACP,iEAAiE,gBAAgB,EAAE,CACpF;IACH,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,+JAA+J,CAChK;CACJ,CAAC;KACD,QAAQ,CACP,mLAAmL,CACpL;KACA,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;IACtC,OAAO,EACL,uKAAuK;CAC1K,CAAC,CAAC;AAEL;;;;;;GAMG;AACH,MAAM,qBAAqB,GACzB,gFAAgF,CAAC;AAEnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,EAAE;IAC/D,WAAW,EAAE,qbAAqb;IAClc,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;IACxD,KAAK,EAAE,WAAW,CAAC,CAAC,wBAAwB,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACnF,SAAS,EACP,mHAAmH;IAErH,MAAM,EAAE,CAAC,GAAG,mBAAmB,CAAU;IAEzC,6EAA6E;IAC7E,yEAAyE;IACzE,kBAAkB;IAClB,YAAY,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;IAEvC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,SAAS,EAAE,CAAC;aACT,KAAK,CACJ;YACE,CAAC;iBACE,KAAK,CAAC,cAAc,CAAC;iBACrB,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,EAAE,CAAC;iBACP,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,cAAc;SACf,EACD,EAAE,KAAK,EAAE,qBAAqB,EAAE,CACjC;aACA,QAAQ,CACP,gHAAgH,CACjH;KACJ,CAAC;IAEF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,OAAO,EAAE,CAAC;aACP,KAAK,CACJ,CAAC;aACE,MAAM,CAAC;YACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YACjD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACzD,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACzD,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;iBAC3C,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,cAAc,EAAE,CAAC;iBACd,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAClC,QAAQ,EAAE;iBACV,QAAQ,CACP,sMAAsM,CACvM;YACH,kBAAkB,EAAE,CAAC;iBAClB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sGAAsG,CACvG;YACH,QAAQ,EAAE,CAAC;iBACR,KAAK,CACJ,CAAC;iBACE,MAAM,CAAC;gBACN,IAAI,EAAE,CAAC;qBACJ,IAAI,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;qBAC1C,QAAQ,CAAC,+BAA+B,CAAC;gBAC5C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;aAC1E,CAAC;iBACD,QAAQ,CAAC,mCAAmC,CAAC,CACjD;iBACA,QAAQ,EAAE;iBACV,QAAQ,CACP,yLAAyL,CAC1L;SACJ,CAAC;aACD,QAAQ,CAAC,2BAA2B,CAAC,CACzC;aACA,QAAQ,CAAC,uCAAuC,CAAC;QACpD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC1E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QACpE,aAAa,EAAE,CAAC;aACb,MAAM,EAAE;aACR,QAAQ,CAAC,6DAA6D,CAAC;KAC3E,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG;QACtB,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACvF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAE9E,MAAM,SAAS,GAAwB,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,UAAU,EAAE,CAAC,CAAC,UAAU;YACxB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;SAC5B,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAC9B,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,6CAA6C;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAExE,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAc,CAAC,CAAC,CACjF,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,GAAG,EAG1B,CAAC;QACJ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CACvC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAC5C,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CACvB,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBACxB,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;oBACxC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,MAAM,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC5D,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;iBACzC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAkBD,MAAM,MAAM,GAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClD,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;YACzC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;YACvC,MAAM,IAAI,GAAiB;gBACzB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/B,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;gBACrC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,MAAM,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC;aACtE,CAAC;YAEF,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEvC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YAE1B,MAAM,QAAQ,GAAc,EAAE,CAAC;YAC/B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAElD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACnD,IAAI,WAAW,IAAI,WAAW,KAAK,QAAQ;oBAAE,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;gBAEnF,wEAAwE;gBACxE,oEAAoE;gBACpE,sDAAsD;gBACtD,IAAI,OAAO,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;oBACnC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;oBACtC,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,YAAY,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBAC5D,QAAQ,CAAC,IAAI,CAAC;4BACZ,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,mBAAmB,OAAO,wCAAwC,WAAW,CAAC,MAAM,mBAAmB,OAAO,uIAAuI;yBAC/P,CAAC,CAAC;wBACH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,mDAAmD,EAAE;4BACnE,GAAG,EAAE,CAAC,CAAC,GAAG;4BACV,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,aAAa,EAAE,OAAO;4BACtB,kBAAkB,EAAE,WAAW,CAAC,MAAM;yBACvC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,WAAW,IAAI,OAAO,EAAE,CAAC;gBAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxC,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;oBACtE,QAAQ,CAAC,IAAI,CAAC;wBACZ,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,iBAAiB,WAAW,0CAA0C,WAAW,cAAc,OAAO,2EAA2E;qBAC3L,CAAC,CAAC;oBACH,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,iDAAiD,EAAE;wBACjE,GAAG,EAAE,CAAC,CAAC,GAAG;wBACV,IAAI,EAAE,CAAC,CAAC,IAAI;wBACZ,WAAW;wBACX,WAAW;qBACZ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAElD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAC5D,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;QACtE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE;YAC/C,YAAY;YACZ,cAAc,EAAE,SAAS,CAAC,MAAM;YAChC,aAAa;SACd,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAC5F,CAAC;IAED,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QACjB,MAAM,KAAK,GAAG;YACZ,4BAA4B;YAC5B,gBAAgB,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,cAAc,EAAE;SAC/D,CAAC;QACF,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,iBAAiB,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,2EAA2E;QAC3E,6EAA6E;QAC7E,6EAA6E;QAC7E,4EAA4E;QAC5E,mEAAmE;QACnE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YACxC,IAAI,CAAC,CAAC,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,CAAC,CAAC,kBAAkB;gBAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,CAAC,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAEpD,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC5B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBAC3B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CACR,WAAW;oBACT,CAAC,CAAC,kBAAkB,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,8JAA8J;oBACxM,CAAC,CAAC,6EAA6E,CAClF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAC7B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACpC,KAAK,CAAC,IAAI,CACR,CAAC,CAAC,cAAc,EAAE,MAAM;oBACtB,CAAC,CAAC,0JAA0J;oBAC5J,CAAC,CAAC,8GAA8G,CACnH,CAAC;gBACF,SAAS;YACX,CAAC;YAED,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
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.
|
|
4
|
+
* retrieves detailed records. `limit` is accepted as an alias for `maxResults`.
|
|
5
5
|
* @module src/mcp-server/tools/definitions/lookup-mesh.tool
|
|
6
6
|
*/
|
|
7
7
|
import { z } from '@cyanheads/mcp-ts-core';
|
|
@@ -25,38 +25,43 @@ export declare const lookupMeshTool: import("@cyanheads/mcp-ts-core").ToolDefini
|
|
|
25
25
|
}, z.core.$strip>, readonly [{
|
|
26
26
|
readonly reason: 'queue_full';
|
|
27
27
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited;
|
|
28
|
-
readonly when: '
|
|
29
|
-
readonly recovery: '
|
|
28
|
+
readonly when: 'The local NCBI request queue shed the call — the queue is full, or the call cannot start before its total deadline (for example behind the cooldown that follows an NCBI 429).';
|
|
29
|
+
readonly recovery: 'Wait the number of seconds in `retryAfter`, then retry; the NCBI request queue is saturated or cooling down after a rate limit.';
|
|
30
30
|
readonly retryable: true;
|
|
31
|
+
readonly thrownBy: 'service';
|
|
31
32
|
}, {
|
|
32
33
|
readonly reason: 'ncbi_unreachable';
|
|
33
34
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable;
|
|
34
35
|
readonly when: 'NCBI E-utilities is unreachable after all retry attempts.';
|
|
35
36
|
readonly recovery: 'Retry after a brief delay; NCBI was unreachable across all retry attempts.';
|
|
36
37
|
readonly retryable: true;
|
|
38
|
+
readonly thrownBy: 'service';
|
|
37
39
|
}, {
|
|
38
40
|
readonly reason: 'ncbi_deadline_exceeded';
|
|
39
41
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Timeout;
|
|
40
42
|
readonly when: 'Total request deadline expired before NCBI returned a response.';
|
|
41
43
|
readonly recovery: 'Reduce batch size or retry; NCBI may be under temporary load.';
|
|
42
44
|
readonly retryable: true;
|
|
45
|
+
readonly thrownBy: 'service';
|
|
43
46
|
}, {
|
|
44
47
|
readonly reason: 'ncbi_invalid_response';
|
|
45
48
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.SerializationError;
|
|
46
49
|
readonly when: 'NCBI returned a body that could not be parsed (invalid XML/JSON).';
|
|
47
50
|
readonly recovery: 'Retry the request; NCBI returned a malformed response that could not be parsed.';
|
|
48
51
|
readonly retryable: true;
|
|
52
|
+
readonly thrownBy: 'service';
|
|
49
53
|
}, {
|
|
50
54
|
readonly reason: 'ncbi_resource_not_found';
|
|
51
55
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound;
|
|
52
56
|
readonly when: 'NCBI returned a structured "not found" error for the requested ID(s).';
|
|
53
57
|
readonly recovery: 'Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help.';
|
|
54
58
|
readonly retryable: false;
|
|
59
|
+
readonly thrownBy: 'service';
|
|
55
60
|
}, {
|
|
56
61
|
readonly reason: 'blank_query';
|
|
57
62
|
readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ValidationError;
|
|
58
|
-
readonly when: 'The query holds no search term once whitespace, and
|
|
59
|
-
readonly recovery: 'Supply a nonblank search term; NCBI cannot search a blank term and retrying the same input will not help.';
|
|
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.';
|
|
60
65
|
readonly retryable: false;
|
|
61
66
|
}], {
|
|
62
67
|
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
|
|
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,7 +1,7 @@
|
|
|
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.
|
|
4
|
+
* retrieves detailed records. `limit` is accepted as an alias for `maxResults`.
|
|
5
5
|
* @module src/mcp-server/tools/definitions/lookup-mesh.tool
|
|
6
6
|
*/
|
|
7
7
|
import { tool, z } from '@cyanheads/mcp-ts-core';
|
|
@@ -101,6 +101,8 @@ export const lookupMeshTool = tool('pubmed_lookup_mesh', {
|
|
|
101
101
|
]),
|
|
102
102
|
sourceUrl: 'https://github.com/cyanheads/pubmed-mcp-server/blob/main/src/mcp-server/tools/definitions/lookup-mesh.tool.ts',
|
|
103
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' },
|
|
104
106
|
input: z.object({
|
|
105
107
|
query: z
|
|
106
108
|
.string()
|
|
@@ -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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"}
|
|
@@ -61,21 +61,24 @@ export declare const pubmedEuropepmcFetchTool: import("@cyanheads/mcp-ts-core").
|
|
|
61
61
|
}, z.core.$strip>, readonly [{
|
|
62
62
|
readonly reason: 'europepmc_unreachable';
|
|
63
63
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
64
|
-
readonly when: 'Europe PMC
|
|
64
|
+
readonly when: 'Europe PMC failed on every retry attempt — unreachable, an HTTP 404 or 5xx other than a 504 timeout from its search endpoint, or an empty response with no results.';
|
|
65
65
|
readonly recovery: 'Retry after a brief delay; Europe PMC was unreachable. NCBI PMC and Unpaywall remain available.';
|
|
66
66
|
readonly retryable: true;
|
|
67
|
+
readonly thrownBy: 'service';
|
|
67
68
|
}, {
|
|
68
69
|
readonly reason: 'europepmc_invalid_response';
|
|
69
70
|
readonly code: JsonRpcErrorCode.SerializationError;
|
|
70
71
|
readonly when: 'Europe PMC returned a body that could not be parsed (invalid JSON or XML).';
|
|
71
72
|
readonly recovery: 'Retry the request; Europe PMC returned a malformed response that could not be parsed.';
|
|
72
73
|
readonly retryable: true;
|
|
74
|
+
readonly thrownBy: 'service';
|
|
73
75
|
}, {
|
|
74
76
|
readonly reason: 'europepmc_invalid_input';
|
|
75
77
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
76
|
-
readonly when: 'Europe PMC rejected the request input
|
|
77
|
-
readonly recovery: 'Adjust the input —
|
|
78
|
+
readonly when: 'Europe PMC rejected the request input — an error message such as an empty query, an empty response to a sort with an undocumented field or no asc/desc direction, or an empty response to a pagination cursor on every attempt.';
|
|
79
|
+
readonly recovery: 'Adjust the input — the query, the sort, or the cursorMark — before retrying; the same input will be rejected again.';
|
|
78
80
|
readonly retryable: false;
|
|
81
|
+
readonly thrownBy: 'service';
|
|
79
82
|
}, {
|
|
80
83
|
readonly reason: 'europepmc_disabled';
|
|
81
84
|
readonly code: JsonRpcErrorCode.ConfigurationError;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubmed-europepmc-fetch.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkGjE,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"pubmed-europepmc-fetch.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAkGjE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAWvB,oBAAoB;;mBAEtB,6DAA6D;uBACzD,mFAAmF;;;EA+JjG,CAAC"}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
* can't reach: preprints (source `PPR`), Agricola (`AGR`), patents (`PAT`),
|
|
4
4
|
* and EPMC-only OA articles. Uses EPMC's cursor-based pagination
|
|
5
5
|
* (`cursorMark`) — unlike `pubmed_search_articles`'s offset-based paging,
|
|
6
|
-
* because EPMC's search API doesn't support offset.
|
|
6
|
+
* because EPMC's search API doesn't support offset. `max_results` and `limit`
|
|
7
|
+
* are accepted as aliases for `pageSize`. The total hit count rides in
|
|
8
|
+
* `output` so `format()` can state it in the header, and `searchUrl` opens the
|
|
9
|
+
* source-filtered query Europe PMC actually ran.
|
|
7
10
|
*
|
|
8
11
|
* Only registered when `EUROPEPMC_ENABLED=true` (the default). The handler
|
|
9
12
|
* fails fast with a configuration error if the service is unset, since the
|
|
@@ -57,24 +60,28 @@ export declare const pubmedEuropepmcSearchTool: import("@cyanheads/mcp-ts-core")
|
|
|
57
60
|
cursorMark: z.ZodString;
|
|
58
61
|
nextCursorMark: z.ZodOptional<z.ZodString>;
|
|
59
62
|
searchUrl: z.ZodString;
|
|
63
|
+
totalCount: z.ZodNumber;
|
|
60
64
|
}, z.core.$strip>, readonly [{
|
|
61
65
|
readonly reason: 'europepmc_unreachable';
|
|
62
66
|
readonly code: JsonRpcErrorCode.ServiceUnavailable;
|
|
63
|
-
readonly when: 'Europe PMC
|
|
67
|
+
readonly when: 'Europe PMC failed on every retry attempt — unreachable, an HTTP 404 or 5xx other than a 504 timeout from its search endpoint, or an empty response with no results.';
|
|
64
68
|
readonly recovery: 'Retry after a brief delay; Europe PMC was unreachable. NCBI PMC and Unpaywall remain available.';
|
|
65
69
|
readonly retryable: true;
|
|
70
|
+
readonly thrownBy: 'service';
|
|
66
71
|
}, {
|
|
67
72
|
readonly reason: 'europepmc_invalid_response';
|
|
68
73
|
readonly code: JsonRpcErrorCode.SerializationError;
|
|
69
74
|
readonly when: 'Europe PMC returned a body that could not be parsed (invalid JSON or XML).';
|
|
70
75
|
readonly recovery: 'Retry the request; Europe PMC returned a malformed response that could not be parsed.';
|
|
71
76
|
readonly retryable: true;
|
|
77
|
+
readonly thrownBy: 'service';
|
|
72
78
|
}, {
|
|
73
79
|
readonly reason: 'europepmc_invalid_input';
|
|
74
80
|
readonly code: JsonRpcErrorCode.ValidationError;
|
|
75
|
-
readonly when: 'Europe PMC rejected the request input
|
|
76
|
-
readonly recovery: 'Adjust the input —
|
|
81
|
+
readonly when: 'Europe PMC rejected the request input — an error message such as an empty query, an empty response to a sort with an undocumented field or no asc/desc direction, or an empty response to a pagination cursor on every attempt.';
|
|
82
|
+
readonly recovery: 'Adjust the input — the query, the sort, or the cursorMark — before retrying; the same input will be rejected again.';
|
|
77
83
|
readonly retryable: false;
|
|
84
|
+
readonly thrownBy: 'service';
|
|
78
85
|
}, {
|
|
79
86
|
readonly reason: 'europepmc_disabled';
|
|
80
87
|
readonly code: JsonRpcErrorCode.ConfigurationError;
|
|
@@ -82,7 +89,6 @@ export declare const pubmedEuropepmcSearchTool: import("@cyanheads/mcp-ts-core")
|
|
|
82
89
|
readonly recovery: 'Set EUROPEPMC_ENABLED=true (the default) and restart the server to use this tool.';
|
|
83
90
|
}], {
|
|
84
91
|
readonly query: z.ZodString;
|
|
85
|
-
readonly totalCount: z.ZodNumber;
|
|
86
92
|
readonly appliedSources: z.ZodArray<z.ZodEnum<{
|
|
87
93
|
AGR: "AGR";
|
|
88
94
|
MED: "MED";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubmed-europepmc-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pubmed-europepmc-search.tool.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAQ,CAAC,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AA8BjE,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAWxB,oBAAoB;;mBAEtB,6DAA6D;uBACzD,mFAAmF;;;;;;;;;;;EAwSjG,CAAC"}
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
* can't reach: preprints (source `PPR`), Agricola (`AGR`), patents (`PAT`),
|
|
4
4
|
* and EPMC-only OA articles. Uses EPMC's cursor-based pagination
|
|
5
5
|
* (`cursorMark`) — unlike `pubmed_search_articles`'s offset-based paging,
|
|
6
|
-
* because EPMC's search API doesn't support offset.
|
|
6
|
+
* because EPMC's search API doesn't support offset. `max_results` and `limit`
|
|
7
|
+
* are accepted as aliases for `pageSize`. The total hit count rides in
|
|
8
|
+
* `output` so `format()` can state it in the header, and `searchUrl` opens the
|
|
9
|
+
* source-filtered query Europe PMC actually ran.
|
|
7
10
|
*
|
|
8
11
|
* Only registered when `EUROPEPMC_ENABLED=true` (the default). The handler
|
|
9
12
|
* fails fast with a configuration error if the service is unset, since the
|
|
@@ -43,11 +46,14 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
|
|
|
43
46
|
recovery: 'Set EUROPEPMC_ENABLED=true (the default) and restart the server to use this tool.',
|
|
44
47
|
},
|
|
45
48
|
],
|
|
49
|
+
// Never advertised; rewritten to the canonical key before the schema parses.
|
|
50
|
+
// `pageSize` is this tool's only count parameter, so both map to it. (#156)
|
|
51
|
+
inputAliases: { max_results: 'pageSize', limit: 'pageSize' },
|
|
46
52
|
input: z.object({
|
|
47
53
|
query: z
|
|
48
54
|
.string()
|
|
49
55
|
.min(1)
|
|
50
|
-
.describe('Europe PMC search query. Supports field tokens like `AUTH:"<name>"`, `JOURNAL:"<title>"`, `TITLE:"<words>"`, `PUB_YEAR:[2020 TO 2024]`, `DOI:"..."`, `EXT_ID:<pmid> AND SRC:MED`, `PMCID:PMC<digits>`. Identifier tokens
|
|
56
|
+
.describe('Europe PMC search query. Supports field tokens like `AUTH:"<name>"`, `JOURNAL:"<title>"`, `TITLE:"<words>"`, `PUB_YEAR:[2020 TO 2024]`, `DOI:"..."`, `EXT_ID:<pmid> AND SRC:MED`, `PMCID:PMC<digits>`. Identifier tokens may be quoted or unquoted — this tool wraps every query with its `sources` filter, and Europe PMC honors a quoted identifier inside that wrapper. A PubMed-indexed article resolves under `SRC:MED`, not `SRC:PMC`, whichever identifier is used. Free text is matched broadly across abstract/title/keywords.'),
|
|
51
57
|
pageSize: z
|
|
52
58
|
.number()
|
|
53
59
|
.int()
|
|
@@ -71,7 +77,7 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
|
|
|
71
77
|
sort: z
|
|
72
78
|
.string()
|
|
73
79
|
.optional()
|
|
74
|
-
.describe('Optional EPMC sort: `<field> asc|desc
|
|
80
|
+
.describe('Optional EPMC sort: `<field> asc|desc`, or several comma-separated keys applied in order (`PUB_YEAR desc, CITED desc`). Documented sortable fields: `P_PDATE_D` (publication date), `CITED` (citation count), `AUTH_FIRST` (first author surname), `PUB_YEAR` (publication year). Examples: `P_PDATE_D desc` (newest first), `CITED desc` (most cited). Omit for relevance ranking. Field and direction match case-insensitively. A field outside the documented set may be honored, silently ignored, or rejected, and a sort using one — or a key without `asc`/`desc` — can fail with `europepmc_invalid_input` naming it, even when Europe PMC honors the field. Note: `P_PDATE_D` is ignored for preprint-only (`sources: ["PPR"]`) result sets — preprints have no populated publication date, so use `PUB_YEAR` to order preprints by date.'),
|
|
75
81
|
}),
|
|
76
82
|
output: z.object({
|
|
77
83
|
hits: z
|
|
@@ -131,13 +137,15 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
|
|
|
131
137
|
.optional()
|
|
132
138
|
.describe('Cursor to pass back as `cursorMark` for the next page. Absent on the final page.'),
|
|
133
139
|
searchUrl: z.string().describe("Europe PMC's website search URL for this query"),
|
|
140
|
+
// A domain field, not enrichment: format() sees only this payload, and the
|
|
141
|
+
// header states the total beside the returned count. (#147)
|
|
142
|
+
totalCount: z.number().describe('Total matching records across all pages'),
|
|
134
143
|
}),
|
|
135
|
-
// Result-set context the agent reasons with — the query as EPMC echoed it, the
|
|
136
|
-
//
|
|
137
|
-
//
|
|
144
|
+
// Result-set context the agent reasons with — the query as EPMC echoed it, the
|
|
145
|
+
// sources actually queried, and recovery guidance for empty pages. Surfaced via
|
|
146
|
+
// ctx.enrich(...) to structuredContent and content[]; out of the return.
|
|
138
147
|
enrichment: {
|
|
139
148
|
query: z.string().describe('Effective query string echoed by Europe PMC'),
|
|
140
|
-
totalCount: z.number().describe('Total matching records across all pages'),
|
|
141
149
|
appliedSources: z
|
|
142
150
|
.array(SourceEnum)
|
|
143
151
|
.describe('Sources the query was filtered against (defaults applied)'),
|
|
@@ -150,7 +158,6 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
|
|
|
150
158
|
// carries the full structured value; this only shapes the human-facing trailer line.
|
|
151
159
|
enrichmentTrailer: {
|
|
152
160
|
query: { label: 'Effective Query' },
|
|
153
|
-
totalCount: { label: 'Total Hits' },
|
|
154
161
|
appliedSources: {
|
|
155
162
|
render: (sources) => `**Sources:** ${sources.join(', ')}`,
|
|
156
163
|
},
|
|
@@ -233,20 +240,22 @@ export const pubmedEuropepmcSearchTool = tool('pubmed_europepmc_search', {
|
|
|
233
240
|
query: result.query,
|
|
234
241
|
appliedSources: [...sources],
|
|
235
242
|
});
|
|
236
|
-
ctx.enrich.total(result.hitCount);
|
|
237
243
|
if (notice)
|
|
238
244
|
ctx.enrich.notice(notice);
|
|
239
245
|
return {
|
|
240
246
|
hits,
|
|
241
247
|
cursorMark: result.cursorMark ?? '*',
|
|
242
248
|
...(result.nextCursorMark && { nextCursorMark: result.nextCursorMark }),
|
|
243
|
-
|
|
249
|
+
// The query Europe PMC ran, source wrapper included — `input.query` alone
|
|
250
|
+
// opens an unfiltered search with a different hit count. (#150)
|
|
251
|
+
searchUrl: `https://europepmc.org/search?query=${encodeURIComponent(result.query)}`,
|
|
252
|
+
totalCount: result.hitCount,
|
|
244
253
|
};
|
|
245
254
|
},
|
|
246
255
|
format: (result) => {
|
|
247
256
|
const lines = [
|
|
248
257
|
'## Europe PMC Search Results',
|
|
249
|
-
`**Returned:** ${result.hits.length}`,
|
|
258
|
+
`**Returned:** ${result.hits.length} of ${result.totalCount}`,
|
|
250
259
|
`**Cursor:** ${result.cursorMark}${result.nextCursorMark ? ` → \`${result.nextCursorMark}\` (next page)` : ' (final page)'}`,
|
|
251
260
|
`**Search URL:** ${result.searchUrl}`,
|
|
252
261
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pubmed-europepmc-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"pubmed-europepmc-search.tool.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/definitions/pubmed-europepmc-search.tool.ts"],"names":[],"mappings":"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"}
|