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.

55 lines 2.72 kB
/** * @fileoverview Article ID conversion tool. Converts between DOI, PMID, and PMCID * using the NCBI PMC ID Converter API for deterministic, batch-friendly resolution. * @module src/mcp-server/tools/definitions/convert-ids.tool */ import { z } from '@cyanheads/mcp-ts-core'; export declare const convertIdsTool: import("@cyanheads/mcp-ts-core").ToolDefinition<z.ZodObject<{ ids: z.ZodArray<z.ZodString>; idType: z.ZodEnum<{ pmid: "pmid"; pmcid: "pmcid"; doi: "doi"; }>; }, z.core.$strip>, z.ZodObject<{ records: z.ZodArray<z.ZodObject<{ requestedId: z.ZodString; pmid: z.ZodOptional<z.ZodString>; pmcid: z.ZodOptional<z.ZodString>; doi: z.ZodOptional<z.ZodString>; errmsg: z.ZodOptional<z.ZodString>; }, z.core.$strip>>; totalConverted: z.ZodNumber; totalSubmitted: z.ZodNumber; }, 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=convert-ids.tool.d.ts.map