get_prompt_names
Retrieve predefined prompt template names from the MCP Prompt Server to streamline workflows in Cursor/Windsurf editors for tasks like code review and API documentation.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- src/index.js:158-167 (handler)The handler function for the 'get_prompt_names' tool. It extracts names from the global loadedPrompts array and returns a formatted text list of available prompts.async () => { const promptNames = loadedPrompts.map(p => p.name); return { content: [ { type: "text", text: `可用的prompts (${promptNames.length}):\n${promptNames.join('\n')}` } ] };
- src/index.js:155-172 (registration)Registration of the 'get_prompt_names' tool on the MCP server using server.tool(). It has no input parameters and a Chinese description.server.tool( "get_prompt_names", {}, async () => { const promptNames = loadedPrompts.map(p => p.name); return { content: [ { type: "text", text: `可用的prompts (${promptNames.length}):\n${promptNames.join('\n')}` } ] }; }, { description: "获取所有可用的prompt名称" } );
- src/index.js:22-65 (helper)Helper function loadPrompts() that loads prompt definitions from YAML/JSON files in the 'prompts' directory and populates the global loadedPrompts array used by the 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 []; } }
- src/index.js:17-17 (helper)Global array loadedPrompts that stores all loaded prompt objects, referenced by the get_prompt_names handler.let loadedPrompts = [];