@access-mcp/shared
Version:
Shared utilities for ACCESS-CI MCP servers
145 lines (144 loc) • 3.93 kB
TypeScript
/**
* 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;
};
};