UNPKG

systemprompt-mcp-interview

Version:

A specialized Model Context Protocol (MCP) server that enables AI-powered interview roleplay scenarios

44 lines 1.88 kB
import { SystemPromptService } from "../services/systemprompt-service.js"; import { mapBlockToReadResourceResult, mapBlocksToListResourcesResult, } from "../utils/mcp-mappers.js"; export async function handleListResources(request) { try { const service = SystemPromptService.getInstance(); const params = request.params; const blocks = await service.listBlocks(params?.filter?.tags ? { tags: params.filter.tags } : undefined); const blockResources = mapBlocksToListResourcesResult(blocks); return { _meta: { timestamp: Date.now(), }, resources: blockResources.resources, }; } catch (error) { console.error("Failed to fetch resources:", error); throw new Error(`Failed to fetch resources from systemprompt.io: ${error.message || "Unknown error"}`); } } export async function handleResourceCall(request) { if (!request.params?.uri) { throw new Error("No URI provided in request params"); } try { const service = SystemPromptService.getInstance(); const { uri } = request.params; const blockMatch = uri.match(/^resource:\/\/\/block\/(.+)$/); if (!blockMatch) { throw new Error("Invalid resource URI format - expected resource:///block/{id} or resource:///agent/{id}"); } if (blockMatch) { const blockId = blockMatch[1]; const block = await service.getBlock(blockId); return mapBlockToReadResourceResult(block); } throw new Error("Failed to process resource request"); } catch (error) { console.error("Failed to fetch resource:", error); throw new Error(`Failed to fetch resource from systemprompt.io: ${error.message || "Unknown error"}`); } } //# sourceMappingURL=resource-handlers.js.map