Skip to main content
Glama
resourceLoader.js1.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(); } }

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/madebyaris/rakitui-ai'

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