Skip to main content
Glama

get_prompt_names

Lists available prompt templates for tasks like code review and API documentation generation in MCP Prompt Server.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • src/index.js:155-172 (registration)
    Registration of the 'get_prompt_names' tool using server.tool(), including empty input schema, inline handler, and 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名称"
      }
    );
  • Inline handler function for 'get_prompt_names' that extracts names from loadedPrompts and returns them as a text content response.
    async () => {
      const promptNames = loadedPrompts.map(p => p.name);
      return {
        content: [
          {
            type: "text",
            text: `可用的prompts (${promptNames.length}):\n${promptNames.join('\n')}`
          }
        ]
      };
    },
  • Empty input schema object for the 'get_prompt_names' tool (no parameters required).
    {},
  • loadPrompts function that loads prompt files from 'prompts' directory into the global loadedPrompts array, used by the get_prompt_names 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 [];
      }
    }

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/gdli6177/mcp-prompt-server'

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