@cyanheads/pubmed-mcp-server 2.10.19 → 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 (84) hide show
  1. package/AGENTS.md +7 -4
  2. package/CLAUDE.md +7 -4
  3. package/Dockerfile +12 -3
  4. package/README.md +7 -7
  5. package/changelog/2.10.x/2.10.20.md +63 -0
  6. package/dist/mcp-server/tools/definitions/_text.d.ts.map +1 -1
  7. package/dist/mcp-server/tools/definitions/_text.js +10 -5
  8. package/dist/mcp-server/tools/definitions/_text.js.map +1 -1
  9. package/dist/mcp-server/tools/definitions/fetch-articles.tool.d.ts.map +1 -1
  10. package/dist/mcp-server/tools/definitions/fetch-articles.tool.js +28 -10
  11. package/dist/mcp-server/tools/definitions/fetch-articles.tool.js.map +1 -1
  12. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts +27 -9
  13. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.d.ts.map +1 -1
  14. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js +577 -485
  15. package/dist/mcp-server/tools/definitions/fetch-fulltext.tool.js.map +1 -1
  16. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts +5 -5
  17. package/dist/mcp-server/tools/definitions/find-related.tool.d.ts.map +1 -1
  18. package/dist/mcp-server/tools/definitions/find-related.tool.js +12 -8
  19. package/dist/mcp-server/tools/definitions/find-related.tool.js.map +1 -1
  20. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts +11 -7
  21. package/dist/mcp-server/tools/definitions/lookup-citation.tool.d.ts.map +1 -1
  22. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js +70 -34
  23. package/dist/mcp-server/tools/definitions/lookup-citation.tool.js.map +1 -1
  24. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts +2 -1
  25. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.d.ts.map +1 -1
  26. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js +11 -3
  27. package/dist/mcp-server/tools/definitions/lookup-mesh.tool.js.map +1 -1
  28. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts +18 -0
  29. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.d.ts.map +1 -1
  30. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.js +97 -13
  31. package/dist/mcp-server/tools/definitions/pubmed-europepmc-fetch.tool.js.map +1 -1
  32. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts +4 -3
  33. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.d.ts.map +1 -1
  34. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js +7 -5
  35. package/dist/mcp-server/tools/definitions/pubmed-europepmc-search.tool.js.map +1 -1
  36. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts +6 -4
  37. package/dist/mcp-server/tools/definitions/search-articles.tool.d.ts.map +1 -1
  38. package/dist/mcp-server/tools/definitions/search-articles.tool.js +33 -11
  39. package/dist/mcp-server/tools/definitions/search-articles.tool.js.map +1 -1
  40. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts +2 -1
  41. package/dist/mcp-server/tools/definitions/spell-check.tool.d.ts.map +1 -1
  42. package/dist/mcp-server/tools/definitions/spell-check.tool.js +5 -1
  43. package/dist/mcp-server/tools/definitions/spell-check.tool.js.map +1 -1
  44. package/dist/services/error-contracts.d.ts +1 -1
  45. package/dist/services/error-contracts.d.ts.map +1 -1
  46. package/dist/services/error-contracts.js +1 -1
  47. package/dist/services/error-contracts.js.map +1 -1
  48. package/dist/services/ncbi/formatting/citation-formatter.d.ts +24 -0
  49. package/dist/services/ncbi/formatting/citation-formatter.d.ts.map +1 -1
  50. package/dist/services/ncbi/formatting/citation-formatter.js +147 -46
  51. package/dist/services/ncbi/formatting/citation-formatter.js.map +1 -1
  52. package/dist/services/ncbi/ncbi-service.d.ts +16 -1
  53. package/dist/services/ncbi/ncbi-service.d.ts.map +1 -1
  54. package/dist/services/ncbi/ncbi-service.js +115 -70
  55. package/dist/services/ncbi/ncbi-service.js.map +1 -1
  56. package/dist/services/ncbi/parsing/article-parser.d.ts.map +1 -1
  57. package/dist/services/ncbi/parsing/article-parser.js +38 -29
  58. package/dist/services/ncbi/parsing/article-parser.js.map +1 -1
  59. package/dist/services/ncbi/parsing/esummary-parser.d.ts +9 -0
  60. package/dist/services/ncbi/parsing/esummary-parser.d.ts.map +1 -1
  61. package/dist/services/ncbi/parsing/esummary-parser.js +26 -2
  62. package/dist/services/ncbi/parsing/esummary-parser.js.map +1 -1
  63. package/dist/services/ncbi/parsing/pmc-article-parser.d.ts.map +1 -1
  64. package/dist/services/ncbi/parsing/pmc-article-parser.js +395 -147
  65. package/dist/services/ncbi/parsing/pmc-article-parser.js.map +1 -1
  66. package/dist/services/ncbi/parsing/pmc-xml-helpers.d.ts +73 -5
  67. package/dist/services/ncbi/parsing/pmc-xml-helpers.d.ts.map +1 -1
  68. package/dist/services/ncbi/parsing/pmc-xml-helpers.js +223 -27
  69. package/dist/services/ncbi/parsing/pmc-xml-helpers.js.map +1 -1
  70. package/dist/services/ncbi/parsing/text-helpers.d.ts +8 -6
  71. package/dist/services/ncbi/parsing/text-helpers.d.ts.map +1 -1
  72. package/dist/services/ncbi/parsing/text-helpers.js +95 -19
  73. package/dist/services/ncbi/parsing/text-helpers.js.map +1 -1
  74. package/dist/services/ncbi/response-handler.d.ts +20 -12
  75. package/dist/services/ncbi/response-handler.d.ts.map +1 -1
  76. package/dist/services/ncbi/response-handler.js +112 -19
  77. package/dist/services/ncbi/response-handler.js.map +1 -1
  78. package/dist/services/ncbi/types.d.ts +2 -2
  79. package/dist/services/openalex/openalex-service.d.ts +10 -6
  80. package/dist/services/openalex/openalex-service.d.ts.map +1 -1
  81. package/dist/services/openalex/openalex-service.js +13 -9
  82. package/dist/services/openalex/openalex-service.js.map +1 -1
  83. package/package.json +13 -11
  84. package/server.json +10 -24
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cyanheads/pubmed-mcp-server",
3
- "version": "2.10.19",
3
+ "version": "2.10.20",
4
4
  "mcpName": "io.github.cyanheads/pubmed-mcp-server",
