@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.
41 lines • 1.84 kB
TypeScript
/**
* @fileoverview Ontology-backed semantic concept identifiers attached to each
* tool's `_meta['io.mcpmed/concepts']` field. Each constant is a stable URI
* from an established vocabulary (Schema.org or EDAM) paired with a human
* label — no free-text placeholders.
*
* This implements the semantic concept mapping proposed in MCPmed
* (Flotho et al., Briefings in Bioinformatics, 2026; doi:10.1093/bib/bbag076)
* with resolvable URIs rather than the placeholder strings used in that paper's
* reference implementations.
*
* Namespacing: the `io.mcpmed/concepts` key is a proposal for MCPmed-aligned
* servers. If MCPmed standardizes a different key, this is a single rename.
*
* @module src/mcp-server/tools/definitions/_concepts
*/
/** A single ontology-backed concept tag. */
export interface ConceptTag {
readonly id: string;
readonly label: string;
}
export declare const SCHEMA_SEARCH_ACTION: ConceptTag;
export declare const SCHEMA_SCHOLARLY_ARTICLE: ConceptTag;
export declare const SCHEMA_CREATIVE_WORK: ConceptTag;
export declare const SCHEMA_DEFINED_TERM: ConceptTag;
export declare const SCHEMA_DEFINED_TERM_SET: ConceptTag;
export declare const EDAM_DATABASE_SEARCH: ConceptTag;
export declare const EDAM_DATA_RETRIEVAL: ConceptTag;
export declare const EDAM_ID_MAPPING: ConceptTag;
export declare const EDAM_DATA_FORMATTING: ConceptTag;
export declare const EDAM_ONTOLOGY_TERMINOLOGY: ConceptTag;
export declare const EDAM_PUBMED_ID: ConceptTag;
export declare const EDAM_ACCESSION: ConceptTag;
/**
* Builds the `_meta` payload emitted alongside each tool definition.
* Kept as a helper so the key namespace is declared exactly once.
*/
export declare function conceptMeta(concepts: readonly ConceptTag[]): {
'io.mcpmed/concepts': readonly ConceptTag[];
};
//# sourceMappingURL=_concepts.d.ts.map