Skip to main content
Glama
entrez-sdk.d.ts6.44 kB
/** * Entrez MCP Server - TypeScript Type Definitions */ export interface SearchOptions { retmax?: number; retstart?: number; sort?: string; field?: string; intendedUse?: "search" | "analysis" | "citation" | "staging"; } export interface SummaryOptions { retmax?: number; compactMode?: boolean; detailLevel?: "brief" | "auto" | "full"; maxTokens?: number; } export interface FetchOptions { rettype?: string; intendedUse?: "search" | "analysis" | "citation" | "staging"; detailLevel?: "brief" | "auto" | "full"; } export interface LinkOptions { dbfrom?: string; linkname?: string; } export interface PostOptions { usehistory?: "y" | "n"; } export interface FetchAndStageOptions { rettype?: string; forceDirect?: boolean; includeRaw?: boolean; } export interface QueryOptions { intendedUse?: "search" | "analysis" | "citation" | "full"; maxTokens?: number; responseStyle?: "text" | "json"; } export interface StructureSearchOptions { threshold?: number; maxRecords?: number; } export interface PmcIdConvertOptions { versions?: "yes" | "no"; } export interface CapabilitiesOptions { format?: "summary" | "detailed" | "json"; tool?: string; includeMetadata?: boolean; } export interface SearchResult { success: boolean; message: string; database: string; query: string; idlist: string[]; total_results: number; returned_results: number; suggestions: string[]; context_notes: string[]; next_steps: string[]; } export interface StagingResult { success: boolean; message: string; data_access_id: string; database: string; requested_ids: string[]; staged_record_count: number; staged_table_count: number; tables_created: string[]; schema_guidance: SchemaGuidance; diagnostics: ParsingDiagnostics; quality_metrics: QualityMetrics; } export interface SchemaGuidance { recommended_queries: RecommendedQuery[]; common_joins: CommonJoin[]; column_descriptions: ColumnDescription[]; example_usage: string[]; } export interface RecommendedQuery { description: string; sql: string; use_case: string; } export interface CommonJoin { description: string; tables: string[]; join_condition: string; example_sql: string; } export interface ColumnDescription { table: string; column: string; type: string; description: string; example_values: string[]; common_aliases: string[]; } export interface ParsingDiagnostics { method_used: string; terms_found: number; failed_extractions: string[]; warnings: string[]; indexing_status: string; mesh_availability: "full" | "partial" | "none"; } export interface QualityMetrics { articles_processed: number; mesh_success_rate: number; parsing_warnings: string[]; missing_relationships: string[]; articles_with_mesh: number; articles_without_mesh: number; } export interface SchemaResult { success: boolean; message: string; data_access_id: string; schema: DatabaseSchema; table_names: string[]; quick_start: QuickStart; schema_guidance: SchemaGuidance; } export interface DatabaseSchema { basic_schema: TableDefinition[]; enhanced_schemas: Record<string, EnhancedSchema>; schema_guidance: SchemaGuidance; } export interface TableDefinition { name: string; sql: string; } export interface EnhancedSchema { table_name: string; columns: Record<string, ColumnMetadata>; relationships: string[]; example_queries: RecommendedQuery[]; } export interface ColumnMetadata { type: string; description: string; example_values: string[]; common_aliases: string[]; } export interface QuickStart { sample_queries: string[]; important_notes: string[]; } export interface QueryResult { success: boolean; message: string; data_access_id: string; query: string; row_count: number; results: any[]; query_executed: string; suggestions: string[]; response_style: string; } export class DataStaging { constructor( sdk: EntrezSDK, dataAccessId: string, stagingResult: StagingResult, ); readonly sdk: EntrezSDK; readonly dataAccessId: string; readonly stagingResult: StagingResult; query(sql: string, options?: QueryOptions): Promise<QueryResult>; getSmartSummary(options?: QueryOptions): Promise<any>; getSchema(): Promise<SchemaResult>; getMetadata(): StagingResult; } export class EntrezSDK { constructor(baseUrl?: string); readonly baseUrl: string; sessionId: string | null; // Internal methods private _call(toolName: string, params: any): Promise<any>; // System tools getApiKeyStatus(): Promise<any>; getCapabilities(options?: CapabilitiesOptions): Promise<any>; getToolInfo(toolName: string, format?: "summary" | "json"): Promise<any>; // Entrez Query tools search( database: string, term: string, options?: SearchOptions, ): Promise<SearchResult>; summary( database: string, ids: string | string[], options?: SummaryOptions, ): Promise<any>; fetch( database: string, ids: string | string[], options?: FetchOptions, ): Promise<any>; info(database: string): Promise<any>; link( database: string, ids: string | string[], options?: LinkOptions, ): Promise<any>; post( database: string, ids: string | string[], options?: PostOptions, ): Promise<any>; globalQuery(term: string): Promise<any>; spell(term: string, database?: string): Promise<any>; // Data staging tools fetchAndStage( database: string, ids: string | string[], options?: FetchAndStageOptions, ): Promise<DataStaging>; queryStagedData( dataAccessId: string, sql: string, options?: QueryOptions, ): Promise<QueryResult>; getSmartSummary(dataAccessId: string, options?: QueryOptions): Promise<any>; getSchema(dataAccessId: string): Promise<SchemaResult>; listDatasets(): Promise<any>; // External API tools getCompound( identifier: string, identifierType?: string, outputFormat?: string, ): Promise<any>; getSubstance( identifier: string, identifierType?: string, outputFormat?: string, ): Promise<any>; getBioassay( identifier: string, identifierType?: string, outputFormat?: string, ): Promise<any>; structureSearch( structure: string, structureType: string, searchType: string, options?: StructureSearchOptions, ): Promise<any>; convertPmcIds( ids: string | string[], options?: PmcIdConvertOptions, ): Promise<any>; getPmcArticle(id: string, outputFormat?: string): Promise<any>; exportCitations( ids: string | string[], citationFormat?: "ris" | "nbib" | "medline" | "bibtex", ): Promise<any>; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/QuentinCody/entrez-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server