UNPKG

mcp-framework

Version:

Framework for building Model Context Protocol (MCP) servers in Typescript

38 lines (37 loc) 1.13 kB
import { BaseLoader } from './BaseLoader.js'; import { logger } from '../core/Logger.js'; export class ResourceLoader extends BaseLoader { constructor(basePath) { super({ subdirectory: 'resources', excludedFiles: ['BaseResource.js', '*.test.js', '*.spec.js'], extensions: ['.js'], }, basePath); } async hasResources() { return this.hasItems(); } validateItem(resource) { const isValid = Boolean(resource && typeof resource.uri === 'string' && typeof resource.name === 'string' && resource.resourceDefinition && typeof resource.read === 'function'); if (isValid) { logger.debug(`Validated resource: ${resource.name}`); } else { logger.warn(`Invalid resource found: missing required properties`); } return isValid; } createInstance(ResourceClass) { return new ResourceClass(); } getItemName(resource) { return resource.name; } async loadResources() { return this.loadItems(); } }