5
5
  "description": "Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms via MCP. STDIO or Streamable HTTP.",
6
6
  "type": "module",
@@ -30,6 +30,8 @@
30
30
  "format:unsafe": "biome check --write --unsafe .",
31
31
  "test": "bunx vitest run",
32
32
  "test:coverage": "bunx vitest run --coverage",
33
+ "test:corpus": "bunx vitest run tests/corpus",
34
+ "corpus:snapshot": "PUBMED_CORPUS_UPDATE=1 bunx vitest run tests/corpus",
33
35
  "audit:fix": "bun audit fix",
34
36
  "audit:refresh": "rm -f bun.lock && bun install && bun audit",
35
37
  "list-skills": "bun run scripts/list-skills.ts",
@@ -93,27 +95,27 @@
93
95
  "access": "public"
94
96
  },
95
97
  "dependencies": {
96
- "@cyanheads/mcp-ts-core": "^0.13.10",
98
+ "@cyanheads/mcp-ts-core": "^0.13.11",
97
99
  "defuddle": "^0.19.4",
98
- "fast-xml-parser": "^5.11.1",
100
+ "fast-xml-parser": "^5.11.2",
99
101
  "linkedom": "^0.18.13",
100
102
  "pino-pretty": "^13.1.3",
101
- "sanitize-html": "^2.17.7",
103
+ "sanitize-html": "^2.18.0",
102
104
  "unpdf": "^1.8.1",
103
105
  "zod": "^4.6.5"
104
106
  },
105
107
  "devDependencies": {
106
- "@biomejs/biome": "^2.5.14",
108
+ "@biomejs/biome": "^2.5.15",
107
109
  "@socketsecurity/bun-security-scanner": "^1.1.3",
108
- "@types/node": "^26.6.2",
109
- "@types/sanitize-html": "^2.16.1",
110
- "@vitest/coverage-istanbul": "^5.0.1",
110
+ "@types/node": "^26.6.3",
111
+ "@types/sanitize-html": "^2.16.2",
112
+ "@vitest/coverage-istanbul": "^5.0.3",
111
113
  "depcheck": "^1.4.7",
112
114
  "fast-check": "^4.10.2",
113
- "ignore": "^7.0.10",
114
- "tsc-alias": "^1.9.5",
115
+ "ignore": "^7.0.11",
116
+ "tsc-alias": "^1.9.7",
115
117
  "typescript": "^7.0.2",
116
- "vitest": "^5.0.1"
118
+ "vitest": "^5.0.3"
117
119
  },
118
120
  "overrides": {
119
121
  "@hono/node-server": "^2.0.11",
package/server.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "url": "https://github.com/cyanheads/pubmed-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "2.10.19",
9
+ "version": "2.10.20",
10
10
  "remotes": [
11
11
  {
12
12
  "type": "streamable-http",
@@ -18,18 +18,8 @@
18
18
  "registryType": "npm",
19
19
  "registryBaseUrl": "https://registry.npmjs.org",
20
20
  "identifier": "@cyanheads/pubmed-mcp-server",
21
- "runtimeHint": "bun",
22
- "version": "2.10.19",
23
- "packageArguments": [
24
- {
25
- "type": "positional",
26
- "value": "run"
27
- },
28
- {
29
- "type": "positional",
30
- "value": "start:stdio"
31
- }
32
- ],
21
+ "runtimeHint": "npx",
22
+ "version": "2.10.20",
33
23
  "environmentVariables": [
34
24
  {
35
25
  "name": "MCP_LOG_LEVEL",
@@ -65,19 +55,15 @@
65
55
  "registryType": "npm",
66
56
  "registryBaseUrl": "https://registry.npmjs.org",
67
57
  "identifier": "@cyanheads/pubmed-mcp-server",
68
- "runtimeHint": "bun",
69
- "version": "2.10.19",
70
- "packageArguments": [
58
+ "runtimeHint": "npx",
59
+ "version": "2.10.20",
60
+ "environmentVariables": [
71
61
  {
72
- "type": "positional",
73
- "value": "run"
62
+ "name": "MCP_TRANSPORT_TYPE",
63
+ "description": "Selects the HTTP transport.",
64
+ "format": "string",
65
+ "value": "http"
74
66
  },
75
- {
76
- "type": "positional",
77
- "value": "start:http"
78
- }
79
- ],
80
- "environmentVariables": [
81
67
  {
82
68
  "name": "MCP_HTTP_HOST",
83
69
  "description": "The hostname for the HTTP server.",