We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/minipuft/claude-prompts-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
// @lifecycle canonical - Service that reloads prompts/categories on demand for MCP tools.
import type { PromptAssetManager } from './index.js';
import type { Category, PromptData } from './types.js';
import type { ConvertedPrompt } from '../../engine/execution/types.js';
import type { ConfigManager } from '../../shared/types/index.js';
/**
* Minimal interface for consumers that receive prompt data updates.
* Decouples modules/ from mcp/ layer — McpToolsManager satisfies this structurally.
*/
interface PromptDataConsumer {
updateData(
promptsData: PromptData[],
convertedPrompts: ConvertedPrompt[],
categories: Category[]
): void;
}
export interface PromptReloadResult {
promptsData: PromptData[];
categories: Category[];
convertedPrompts: ConvertedPrompt[];
promptsFilePath: string;
}
interface PromptReloadOptions {
configManager: ConfigManager;
promptManager: PromptAssetManager;
mcpToolsManager?: PromptDataConsumer;
promptsFileOverride?: string;
}
/**
* Reload prompts from disk, synchronizing downstream managers (PromptAssetManager,
* MCP tools, API caches) so every transport observes the same prompt metadata.
*/
export async function reloadPromptData(options: PromptReloadOptions): Promise<PromptReloadResult> {
const promptsFilePath = options.configManager.getResolvedPromptsFilePath(
options.promptsFileOverride
);
// Clear loader cache to ensure fresh content is read from disk
// (fixes hot-reload not picking up direct file edits)
options.promptManager.clearLoaderCache();
const result = await options.promptManager.loadAndConvertPrompts(promptsFilePath);
if (options.mcpToolsManager) {
options.mcpToolsManager.updateData(
result.promptsData,
result.convertedPrompts,
result.categories
);
}
return {
...result,
promptsFilePath,
};
}