@cyanheads/pubmed-mcp-server 1.3.4 → 1.4.1

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 (335) hide show
  1. package/README.md +21 -21
  2. package/dist/config/index.d.ts +10 -0
  3. package/dist/config/index.d.ts.map +1 -0
  4. package/dist/config/index.js +69 -12
  5. package/dist/config/index.js.map +1 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +2 -1
  9. package/dist/index.js.map +1 -0
  10. package/dist/mcp-server/core/managedMcpServer.d.ts +48 -0
  11. package/dist/mcp-server/core/managedMcpServer.d.ts.map +1 -0
  12. package/dist/mcp-server/core/managedMcpServer.js +58 -0
  13. package/dist/mcp-server/core/managedMcpServer.js.map +1 -0
  14. package/dist/mcp-server/server.d.ts +1 -0
  15. package/dist/mcp-server/server.d.ts.map +1 -0
  16. package/dist/mcp-server/server.js +12 -11
  17. package/dist/mcp-server/server.js.map +1 -0
  18. package/dist/mcp-server/tools/pubmedArticleConnections/index.d.ts +7 -0
  19. package/dist/mcp-server/tools/pubmedArticleConnections/index.d.ts.map +1 -0
  20. package/dist/mcp-server/tools/pubmedArticleConnections/index.js +7 -0
  21. package/dist/mcp-server/tools/pubmedArticleConnections/index.js.map +1 -0
  22. package/dist/mcp-server/tools/pubmedArticleConnections/logic/citationFormatter.d.ts +10 -0
  23. package/dist/mcp-server/tools/pubmedArticleConnections/logic/citationFormatter.d.ts.map +1 -0
  24. package/dist/mcp-server/tools/{getPubMedArticleConnections → pubmedArticleConnections}/logic/citationFormatter.js +3 -2
  25. package/dist/mcp-server/tools/pubmedArticleConnections/logic/citationFormatter.js.map +1 -0
  26. package/dist/mcp-server/tools/pubmedArticleConnections/logic/elinkHandler.d.ts +10 -0
  27. package/dist/mcp-server/tools/pubmedArticleConnections/logic/elinkHandler.d.ts.map +1 -0
  28. package/dist/mcp-server/tools/{getPubMedArticleConnections → pubmedArticleConnections}/logic/elinkHandler.js +3 -2
  29. package/dist/mcp-server/tools/pubmedArticleConnections/logic/elinkHandler.js.map +1 -0
  30. package/dist/mcp-server/tools/{getPubMedArticleConnections → pubmedArticleConnections}/logic/index.d.ts +10 -9
  31. package/dist/mcp-server/tools/pubmedArticleConnections/logic/index.d.ts.map +1 -0
  32. package/dist/mcp-server/tools/{getPubMedArticleConnections → pubmedArticleConnections}/logic/index.js +15 -14
  33. package/dist/mcp-server/tools/pubmedArticleConnections/logic/index.js.map +1 -0
  34. package/dist/mcp-server/tools/{getPubMedArticleConnections → pubmedArticleConnections}/logic/types.d.ts +5 -4
  35. package/dist/mcp-server/tools/pubmedArticleConnections/logic/types.d.ts.map +1 -0
  36. package/dist/mcp-server/tools/pubmedArticleConnections/logic/types.js +6 -0
  37. package/dist/mcp-server/tools/pubmedArticleConnections/logic/types.js.map +1 -0
  38. package/dist/mcp-server/tools/pubmedArticleConnections/registration.d.ts +12 -0
  39. package/dist/mcp-server/tools/pubmedArticleConnections/registration.d.ts.map +1 -0
  40. package/dist/mcp-server/tools/{getPubMedArticleConnections → pubmedArticleConnections}/registration.js +12 -11
  41. package/dist/mcp-server/tools/pubmedArticleConnections/registration.js.map +1 -0
  42. package/dist/mcp-server/tools/pubmedFetchContents/index.d.ts +7 -0
  43. package/dist/mcp-server/tools/pubmedFetchContents/index.d.ts.map +1 -0
  44. package/dist/mcp-server/tools/pubmedFetchContents/index.js +7 -0
  45. package/dist/mcp-server/tools/pubmedFetchContents/index.js.map +1 -0
  46. package/dist/mcp-server/tools/{fetchPubMedContent → pubmedFetchContents}/logic.d.ts +7 -6
  47. package/dist/mcp-server/tools/pubmedFetchContents/logic.d.ts.map +1 -0
  48. package/dist/mcp-server/tools/{fetchPubMedContent → pubmedFetchContents}/logic.js +20 -19
  49. package/dist/mcp-server/tools/pubmedFetchContents/logic.js.map +1 -0
  50. package/dist/mcp-server/tools/pubmedFetchContents/registration.d.ts +11 -0
  51. package/dist/mcp-server/tools/pubmedFetchContents/registration.d.ts.map +1 -0
  52. package/dist/mcp-server/tools/{fetchPubMedContent → pubmedFetchContents}/registration.js +13 -12
  53. package/dist/mcp-server/tools/pubmedFetchContents/registration.js.map +1 -0
  54. package/dist/mcp-server/tools/{generatePubMedChart → pubmedGenerateChart}/index.d.ts +3 -2
  55. package/dist/mcp-server/tools/pubmedGenerateChart/index.d.ts.map +1 -0
  56. package/dist/mcp-server/tools/{generatePubMedChart → pubmedGenerateChart}/index.js +3 -2
  57. package/dist/mcp-server/tools/pubmedGenerateChart/index.js.map +1 -0
  58. package/dist/mcp-server/tools/{generatePubMedChart → pubmedGenerateChart}/logic.d.ts +5 -4
  59. package/dist/mcp-server/tools/pubmedGenerateChart/logic.d.ts.map +1 -0
  60. package/dist/mcp-server/tools/{generatePubMedChart → pubmedGenerateChart}/logic.js +15 -14
  61. package/dist/mcp-server/tools/pubmedGenerateChart/logic.js.map +1 -0
  62. package/dist/mcp-server/tools/pubmedGenerateChart/registration.d.ts +8 -0
  63. package/dist/mcp-server/tools/pubmedGenerateChart/registration.d.ts.map +1 -0
  64. package/dist/mcp-server/tools/{generatePubMedChart → pubmedGenerateChart}/registration.js +10 -13
  65. package/dist/mcp-server/tools/pubmedGenerateChart/registration.js.map +1 -0
  66. package/dist/mcp-server/tools/pubmedResearchAgent/index.d.ts +1 -0
  67. package/dist/mcp-server/tools/pubmedResearchAgent/index.d.ts.map +1 -0
  68. package/dist/mcp-server/tools/pubmedResearchAgent/index.js +1 -0
  69. package/dist/mcp-server/tools/pubmedResearchAgent/index.js.map +1 -0
  70. package/dist/mcp-server/tools/pubmedResearchAgent/logic/index.d.ts +1 -0
  71. package/dist/mcp-server/tools/pubmedResearchAgent/logic/index.d.ts.map +1 -0
  72. package/dist/mcp-server/tools/pubmedResearchAgent/logic/index.js +1 -0
  73. package/dist/mcp-server/tools/pubmedResearchAgent/logic/index.js.map +1 -0
  74. package/dist/mcp-server/tools/pubmedResearchAgent/logic/inputSchema.d.ts +1 -0
  75. package/dist/mcp-server/tools/pubmedResearchAgent/logic/inputSchema.d.ts.map +1 -0
  76. package/dist/mcp-server/tools/pubmedResearchAgent/logic/inputSchema.js +1 -0
  77. package/dist/mcp-server/tools/pubmedResearchAgent/logic/inputSchema.js.map +1 -0
  78. package/dist/mcp-server/tools/pubmedResearchAgent/logic/outputTypes.d.ts +1 -0
  79. package/dist/mcp-server/tools/pubmedResearchAgent/logic/outputTypes.d.ts.map +1 -0
  80. package/dist/mcp-server/tools/pubmedResearchAgent/logic/outputTypes.js +1 -0
  81. package/dist/mcp-server/tools/pubmedResearchAgent/logic/outputTypes.js.map +1 -0
  82. package/dist/mcp-server/tools/pubmedResearchAgent/logic/planOrchestrator.d.ts +1 -0
  83. package/dist/mcp-server/tools/pubmedResearchAgent/logic/planOrchestrator.d.ts.map +1 -0
  84. package/dist/mcp-server/tools/pubmedResearchAgent/logic/planOrchestrator.js +1 -0
  85. package/dist/mcp-server/tools/pubmedResearchAgent/logic/planOrchestrator.js.map +1 -0
  86. package/dist/mcp-server/tools/pubmedResearchAgent/logic.d.ts +1 -0
  87. package/dist/mcp-server/tools/pubmedResearchAgent/logic.d.ts.map +1 -0
  88. package/dist/mcp-server/tools/pubmedResearchAgent/logic.js +1 -0
  89. package/dist/mcp-server/tools/pubmedResearchAgent/logic.js.map +1 -0
  90. package/dist/mcp-server/tools/pubmedResearchAgent/registration.d.ts +1 -0
  91. package/dist/mcp-server/tools/pubmedResearchAgent/registration.d.ts.map +1 -0
  92. package/dist/mcp-server/tools/pubmedResearchAgent/registration.js +1 -0
  93. package/dist/mcp-server/tools/pubmedResearchAgent/registration.js.map +1 -0
  94. package/dist/mcp-server/tools/pubmedSearchArticles/index.d.ts +7 -0
  95. package/dist/mcp-server/tools/pubmedSearchArticles/index.d.ts.map +1 -0
  96. package/dist/mcp-server/tools/pubmedSearchArticles/index.js +7 -0
  97. package/dist/mcp-server/tools/pubmedSearchArticles/index.js.map +1 -0
  98. package/dist/mcp-server/tools/{searchPubMedArticles → pubmedSearchArticles}/logic.d.ts +8 -7
  99. package/dist/mcp-server/tools/pubmedSearchArticles/logic.d.ts.map +1 -0
  100. package/dist/mcp-server/tools/{searchPubMedArticles → pubmedSearchArticles}/logic.js +12 -11
  101. package/dist/mcp-server/tools/pubmedSearchArticles/logic.js.map +1 -0
  102. package/dist/mcp-server/tools/pubmedSearchArticles/registration.d.ts +11 -0
  103. package/dist/mcp-server/tools/pubmedSearchArticles/registration.d.ts.map +1 -0
  104. package/dist/mcp-server/tools/{searchPubMedArticles → pubmedSearchArticles}/registration.js +13 -12
  105. package/dist/mcp-server/tools/pubmedSearchArticles/registration.js.map +1 -0
  106. package/dist/mcp-server/transports/auth/authFactory.d.ts +1 -0
  107. package/dist/mcp-server/transports/auth/authFactory.d.ts.map +1 -0
  108. package/dist/mcp-server/transports/auth/authFactory.js +1 -0
  109. package/dist/mcp-server/transports/auth/authFactory.js.map +1 -0
  110. package/dist/mcp-server/transports/auth/authMiddleware.d.ts +1 -0
  111. package/dist/mcp-server/transports/auth/authMiddleware.d.ts.map +1 -0
  112. package/dist/mcp-server/transports/auth/authMiddleware.js +1 -0
  113. package/dist/mcp-server/transports/auth/authMiddleware.js.map +1 -0
  114. package/dist/mcp-server/transports/auth/index.d.ts +2 -1
  115. package/dist/mcp-server/transports/auth/index.d.ts.map +1 -0
  116. package/dist/mcp-server/transports/auth/index.js +1 -0
  117. package/dist/mcp-server/transports/auth/index.js.map +1 -0
  118. package/dist/mcp-server/transports/auth/lib/authContext.d.ts +1 -0
  119. package/dist/mcp-server/transports/auth/lib/authContext.d.ts.map +1 -0
  120. package/dist/mcp-server/transports/auth/lib/authContext.js +1 -0
  121. package/dist/mcp-server/transports/auth/lib/authContext.js.map +1 -0
  122. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts +1 -0
  123. package/dist/mcp-server/transports/auth/lib/authTypes.d.ts.map +1 -0
  124. package/dist/mcp-server/transports/auth/lib/authTypes.js +1 -0
  125. package/dist/mcp-server/transports/auth/lib/authTypes.js.map +1 -0
  126. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts +1 -0
  127. package/dist/mcp-server/transports/auth/lib/authUtils.d.ts.map +1 -0
  128. package/dist/mcp-server/transports/auth/lib/authUtils.js +1 -0
  129. package/dist/mcp-server/transports/auth/lib/authUtils.js.map +1 -0
  130. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts +1 -0
  131. package/dist/mcp-server/transports/auth/strategies/authStrategy.d.ts.map +1 -0
  132. package/dist/mcp-server/transports/auth/strategies/authStrategy.js +1 -0
  133. package/dist/mcp-server/transports/auth/strategies/authStrategy.js.map +1 -0
  134. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts +1 -0
  135. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.d.ts.map +1 -0
  136. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js +6 -0
  137. package/dist/mcp-server/transports/auth/strategies/jwtStrategy.js.map +1 -0
  138. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts +1 -0
  139. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.d.ts.map +1 -0
  140. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js +7 -0
  141. package/dist/mcp-server/transports/auth/strategies/oauthStrategy.js.map +1 -0
  142. package/dist/mcp-server/transports/core/baseTransportManager.d.ts +1 -0
  143. package/dist/mcp-server/transports/core/baseTransportManager.d.ts.map +1 -0
  144. package/dist/mcp-server/transports/core/baseTransportManager.js +2 -0
  145. package/dist/mcp-server/transports/core/baseTransportManager.js.map +1 -0
  146. package/dist/mcp-server/transports/core/headerUtils.d.ts +20 -0
  147. package/dist/mcp-server/transports/core/headerUtils.d.ts.map +1 -0
  148. package/dist/mcp-server/transports/core/headerUtils.js +38 -0
  149. package/dist/mcp-server/transports/core/headerUtils.js.map +1 -0
  150. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts +61 -7
  151. package/dist/mcp-server/transports/core/honoNodeBridge.d.ts.map +1 -0
  152. package/dist/mcp-server/transports/core/honoNodeBridge.js +102 -14
  153. package/dist/mcp-server/transports/core/honoNodeBridge.js.map +1 -0
  154. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts +54 -8
  155. package/dist/mcp-server/transports/core/statefulTransportManager.d.ts.map +1 -0
  156. package/dist/mcp-server/transports/core/statefulTransportManager.js +185 -120
  157. package/dist/mcp-server/transports/core/statefulTransportManager.js.map +1 -0
  158. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts +45 -7
  159. package/dist/mcp-server/transports/core/statelessTransportManager.d.ts.map +1 -0
  160. package/dist/mcp-server/transports/core/statelessTransportManager.js +85 -24
  161. package/dist/mcp-server/transports/core/statelessTransportManager.js.map +1 -0
  162. package/dist/mcp-server/transports/core/transportTypes.d.ts +59 -21
  163. package/dist/mcp-server/transports/core/transportTypes.d.ts.map +1 -0
  164. package/dist/mcp-server/transports/core/transportTypes.js +4 -1
  165. package/dist/mcp-server/transports/core/transportTypes.js.map +1 -0
  166. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts +1 -0
  167. package/dist/mcp-server/transports/http/httpErrorHandler.d.ts.map +1 -0
  168. package/dist/mcp-server/transports/http/httpErrorHandler.js +1 -0
  169. package/dist/mcp-server/transports/http/httpErrorHandler.js.map +1 -0
  170. package/dist/mcp-server/transports/http/httpTransport.d.ts +4 -3
  171. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -0
  172. package/dist/mcp-server/transports/http/httpTransport.js +52 -16
  173. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -0
  174. package/dist/mcp-server/transports/http/httpTypes.d.ts +1 -0
  175. package/dist/mcp-server/transports/http/httpTypes.d.ts.map +1 -0
  176. package/dist/mcp-server/transports/http/httpTypes.js +1 -0
  177. package/dist/mcp-server/transports/http/httpTypes.js.map +1 -0
  178. package/dist/mcp-server/transports/http/index.d.ts +1 -0
  179. package/dist/mcp-server/transports/http/index.d.ts.map +1 -0
  180. package/dist/mcp-server/transports/http/index.js +1 -0
  181. package/dist/mcp-server/transports/http/index.js.map +1 -0
  182. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts +4 -2
  183. package/dist/mcp-server/transports/http/mcpTransportMiddleware.d.ts.map +1 -0
  184. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js +27 -24
  185. package/dist/mcp-server/transports/http/mcpTransportMiddleware.js.map +1 -0
  186. package/dist/mcp-server/transports/stdio/index.d.ts +1 -0
  187. package/dist/mcp-server/transports/stdio/index.d.ts.map +1 -0
  188. package/dist/mcp-server/transports/stdio/index.js +1 -0
  189. package/dist/mcp-server/transports/stdio/index.js.map +1 -0
  190. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts +1 -0
  191. package/dist/mcp-server/transports/stdio/stdioTransport.d.ts.map +1 -0
  192. package/dist/mcp-server/transports/stdio/stdioTransport.js +1 -0
  193. package/dist/mcp-server/transports/stdio/stdioTransport.js.map +1 -0
  194. package/dist/services/NCBI/core/ncbiConstants.d.ts +1 -0
  195. package/dist/services/NCBI/core/ncbiConstants.d.ts.map +1 -0
  196. package/dist/services/NCBI/core/ncbiConstants.js +1 -0
  197. package/dist/services/NCBI/core/ncbiConstants.js.map +1 -0
  198. package/dist/services/NCBI/core/ncbiCoreApiClient.d.ts +1 -0
  199. package/dist/services/NCBI/core/ncbiCoreApiClient.d.ts.map +1 -0
  200. package/dist/services/NCBI/core/ncbiCoreApiClient.js +2 -0
  201. package/dist/services/NCBI/core/ncbiCoreApiClient.js.map +1 -0
  202. package/dist/services/NCBI/core/ncbiRequestQueueManager.d.ts +1 -1
  203. package/dist/services/NCBI/core/ncbiRequestQueueManager.d.ts.map +1 -0
  204. package/dist/services/NCBI/core/ncbiRequestQueueManager.js +5 -8
  205. package/dist/services/NCBI/core/ncbiRequestQueueManager.js.map +1 -0
  206. package/dist/services/NCBI/core/ncbiResponseHandler.d.ts +1 -0
  207. package/dist/services/NCBI/core/ncbiResponseHandler.d.ts.map +1 -0
  208. package/dist/services/NCBI/core/ncbiResponseHandler.js +3 -1
  209. package/dist/services/NCBI/core/ncbiResponseHandler.js.map +1 -0
  210. package/dist/services/NCBI/core/ncbiService.d.ts +1 -0
  211. package/dist/services/NCBI/core/ncbiService.d.ts.map +1 -0
  212. package/dist/services/NCBI/core/ncbiService.js +4 -0
  213. package/dist/services/NCBI/core/ncbiService.js.map +1 -0
  214. package/dist/services/NCBI/parsing/eSummaryResultParser.d.ts +1 -0
  215. package/dist/services/NCBI/parsing/eSummaryResultParser.d.ts.map +1 -0
  216. package/dist/services/NCBI/parsing/eSummaryResultParser.js +2 -0
  217. package/dist/services/NCBI/parsing/eSummaryResultParser.js.map +1 -0
  218. package/dist/services/NCBI/parsing/index.d.ts +1 -0
  219. package/dist/services/NCBI/parsing/index.d.ts.map +1 -0
  220. package/dist/services/NCBI/parsing/index.js +1 -0
  221. package/dist/services/NCBI/parsing/index.js.map +1 -0
  222. package/dist/services/NCBI/parsing/pubmedArticleStructureParser.d.ts +1 -0
  223. package/dist/services/NCBI/parsing/pubmedArticleStructureParser.d.ts.map +1 -0
  224. package/dist/services/NCBI/parsing/pubmedArticleStructureParser.js +1 -0
  225. package/dist/services/NCBI/parsing/pubmedArticleStructureParser.js.map +1 -0
  226. package/dist/services/NCBI/parsing/xmlGenericHelpers.d.ts +1 -0
  227. package/dist/services/NCBI/parsing/xmlGenericHelpers.d.ts.map +1 -0
  228. package/dist/services/NCBI/parsing/xmlGenericHelpers.js +1 -0
  229. package/dist/services/NCBI/parsing/xmlGenericHelpers.js.map +1 -0
  230. package/dist/types-global/errors.d.ts +1 -0
  231. package/dist/types-global/errors.d.ts.map +1 -0
  232. package/dist/types-global/errors.js +10 -0
  233. package/dist/types-global/errors.js.map +1 -0
  234. package/dist/types-global/pubmedXml.d.ts +1 -0
  235. package/dist/types-global/pubmedXml.d.ts.map +1 -0
  236. package/dist/types-global/pubmedXml.js +1 -0
  237. package/dist/types-global/pubmedXml.js.map +1 -0
  238. package/dist/utils/index.d.ts +3 -0
  239. package/dist/utils/index.d.ts.map +1 -0
  240. package/dist/utils/index.js +3 -0
  241. package/dist/utils/index.js.map +1 -0
  242. package/dist/utils/internal/errorHandler.d.ts +1 -7
  243. package/dist/utils/internal/errorHandler.d.ts.map +1 -0
  244. package/dist/utils/internal/errorHandler.js +28 -6
  245. package/dist/utils/internal/errorHandler.js.map +1 -0
  246. package/dist/utils/internal/index.d.ts +2 -0
  247. package/dist/utils/internal/index.d.ts.map +1 -0
  248. package/dist/utils/internal/index.js +2 -0
  249. package/dist/utils/internal/index.js.map +1 -0
  250. package/dist/utils/internal/logger.d.ts +1 -0
  251. package/dist/utils/internal/logger.d.ts.map +1 -0
  252. package/dist/utils/internal/logger.js +14 -8
  253. package/dist/utils/internal/logger.js.map +1 -0
  254. package/dist/utils/internal/performance.d.ts +22 -0
  255. package/dist/utils/internal/performance.d.ts.map +1 -0
  256. package/dist/utils/internal/performance.js +104 -0
  257. package/dist/utils/internal/performance.js.map +1 -0
  258. package/dist/utils/internal/requestContext.d.ts +1 -0
  259. package/dist/utils/internal/requestContext.d.ts.map +1 -0
  260. package/dist/utils/internal/requestContext.js +11 -0
  261. package/dist/utils/internal/requestContext.js.map +1 -0
  262. package/dist/utils/metrics/index.d.ts +1 -0
  263. package/dist/utils/metrics/index.d.ts.map +1 -0
  264. package/dist/utils/metrics/index.js +1 -0
  265. package/dist/utils/metrics/index.js.map +1 -0
  266. package/dist/utils/metrics/tokenCounter.d.ts +1 -0
  267. package/dist/utils/metrics/tokenCounter.d.ts.map +1 -0
  268. package/dist/utils/metrics/tokenCounter.js +1 -0
  269. package/dist/utils/metrics/tokenCounter.js.map +1 -0
  270. package/dist/utils/network/fetchWithTimeout.d.ts +1 -0
  271. package/dist/utils/network/fetchWithTimeout.d.ts.map +1 -0
  272. package/dist/utils/network/fetchWithTimeout.js +19 -0
  273. package/dist/utils/network/fetchWithTimeout.js.map +1 -0
  274. package/dist/utils/network/index.d.ts +1 -0
  275. package/dist/utils/network/index.d.ts.map +1 -0
  276. package/dist/utils/network/index.js +1 -0
  277. package/dist/utils/network/index.js.map +1 -0
  278. package/dist/utils/parsing/dateParser.d.ts +3 -3
  279. package/dist/utils/parsing/dateParser.d.ts.map +1 -0
  280. package/dist/utils/parsing/dateParser.js +3 -2
  281. package/dist/utils/parsing/dateParser.js.map +1 -0
  282. package/dist/utils/parsing/index.d.ts +1 -0
  283. package/dist/utils/parsing/index.d.ts.map +1 -0
  284. package/dist/utils/parsing/index.js +1 -0
  285. package/dist/utils/parsing/index.js.map +1 -0
  286. package/dist/utils/parsing/jsonParser.d.ts +2 -1
  287. package/dist/utils/parsing/jsonParser.d.ts.map +1 -0
  288. package/dist/utils/parsing/jsonParser.js +5 -3
  289. package/dist/utils/parsing/jsonParser.js.map +1 -0
  290. package/dist/utils/scheduling/index.d.ts +1 -0
  291. package/dist/utils/scheduling/index.d.ts.map +1 -0
  292. package/dist/utils/scheduling/index.js +1 -0
  293. package/dist/utils/scheduling/index.js.map +1 -0
  294. package/dist/utils/scheduling/scheduler.d.ts +1 -0
  295. package/dist/utils/scheduling/scheduler.d.ts.map +1 -0
  296. package/dist/utils/scheduling/scheduler.js +3 -1
  297. package/dist/utils/scheduling/scheduler.js.map +1 -0
  298. package/dist/utils/security/idGenerator.d.ts +1 -0
  299. package/dist/utils/security/idGenerator.d.ts.map +1 -0
  300. package/dist/utils/security/idGenerator.js +32 -27
  301. package/dist/utils/security/idGenerator.js.map +1 -0
  302. package/dist/utils/security/index.d.ts +1 -0
  303. package/dist/utils/security/index.d.ts.map +1 -0
  304. package/dist/utils/security/index.js +1 -0
  305. package/dist/utils/security/index.js.map +1 -0
  306. package/dist/utils/security/rateLimiter.d.ts +1 -0
  307. package/dist/utils/security/rateLimiter.d.ts.map +1 -0
  308. package/dist/utils/security/rateLimiter.js +45 -22
  309. package/dist/utils/security/rateLimiter.js.map +1 -0
  310. package/dist/utils/security/sanitization.d.ts +1 -0
  311. package/dist/utils/security/sanitization.d.ts.map +1 -0
  312. package/dist/utils/security/sanitization.js +65 -63
  313. package/dist/utils/security/sanitization.js.map +1 -0
  314. package/dist/utils/telemetry/instrumentation.d.ts +8 -0
  315. package/dist/utils/telemetry/instrumentation.d.ts.map +1 -0
  316. package/dist/utils/telemetry/instrumentation.js +179 -0
  317. package/dist/utils/telemetry/instrumentation.js.map +1 -0
  318. package/dist/utils/telemetry/semconv.d.ts +16 -0
  319. package/dist/utils/telemetry/semconv.d.ts.map +1 -0
  320. package/dist/utils/telemetry/semconv.js +16 -0
  321. package/dist/utils/telemetry/semconv.js.map +1 -0
  322. package/package.json +31 -14
  323. package/dist/mcp-server/tools/fetchPubMedContent/index.d.ts +0 -6
  324. package/dist/mcp-server/tools/fetchPubMedContent/index.js +0 -6
  325. package/dist/mcp-server/tools/fetchPubMedContent/registration.d.ts +0 -10
  326. package/dist/mcp-server/tools/generatePubMedChart/registration.d.ts +0 -7
  327. package/dist/mcp-server/tools/getPubMedArticleConnections/index.d.ts +0 -6
  328. package/dist/mcp-server/tools/getPubMedArticleConnections/index.js +0 -6
  329. package/dist/mcp-server/tools/getPubMedArticleConnections/logic/citationFormatter.d.ts +0 -9
  330. package/dist/mcp-server/tools/getPubMedArticleConnections/logic/elinkHandler.d.ts +0 -9
  331. package/dist/mcp-server/tools/getPubMedArticleConnections/logic/types.js +0 -5
  332. package/dist/mcp-server/tools/getPubMedArticleConnections/registration.d.ts +0 -11
  333. package/dist/mcp-server/tools/searchPubMedArticles/index.d.ts +0 -6
  334. package/dist/mcp-server/tools/searchPubMedArticles/index.js +0 -6
  335. package/dist/mcp-server/tools/searchPubMedArticles/registration.d.ts +0 -10
