reload_prompts
Reloads predefined prompt templates on the MCP Prompt Server, ensuring up-to-date resources for tasks like code review and API documentation in Cursor/Windsurf editors.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.js:138-148 (handler)Handler function for the 'reload_prompts' tool. Calls loadPrompts() to reload prompts from the prompts directory and returns a success message with the count of loaded prompts.async () => { await loadPrompts(); return { content: [ { type: "text", text: `成功重新加载了 ${loadedPrompts.length} 个prompts。` } ] }; },
- src/index.js:135-152 (registration)Registers the 'reload_prompts' tool on the MCP server with an empty input schema, inline handler, and description.server.tool( "reload_prompts", {}, async () => { await loadPrompts(); return { content: [ { type: "text", text: `成功重新加载了 ${loadedPrompts.length} 个prompts。` } ] }; }, { description: "重新加载所有预设的prompts" } );
- src/index.js:22-65 (helper)Helper function that loads all prompt files (YAML/JSON) from the 'prompts' directory, parses them, and stores in the global 'loadedPrompts' array. Used by the reload_prompts handler.async function loadPrompts() { try { // 确保prompts目录存在 await fs.ensureDir(PROMPTS_DIR); // 读取prompts目录中的所有文件 const files = await fs.readdir(PROMPTS_DIR); // 过滤出YAML和JSON文件 const promptFiles = files.filter(file => file.endsWith('.yaml') || file.endsWith('.yml') || file.endsWith('.json') ); // 加载每个prompt文件 const prompts = []; for (const file of promptFiles) { const filePath = path.join(PROMPTS_DIR, file); const content = await fs.readFile(filePath, 'utf8'); let prompt; if (file.endsWith('.json')) { prompt = JSON.parse(content); } else { // 假设其他文件是YAML格式 prompt = YAML.parse(content); } // 确保prompt有name字段 if (!prompt.name) { console.warn(`Warning: Prompt in ${file} is missing a name field. Skipping.`); continue; } prompts.push(prompt); } loadedPrompts = prompts; console.log(`Loaded ${prompts.length} prompts from ${PROMPTS_DIR}`); return prompts; } catch (error) { console.error('Error loading prompts:', error); return []; } }