UNPKG

@access-mcp/shared

Version:

Shared utilities for ACCESS-CI MCP servers

145 lines (144 loc) 3.93 kB
/** * Shared taxonomies and reference data for ACCESS-CI MCP servers * These provide context to AI assistants about the ACCESS-CI ecosystem */ export interface FieldOfScience { name: string; description: string; keywords: string[]; typical_resources: string[]; common_software: string[]; allocation_range?: { min: number; max: number; typical: number; }; } /** * NSF Field of Science classification with ACCESS-CI context * Based on NSF's formal classification system with added context about * typical resource usage patterns and software requirements */ export declare const FIELDS_OF_SCIENCE: Record<string, FieldOfScience>; /** * ACCESS Allocation Types with definitions and typical use cases */ export interface AllocationType { name: string; description: string; typical_duration: string; credit_range: { min: number; max: number; }; use_cases: string[]; eligibility: string; } export declare const ALLOCATION_TYPES: Record<string, AllocationType>; /** * Common resource types and their characteristics */ export interface ResourceType { name: string; description: string; typical_use_cases: string[]; key_features: string[]; } export declare const RESOURCE_TYPES: Record<string, ResourceType>; /** * Get field of science by name or partial match */ export declare function getFieldOfScience(fieldName: string): FieldOfScience | null; /** * Get all field names */ export declare function getFieldNames(): string[]; /** * Get allocation type by name */ export declare function getAllocationType(typeName: string): AllocationType | null; /** * ACCESS-CI Feature Codes * These numeric codes identify capabilities and characteristics of ACCESS resources * Derived from the ACCESS Operations API resource catalog */ export declare const ACCESS_FEATURE_CODES: Record<number, string>; /** * Get feature name by code */ export declare function getFeatureName(featureCode: number): string; /** * Get feature names for an array of codes */ export declare function getFeatureNames(featureCodes: number[]): string[]; /** * Major ACCESS-CI Systems Catalog * Based on https://ara.access-ci.org/ resource advisor */ export interface AccessSystem { name: string; organization: string; description: string; strengths: string[]; gpu_types?: string[]; max_memory_per_node?: string; storage_capacity?: string; user_interfaces: string[]; ideal_for: string[]; experience_level: string[]; } export declare const ACCESS_SYSTEMS: Record<string, AccessSystem>; /** * Memory requirements guide */ export declare const MEMORY_REQUIREMENTS: { "< 64 GB": { description: string; typical_uses: string[]; recommended_systems: string[]; }; "64-256 GB": { description: string; typical_uses: string[]; recommended_systems: string[]; }; "256-512 GB": { description: string; typical_uses: string[]; recommended_systems: string[]; }; "> 512 GB": { description: string; typical_uses: string[]; recommended_systems: string[]; }; }; /** * GPU selection guide based on use case */ export declare const GPU_SELECTION_GUIDE: { "Large Language Models": { recommended_gpu: string; recommended_systems: string[]; min_memory: string; notes: string; }; "Computer Vision": { recommended_gpu: string; recommended_systems: string[]; min_memory: string; notes: string; }; "Molecular Dynamics": { recommended_gpu: string; recommended_systems: string[]; min_memory: string; notes: string; }; "General AI/ML": { recommended_gpu: string; recommended_systems: string[]; min_memory: string; notes: string; }; };