UNPKG

@cyanheads/pubmed-mcp-server

Version:

Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms via MCP. STDIO or Streamable HTTP.

62 lines 2.95 kB
/** * @fileoverview PubMed related articles tool — finds articles related to a * source article via NCBI ELink and enriches results with ESummary data. * @module src/mcp-server/tools/definitions/find-related.tool */ import { z } from '@cyanheads/mcp-ts-core'; export declare const findRelatedTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{ pmid: z.ZodString; relationship: z.ZodDefault<z.ZodEnum<{ references: "references"; similar: "similar"; cited_by: "cited_by"; }>>; maxResults: z.ZodDefault<z.ZodNumber>; }, z.core.$strip>, z.ZodObject<{ sourcePmid: z.ZodString; relationship: z.ZodEnum<{ references: "references"; similar: "similar"; cited_by: "cited_by"; }>; articles: z.ZodArray<z.ZodObject<{ pmid: z.ZodString; title: z.ZodOptional<z.ZodString>; authors: z.ZodOptional<z.ZodString>; source: z.ZodOptional<z.ZodString>; pubDate: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; totalFound: z.ZodNumber; notice: z.ZodOptional<z.ZodString>; }, z.core.$strip>, readonly [{ readonly reason: "queue_full"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.RateLimited; readonly when: "Local NCBI request queue is at capacity."; readonly recovery: "Retry after 1-2 seconds; the request queue hit the NCBI rate limit."; readonly retryable: true; }, { readonly reason: "ncbi_unreachable"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.ServiceUnavailable; readonly when: "NCBI E-utilities is unreachable after all retry attempts."; readonly recovery: "Retry after a brief delay; NCBI was unreachable across all retry attempts."; readonly retryable: true; }, { readonly reason: "ncbi_deadline_exceeded"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.Timeout; readonly when: "Total request deadline expired before NCBI returned a response."; readonly recovery: "Reduce batch size or retry; NCBI may be under temporary load."; readonly retryable: true; }, { readonly reason: "ncbi_invalid_response"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.SerializationError; readonly when: "NCBI returned a body that could not be parsed (invalid XML/JSON)."; readonly recovery: "Retry the request; NCBI returned a malformed response that could not be parsed."; readonly retryable: true; }, { readonly reason: "ncbi_resource_not_found"; readonly code: import("@cyanheads/mcp-ts-core/errors").JsonRpcErrorCode.NotFound; readonly when: "NCBI returned a structured \"not found\" error for the requested ID(s)."; readonly recovery: "Verify the ID exists in PubMed; the resource was not found in NCBI and retrying will not help."; readonly retryable: false; }]>; //# sourceMappingURL=find-related.tool.d.ts.map