Skip to main content
Glama
LarouTech

MCP Server TypeScript Boilerplate

by LarouTech
ResourceManager.ts1.06 kB
import { Resource } from "@modelcontextprotocol/sdk/types.js"; import { logger } from "../utils/logger"; import { BaseResource } from "../resources/BaseResource"; import { FileResource } from "../resources/FileResource"; export class ResourceManager { private resources: Map<string, BaseResource> = new Map(); constructor() { this.registerResources(); } private registerResources(): void { const resources = [ new FileResource(), // Add more resources here ]; resources.forEach((resource) => { this.resources.set(resource.uri, resource); logger.info(`Registered resource: ${resource.uri}`); }); } listResources(): Resource[] { return Array.from(this.resources.values()).map((resource) => resource.getDefinition() ); } async readResource(uri: string): Promise<any> { const resource = this.resources.get(uri); if (!resource) { throw new Error(`Resource not found: ${uri}`); } logger.info(`Reading resource: ${uri}`); return await resource.read(); } }

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/LarouTech/mcp-server-boilerplate'

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