package/README.md CHANGED
@@ -5,15 +5,15 @@
5
5
  **Empower your AI agents and research tools with seamless PubMed integration!**
6
6
 
7
7
  [![TypeScript](https://img.shields.io/badge/TypeScript-^5.8.3-blue.svg?style=flat-square)](https://www.typescriptlang.org/)
8
- [![Model Context Protocol](https://img.shields.io/badge/MCP%20SDK-^1.17.0-green.svg?style=flat-square)](https://modelcontextprotocol.io/)
9
- [![Version](https://img.shields.io/badge/Version-1.3.4-blue.svg?style=flat-square)](./CHANGELOG.md)
8
+ [![Model Context Protocol](https://img.shields.io/badge/MCP%20SDK-^1.17.1-green.svg?style=flat-square)](https://modelcontextprotocol.io/)
9
+ [![Version](https://img.shields.io/badge/Version-1.4.1-blue.svg?style=flat-square)](./CHANGELOG.md)
10
10
  [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=flat-square)](https://opensource.org/licenses/Apache-2.0)
11
11
  [![Status](https://img.shields.io/badge/Status-Stable-green.svg?style=flat-square)](https://github.com/cyanheads/pubmed-mcp-server/issues)
12
12
  [![GitHub](https://img.shields.io/github/stars/cyanheads/pubmed-mcp-server?style=social)](https://github.com/cyanheads/pubmed-mcp-server)
13
13
 
14
14
  </div>
15
15
 
16
- Model Context Protocol (MCP) Server providing comprehensive access to PubMed's biomedical literature database. Enables LLMs and AI agents to search, retrieve, analyze, and visualize scientific publications through NCBI's E-utilities API with advanced research workflow capabilities.
16
+ A production-grade Model Context Protocol (MCP) server that empowers AI agents and research tools with comprehensive access to PubMed. Enables advanced, automated workflows for searching, retrieving, analyzing, and visualizing biomedical and scientific literature via NCBI E-utilities.
17
17
 
18
18
  Built on the [`cyanheads/mcp-ts-template`](https://github.com/cyanheads/mcp-ts-template), this server follows a modular architecture with robust error handling, logging, and security features.
19
19
 
@@ -21,13 +21,13 @@ Built on the [`cyanheads/mcp-ts-template`](https://github.com/cyanheads/mcp-ts-t
21
21
 
22
22
  This server equips your AI with specialized tools to interact with PubMed:
23
23
 
24
- | Tool Name | Description | Example |
25
- | :-------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |
26
- | [`search_pubmed_articles`](./src/mcp-server/tools/searchPubMedArticles/) | Searches PubMed for articles based on your query. | [View Example](./examples/search_pubmed_articles_example.md) |
27
- | [`fetch_pubmed_content`](./src/mcp-server/tools/fetchPubMedContent/) | Retrieves detailed information for PubMed articles. | [View Example](./examples/fetch_pubmed_content_example.md) |
28
- | [`get_pubmed_article_connections`](./src/mcp-server/tools/getPubMedArticleConnections/) | Finds related articles (cited by, similar, references) or formats citations for a PMID. | [Ex. 1](./examples/get_pubmed_article_connections_1.md), [Ex. 2](./examples/get_pubmed_article_connections_2.md) |
29
- | [`pubmed_research_agent`](./src/mcp-server/tools/pubmedResearchAgent/) | Generates a standardized JSON research plan outline from component details. | [View Example](./examples/pubmed_research_agent_example.md) |
30
- | [`generate_pubmed_chart`](./src/mcp-server/tools/generatePubMedChart/) | Generates a chart image (PNG) from given input data. | [View Examples](./examples/generate_pubmed_chart/) |
24
+ | Tool Name | Description | Example |
25
+ | :------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------- |
26
+ | [`pubmed_search_articles`](./src/mcp-server/tools/pubmedSearchArticles/) | Searches PubMed for articles based on your query. | [View Example](./examples/pubmed_search_articles_example.md) |
27
+ | [`pubmed_fetch_contents`](./src/mcp-server/tools/pubmedFetchContents/) | Retrieves detailed information for PubMed articles. | [View Example](./examples/pubmed_fetch_contents_example.md) |
28
+ | [`pubmed_article_connections`](./src/mcp-server/tools/pubmedArticleConnections/) | Finds related articles (cited by, similar, references) or formats citations for a PMID. | [Ex. 1](./examples/pubmed_article_connections_1.md), [Ex. 2](./examples/pubmed_article_connections_2.md) |
29
+ | [`pubmed_research_agent`](./src/mcp-server/tools/pubmedResearchAgent/) | Generates a standardized JSON research plan outline from component details. | [View Example](./examples/pubmed_research_agent_example.md) |
30
+ | [`pubmed_generate_chart`](./src/mcp-server/tools/pubmedGenerateChart/) | Generates a chart image (PNG) from given input data. | [View Examples](./examples/generate_pubmed_chart/) |
31
31
 
32
32
  ---
33
33
 
@@ -179,13 +179,13 @@ For a detailed file tree, run `npm run tree` or see [docs/tree.md](docs/tree.md)
179
179
 
180
180
  The PubMed MCP Server provides a comprehensive suite of tools for biomedical literature research, callable via the Model Context Protocol.
181
181
 
182
- | Tool Name | Description | Key Arguments |
183
- | :------------------------------- | :--------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |
184
- | `search_pubmed_articles` | Searches PubMed for articles using queries, filters, and date ranges. | `queryTerm`, `maxResults?`, `sortBy?`, `dateRange?`, `filterByPublicationTypes?`, `fetchBriefSummaries?` |
185
- | `fetch_pubmed_content` | Fetches detailed article information using PMIDs or search history. | `pmids?`, `queryKey?`, `webEnv?`, `detailLevel?`, `includeMeshTerms?`, `includeGrantInfo?` |
186
- | `get_pubmed_article_connections` | Finds related articles, citations, and references for a given PMID. | `sourcePmid`, `relationshipType?`, `maxRelatedResults?`, `citationStyles?` |
187
- | `pubmed_research_agent` | Generates structured research plans with literature search strategies. | `project_title_suggestion`, `primary_research_goal`, `research_keywords`, `organism_focus?`, `p1_*`, etc. |
188
- | `generate_pubmed_chart` | Creates customizable PNG charts from structured publication data. | `chartType`, `dataValues`, `xField`, `yField`, `title?`, `seriesField?`, `sizeField?` |
182
+ | Tool Name | Description | Key Arguments |
183
+ | :--------------------------- | :--------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |
184
+ | `pubmed_search_articles` | Searches PubMed for articles using queries, filters, and date ranges. | `queryTerm`, `maxResults?`, `sortBy?`, `dateRange?`, `filterByPublicationTypes?`, `fetchBriefSummaries?` |
185
+ | `pubmed_fetch_contents` | Fetches detailed article information using PMIDs or search history. | `pmids?`, `queryKey?`, `webEnv?`, `detailLevel?`, `includeMeshTerms?`, `includeGrantInfo?` |
186
+ | `pubmed_article_connections` | Finds related articles, citations, and references for a given PMID. | `sourcePmid`, `relationshipType?`, `maxRelatedResults?`, `citationStyles?` |
187
+ | `pubmed_research_agent` | Generates structured research plans with literature search strategies. | `project_title_suggestion`, `primary_research_goal`, `research_keywords`, `organism_focus?`, `p1_*`, etc. |
188
+ | `pubmed_generate_chart` | Creates customizable PNG charts from structured publication data. | `chartType`, `dataValues`, `xField`, `yField`, `title?`, `seriesField?`, `sizeField?` |
189
189
 
190
190
  _Note: All tools support comprehensive error handling and return structured JSON responses._
191
191
 
@@ -193,11 +193,11 @@ _Note: All tools support comprehensive error handling and return structured JSON
193
193
 
194
194
  Comprehensive usage examples for each tool are available in the [`examples/`](examples/) directory.
195
195
 
196
- - **`search_pubmed_articles`**: [View Example](./examples/search_pubmed_articles_example.md)
197
- - **`fetch_pubmed_content`**: [View Example](./examples/fetch_pubmed_content_example.md)
198
- - **`get_pubmed_article_connections`**: [Ex. 1](./examples/get_pubmed_article_connections_1.md), [Ex. 2](./examples/get_pubmed_article_connections_2.md)
196
+ - **`pubmed_search_articles`**: [View Example](./examples/pubmed_search_articles_example.md)
197
+ - **`pubmed_fetch_contents`**: [View Example](./examples/pubmed_fetch_contents_example.md)
198
+ - **`pubmed_article_connections`**: [Ex. 1](./examples/pubmed_article_connections_1.md), [Ex. 2](./examples/pubmed_article_connections_2.md)
199
199
  - **`pubmed_research_agent`**: [View Example](./examples/pubmed_research_agent_example.md)
200
- - **`generate_pubmed_chart`**: [View Examples](./examples/generate_pubmed_chart/)
200
+ - **`pubmed_generate_chart`**: [View Examples](./examples/generate_pubmed_chart/)
201
201
 
202
202
  ## Development & Testing
203
203
 
@@ -37,6 +37,16 @@ export declare const config: {
37
37
  ncbiAdminEmail: string | undefined;
38
38
  ncbiRequestDelayMs: number;
39
39
  ncbiMaxRetries: number;
40
+ openTelemetry: {
41
+ enabled: boolean;
42
+ serviceName: string;
43
+ serviceVersion: string;
44
+ tracesEndpoint: string | undefined;
45
+ metricsEndpoint: string | undefined;
46
+ samplingRatio: number;
47
+ logLevel: "NONE" | "ERROR" | "WARN" | "INFO" | "DEBUG" | "VERBOSE" | "ALL";
48
+ };
40
49
  };
41
50
  export declare const logLevel: string;
42
51
  export declare const environment: string;
52
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsSH,eAAO,MAAM,MAAM;;cAlPiB,MAAM;iBAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6R1D,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,MAAwB,CAAC;AAChD,eAAO,MAAM,WAAW,EAAE,MAA2B,CAAC"}
@@ -15,6 +15,10 @@ dotenv.config();
15
15
  // --- Determine Project Root ---
16
16
  const findProjectRoot = (startDir) => {
17
17
  let currentDir = startDir;
18
+ // If the start directory is in `dist`, start searching from the parent directory.
19
+ if (path.basename(currentDir) === "dist") {
20
+ currentDir = path.dirname(currentDir);
21
+ }
18
22
  while (true) {
19
23
  const packageJsonPath = join(currentDir, "package.json");
20
24
  if (existsSync(packageJsonPath)) {
@@ -33,21 +37,44 @@ try {
33
37
  projectRoot = findProjectRoot(currentModuleDir);
34
38
  }
35
39
  catch (error) {
36
- console.error(`FATAL: Error determining project root: ${error.message}`);
40
+ const errorMessage = error instanceof Error ? error.message : String(error);
41
+ console.error(`FATAL: Error determining project root: ${errorMessage}`);
37
42
  projectRoot = process.cwd();
38
- console.warn(`Warning: Using process.cwd() (${projectRoot}) as fallback project root.`);
39
- }
40
- // --- End Determine Project Root ---
41
- const pkgPath = join(projectRoot, "package.json");
42
- let pkg = { name: "pubmed-mcp-server", version: "0.0.0" };
43
- try {
44
- pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
45
- }
46
- catch (error) {
47
43
  if (process.stdout.isTTY) {
48
- console.error("Warning: Could not read package.json for default config values. Using hardcoded defaults.", error);
44
+ console.warn(`Warning: Using process.cwd() (${projectRoot}) as fallback project root.`);
49
45
  }
50
46
  }
47
+ // --- End Determine Project Root ---
48
+ /**
49
+ * Loads and parses the package.json file from the project root.
50
+ * @returns The parsed package.json object or a fallback default.
51
+ * @private
52
+ */
53
+ const loadPackageJson = () => {
54
+ const pkgPath = join(projectRoot, "package.json");
55
+ const fallback = { name: "pubmed-mcp-server", version: "0.0.0" };
56
+ if (!existsSync(pkgPath)) {
57
+ if (process.stdout.isTTY) {
58
+ console.warn(`Warning: package.json not found at ${pkgPath}. Using fallback values. This is expected in some environments (e.g., Docker) but may indicate an issue with project root detection.`);
59
+ }
60
+ return fallback;
61
+ }
62
+ try {
63
+ const fileContents = readFileSync(pkgPath, "utf-8");
64
+ const parsed = JSON.parse(fileContents);
65
+ return {
66
+ name: typeof parsed.name === "string" ? parsed.name : fallback.name,
67
+ version: typeof parsed.version === "string" ? parsed.version : fallback.version,
68
+ };
69
+ }
70
+ catch (error) {
71
+ if (process.stdout.isTTY) {
72
+ console.error("Warning: Could not read or parse package.json. Using hardcoded defaults.", error);
73
+ }
74
+ return fallback;
75
+ }
76
+ };
77
+ const pkg = loadPackageJson();
51
78
  const EnvSchema = z
52
79
  .object({
53
80
  // Core Server Config
@@ -77,7 +104,7 @@ const EnvSchema = z
77
104
  .number()
78
105
  .int()
79
106
  .positive()
80
- .default(1800000),
107
+ .default(1_800_000),
81
108
  MCP_ALLOWED_ORIGINS: z.string().optional(),
82
109
  // Authentication
83
110
  MCP_AUTH_MODE: z.enum(["jwt", "oauth", "none"]).default("none"),
@@ -97,6 +124,26 @@ const EnvSchema = z
97
124
  NCBI_ADMIN_EMAIL: z.string().email().optional(),
98
125
  NCBI_REQUEST_DELAY_MS: z.coerce.number().int().positive().optional(),
99
126
  NCBI_MAX_RETRIES: z.coerce.number().int().nonnegative().default(3),
127
+ // --- START: OpenTelemetry Configuration ---
128
+ /** If 'true', OpenTelemetry will be initialized and enabled. Default: 'false'. */
129
+ OTEL_ENABLED: z
130
+ .string()
131
+ .transform((v) => v.toLowerCase() === "true")
132
+ .default("false"),
133
+ /** The logical name of the service. Defaults to MCP_SERVER_NAME or package name. */
134
+ OTEL_SERVICE_NAME: z.string().optional(),
135
+ /** The version of the service. Defaults to MCP_SERVER_VERSION or package version. */
136
+ OTEL_SERVICE_VERSION: z.string().optional(),
137
+ /** The OTLP endpoint for traces. If not set, traces are logged to a file in development. */
138
+ OTEL_EXPORTER_OTLP_TRACES_ENDPOINT: z.string().url().optional(),
139
+ /** The OTLP endpoint for metrics. If not set, metrics are not exported. */
140
+ OTEL_EXPORTER_OTLP_METRICS_ENDPOINT: z.string().url().optional(),
141
+ /** Sampling ratio for traces (0.0 to 1.0). 1.0 means sample all. Default: 1.0 */
142
+ OTEL_TRACES_SAMPLER_ARG: z.coerce.number().min(0).max(1).default(1.0),
143
+ /** Log level for OpenTelemetry's internal diagnostic logger. Default: "INFO". */
144
+ OTEL_LOG_LEVEL: z
145
+ .enum(["NONE", "ERROR", "WARN", "INFO", "DEBUG", "VERBOSE", "ALL"])
146
+ .default("INFO"),
100
147
  })
101
148
  .superRefine((data, ctx) => {
102
149
  if (data.NODE_ENV === "production" &&
@@ -225,6 +272,16 @@ export const config = {
225
272
  ncbiAdminEmail: env.NCBI_ADMIN_EMAIL,
226
273
  ncbiRequestDelayMs: env.NCBI_REQUEST_DELAY_MS ?? (env.NCBI_API_KEY ? 100 : 334),
227
274
  ncbiMaxRetries: env.NCBI_MAX_RETRIES,
275
+ openTelemetry: {
276
+ enabled: env.OTEL_ENABLED,
277
+ serviceName: env.OTEL_SERVICE_NAME || env.MCP_SERVER_NAME || pkg.name,
278
+ serviceVersion: env.OTEL_SERVICE_VERSION || env.MCP_SERVER_VERSION || pkg.version,
279
+ tracesEndpoint: env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT,
280
+ metricsEndpoint: env.OTEL_EXPORTER_OTLP_METRICS_ENDPOINT,
281
+ samplingRatio: env.OTEL_TRACES_SAMPLER_ARG,
282
+ logLevel: env.OTEL_LOG_LEVEL,
283
+ },
228
284
  };
229
285
  export const logLevel = config.logLevel;
230
286
  export const environment = config.environment;
287
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,3 +22,4 @@
22
22
  * @module src/index
23
23
  */
24
24
  export {};
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG"}
package/dist/index.js CHANGED
@@ -172,7 +172,7 @@ const start = async () => {
172
172
  logger.error("FATAL: Uncaught exception detected. This indicates a bug or unexpected state. Initiating shutdown...", errorContext);
173
173
  await shutdown("uncaughtException");
174
174
  });
175
- process.on("unhandledRejection", async (reason, promise) => {
175
+ process.on("unhandledRejection", async (reason) => {
176
176
  const rejectionContext = {
177
177
  ...startupContext,
178
178
  triggerEvent: "unhandledRejection",
@@ -206,3 +206,4 @@ const start = async () => {
206
206
  process.exit(1);
207
207
  }
208
208
  })();
209
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @fileoverview Defines a wrapper around the McpServer class to provide
3
+ * extended functionality, such as metadata introspection, without needing
4
+ * to access private properties of the underlying SDK class.
5
+ * @module src/mcp-server/core/managedMcpServer
6
+ */
7
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
+ type RegisterToolParameters = Parameters<McpServer["registerTool"]>;
9
+ type ToolSpec = RegisterToolParameters[1];
10
+ type ToolImplementation = RegisterToolParameters[2];
11
+ type RegisteredToolReturn = ReturnType<McpServer["registerTool"]>;
12
+ type ServerIdentity = ConstructorParameters<typeof McpServer>[0];
13
+ type McpServerOptions = NonNullable<ConstructorParameters<typeof McpServer>[1]>;
14
+ /**
15
+ * A wrapper around the McpServer that captures registration metadata
16
+ * to make it available for status endpoints and other diagnostics.
17
+ * It acts as a full pass-through for all McpServer functionality.
18
+ */
19
+ export declare class ManagedMcpServer extends McpServer {
20
+ private readonly storedTools;
21
+ readonly serverIdentity: ServerIdentity;
22
+ readonly serverOptions?: McpServerOptions;
23
+ constructor(identity: ServerIdentity, options?: McpServerOptions);
24
+ registerTool(name: string, spec: ToolSpec, implementation: ToolImplementation): RegisteredToolReturn;
25
+ /**
26
+ * Retrieves the metadata for all registered tools.
27
+ */
28
+ getTools(): {
29
+ name: string;
30
+ description?: string;
31
+ inputSchema: unknown;
32
+ outputSchema?: unknown;
33
+ }[];
34
+ /**
35
+ * Gets the server's name from its identity.
36
+ */
37
+ get name(): string;
38
+ /**
39
+ * Gets the server's version from its identity.
40
+ */
41
+ get version(): string;
42
+ /**
43
+ * Gets the server's capabilities from its options.
44
+ */
45
+ get capabilities(): McpServerOptions["capabilities"] | undefined;
46
+ }
47
+ export {};
48
+ //# sourceMappingURL=managedMcpServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedMcpServer.d.ts","sourceRoot":"","sources":["../../../src/mcp-server/core/managedMcpServer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKpE,KAAK,sBAAsB,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AACpE,KAAK,QAAQ,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAC1C,KAAK,kBAAkB,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACpD,KAAK,oBAAoB,GAAG,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;AAElE,KAAK,cAAc,GAAG,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,KAAK,gBAAgB,GAAG,WAAW,CAAC,qBAAqB,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAOhF;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,SAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,aAAa,CAAC,EAAE,gBAAgB,CAAC;gBAErC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAMvD,YAAY,CACnB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,cAAc,EAAE,kBAAkB,GACjC,oBAAoB;IAKvB;;OAEG;IACI,QAAQ,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,EAAE;IASH;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAE3B;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,gBAAgB,CAAC,cAAc,CAAC,GAAG,SAAS,CAQtE;CACF"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @fileoverview Defines a wrapper around the McpServer class to provide
3
+ * extended functionality, such as metadata introspection, without needing
4
+ * to access private properties of the underlying SDK class.
5
+ * @module src/mcp-server/core/managedMcpServer
6
+ */
7
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
+ /**
9
+ * A wrapper around the McpServer that captures registration metadata
10
+ * to make it available for status endpoints and other diagnostics.
11
+ * It acts as a full pass-through for all McpServer functionality.
12
+ */
13
+ export class ManagedMcpServer extends McpServer {
14
+ storedTools = [];
15
+ serverIdentity;
16
+ serverOptions;
17
+ constructor(identity, options) {
18
+ super(identity, options);
19
+ this.serverIdentity = identity;
20
+ this.serverOptions = options;
21
+ }
22
+ registerTool(name, spec, implementation) {
23
+ this.storedTools.push({ name, spec });
24
+ return super.registerTool(name, spec, implementation);
25
+ }
26
+ /**
27
+ * Retrieves the metadata for all registered tools.
28
+ */
29
+ getTools() {
30
+ return this.storedTools.map((t) => ({
31
+ name: t.name,
32
+ description: t.spec.description,
33
+ inputSchema: t.spec.inputSchema,
34
+ outputSchema: t.spec.outputSchema,
35
+ }));
36
+ }
37
+ /**
38
+ * Gets the server's name from its identity.
39
+ */
40
+ get name() {
41
+ return this.serverIdentity.name;
42
+ }
43
+ /**
44
+ * Gets the server's version from its identity.
45
+ */
46
+ get version() {
47
+ return this.serverIdentity.version;
48
+ }
49
+ /**
50
+ * Gets the server's capabilities from its options.
51
+ */
52
+ get capabilities() {
53
+ // The type inference for McpServerOptions is imperfect, so we cast to a
54
+ // known shape as a pragmatic solution, knowing the property exists at runtime.
55
+ return this.serverOptions?.capabilities;
56
+ }
57
+ }
58
+ //# sourceMappingURL=managedMcpServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managedMcpServer.js","sourceRoot":"","sources":["../../../src/mcp-server/core/managedMcpServer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBpE;;;;GAIG;AACH,MAAM,OAAO,gBAAiB,SAAQ,SAAS;IAC5B,WAAW,GAAiB,EAAE,CAAC;IAEhC,cAAc,CAAiB;IAC/B,aAAa,CAAoB;IAEjD,YAAY,QAAwB,EAAE,OAA0B;QAC9D,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC/B,CAAC;IAEQ,YAAY,CACnB,IAAY,EACZ,IAAc,EACd,cAAkC;QAElC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACI,QAAQ;QAMb,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/B,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY;SAClC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,wEAAwE;QACxE,+EAA+E;QAC/E,OACE,IAAI,CAAC,aAGN,EAAE,YAAY,CAAC;IAClB,CAAC;CACF"}
@@ -15,3 +15,4 @@ import http from "http";
15
15
  * Main application entry point. Initializes and starts the MCP server.
16
16
  */
17
17
  export declare function initializeAndStartServer(): Promise<McpServer | http.Server>;
18
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,IAAI,MAAM,MAAM,CAAC;AAqGxB;;GAEG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CACvD,SAAS,GAAG,IAAI,CAAC,MAAM,CACxB,CA6BA"}
@@ -9,20 +9,20 @@
9
9
  *
10
10
  * @module src/mcp-server/server
11
11
  */
12
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
13
12
  import { config, environment } from "../config/index.js";
14
13
  import { ErrorHandler, logger, requestContextService } from "../utils/index.js";
15
- import { registerFetchPubMedContentTool } from "./tools/fetchPubMedContent/index.js";
16
- import { registerGeneratePubMedChartTool } from "./tools/generatePubMedChart/index.js";
17
- import { registerGetPubMedArticleConnectionsTool } from "./tools/getPubMedArticleConnections/index.js";
14
+ import { ManagedMcpServer } from "./core/managedMcpServer.js";
15
+ import { registerPubMedArticleConnectionsTool } from "./tools/pubmedArticleConnections/index.js";
16
+ import { registerPubMedFetchContentsTool } from "./tools/pubmedFetchContents/index.js";
17
+ import { registerPubMedGenerateChartTool } from "./tools/pubmedGenerateChart/index.js";
18
18
  import { registerPubMedResearchAgentTool } from "./tools/pubmedResearchAgent/index.js";
19
- import { registerSearchPubMedArticlesTool } from "./tools/searchPubMedArticles/index.js";
19
+ import { registerPubMedSearchArticlesTool } from "./tools/pubmedSearchArticles/index.js";
20
20
  import { startHttpTransport } from "./transports/http/index.js";
21
21
  import { startStdioTransport } from "./transports/stdio/index.js";
22
22
  /**
23
23
  * Creates and configures a new instance of the `McpServer`.
24
24
  *
25
- * @returns A promise resolving with the configured `McpServer` instance.
25
+ * @returns A promise resolving with the configured `ManagedMcpServer` instance.
26
26
  * @throws {McpError} If any resource or tool registration fails.
27
27
  * @private
28
28
  */
@@ -36,7 +36,7 @@ async function createMcpServerInstance() {
36
36
  appVersion: config.mcpServerVersion,
37
37
  environment,
38
38
  });
39
- const server = new McpServer({ name: config.mcpServerName, version: config.mcpServerVersion }, {
39
+ const server = new ManagedMcpServer({ name: config.mcpServerName, version: config.mcpServerVersion }, {
40
40
  capabilities: {
41
41
  logging: {},
42
42
  resources: { listChanged: true },
@@ -46,11 +46,11 @@ async function createMcpServerInstance() {
46
46
  try {
47
47
  logger.debug("Registering resources and tools...", context);
48
48
  // IMPORTANT: Keep tool registrations in alphabetical order.
49
- await registerFetchPubMedContentTool(server);
50
- await registerGeneratePubMedChartTool(server);
51
- await registerGetPubMedArticleConnectionsTool(server);
49
+ await registerPubMedArticleConnectionsTool(server);
50
+ await registerPubMedFetchContentsTool(server);
51
+ await registerPubMedGenerateChartTool(server);
52
52
  await registerPubMedResearchAgentTool(server);
53
- await registerSearchPubMedArticlesTool(server);
53
+ await registerPubMedSearchArticlesTool(server);
54
54
  logger.info("Resources and tools registered successfully", context);
55
55
  }
56
56
  catch (err) {
@@ -117,3 +117,4 @@ export async function initializeAndStartServer() {
117
117
  process.exit(1);
118
118
  }
119
119
  }
120
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp-server/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview Barrel file for the pubmedArticleConnections tool.
3
+ * Exports the registration function for this tool.
4
+ * @module src/mcp-server/tools/pubmedArticleConnections/index
5
+ */
6
+ export { registerPubMedArticleConnectionsTool } from "./registration.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/mcp-server/tools/pubmedArticleConnections/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @fileoverview Barrel file for the pubmedArticleConnections tool.
3
+ * Exports the registration function for this tool.
4
+ * @module src/mcp-server/tools/pubmedArticleConnections/index
5
+ */
6
+ export { registerPubMedArticleConnectionsTool } from "./registration.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mcp-server/tools/pubmedArticleConnections/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oCAAoC,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fileoverview Handles citation formatting for the pubmedArticleConnections tool.
3
+ * Fetches article details using EFetch and formats them into various citation styles.
4
+ * @module src/mcp-server/tools/pubmedArticleConnections/logic/citationFormatter
5
+ */
6
+ import { RequestContext } from "../../../../utils/index.js";
7
+ import type { PubMedArticleConnectionsInput } from "./index.js";
8
+ import type { ToolOutputData } from "./types.js";
9
+ export declare function handleCitationFormats(input: PubMedArticleConnectionsInput, outputData: ToolOutputData, context: RequestContext): Promise<void>;
10
+ //# sourceMappingURL=citationFormatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citationFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-server/tools/pubmedArticleConnections/logic/citationFormatter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAEL,cAAc,EAEf,MAAM,4BAA4B,CAAC;AAQpC,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjD,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,6BAA6B,EACpC,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAgDf"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * @fileoverview Handles citation formatting for the getPubMedArticleConnections tool.
2
+ * @fileoverview Handles citation formatting for the pubmedArticleConnections tool.
3
3
  * Fetches article details using EFetch and formats them into various citation styles.
4
- * @module src/mcp-server/tools/getPubMedArticleConnections/logic/citationFormatter
4
+ * @module src/mcp-server/tools/pubmedArticleConnections/logic/citationFormatter
5
5
  */
6
6
  import Cite from "citation-js";
7
7
  import { getNcbiService } from "../../../../services/NCBI/core/ncbiService.js";
@@ -112,3 +112,4 @@ function pubmedArticleToCsl(article, context) {
112
112
  }
113
113
  return cslData;
114
114
  }
115
+ //# sourceMappingURL=citationFormatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"citationFormatter.js","sourceRoot":"","sources":["../../../../../src/mcp-server/tools/pubmedArticleConnections/logic/citationFormatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @fileoverview Handles ELink requests and enriches results with ESummary data
3
+ * for the pubmedArticleConnections tool.
4
+ * @module src/mcp-server/tools/pubmedArticleConnections/logic/elinkHandler
5
+ */
6
+ import { RequestContext } from "../../../../utils/index.js";
7
+ import type { PubMedArticleConnectionsInput } from "./index.js";
8
+ import type { ToolOutputData } from "./types.js";
9
+ export declare function handleELinkRelationships(input: PubMedArticleConnectionsInput, outputData: ToolOutputData, context: RequestContext): Promise<void>;
10
+ //# sourceMappingURL=elinkHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elinkHandler.d.ts","sourceRoot":"","sources":["../../../../../src/mcp-server/tools/pubmedArticleConnections/logic/elinkHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAU,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAQjD,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,6BAA6B,EACpC,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CA2Pf"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @fileoverview Handles ELink requests and enriches results with ESummary data
3
- * for the getPubMedArticleConnections tool.
4
- * @module src/mcp-server/tools/getPubMedArticleConnections/logic/elinkHandler
3
+ * for the pubmedArticleConnections tool.
4
+ * @module src/mcp-server/tools/pubmedArticleConnections/logic/elinkHandler
5
5
  */
6
6
  import { getNcbiService } from "../../../../services/NCBI/core/ncbiService.js";
7
7
  import { logger } from "../../../../utils/index.js";
@@ -207,3 +207,4 @@ export async function handleELinkRelationships(input, outputData, context) {
207
207
  }
208
208
  outputData.retrievedCount = outputData.relatedArticles.length;
209
209
  }
210
+ //# sourceMappingURL=elinkHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elinkHandler.js","sourceRoot":"","sources":["../../../../../src/mcp-server/tools/pubmedArticleConnections/logic/elinkHandler.ts"],"names":[],"mappings":"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"}