Skip to main content
Glama

get_template_list

Retrieve available development record templates with names and descriptions to identify templates for detailed content access.

Instructions

获取可用的开发记录模板列表。返回包含模板名称、文件名和描述的结构化数据。返回的 templates 数组中每个模板都有 templateName 字段,这是后续调用 get_template_detail 时必需的参数。使用此工具来发现可用的模板,然后使用返回的 templateName 来获取具体模板内容。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dummyNoDummy parameter for no-parameter tools

Implementation Reference

  • Main execution logic for the get_template_list tool: validates input, reads template directory, filters .md files, constructs list with templateName, filename, and description, returns structured JSON response.
    case "get_template_list": {
      const parsed = GetTemplateListSchema.safeParse(args);
      if (!parsed.success) {
        throw new Error(`Invalid arguments for get_template_list: ${parsed.error}`);
      }
    
      try {
        const templateDir = getTemplateDir();
        const files = await readdir(templateDir);
        
        // 过滤出 .md 文件并构建模板信息
        const templates = files
          .filter((file: string) => extname(file) === ".md")
          .map((file: string) => {
            const templateName = basename(file, ".md");
            return {
              templateName,
              filename: file,
              description: getTemplateDescription(templateName)
            };
          });
    
        // 返回标准化格式,便于AI识别和使用
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify({
                success: true,
                templates,
                count: templates.length,
                message: `Found ${templates.length} available templates`,
                usage: "Use the 'templateName' field from any template to call get_template_detail"
              }, null, 2)
            }
          ]
        };
      } catch (error) {
        const errorMessage = error instanceof Error ? error.message : String(error);
        return {
          content: [
            {
              type: "text",
              text: JSON.stringify({
                success: false,
                error: `Failed to get template list: ${errorMessage}`,
                templates: []
              }, null, 2)
            }
          ],
          isError: true,
        };
      }
    }
  • Zod input schema for get_template_list tool, allowing optional dummy parameter since it's a no-arg tool.
    const GetTemplateListSchema = z.object({
      dummy: z.string().optional().describe("Dummy parameter for no-parameter tools")
    });
  • src/index.ts:85-91 (registration)
    Tool registration in listTools handler, defining name, detailed description, and input schema.
      name: "get_template_list",
      description:
        "获取可用的开发记录模板列表。返回包含模板名称、文件名和描述的结构化数据。" +
        "返回的 templates 数组中每个模板都有 templateName 字段,这是后续调用 get_template_detail 时必需的参数。" +
        "使用此工具来发现可用的模板,然后使用返回的 templateName 来获取具体模板内容。",
      inputSchema: zodToJsonSchema(GetTemplateListSchema) as ToolInput,
    },
  • Helper function to resolve the path to the template directory, handling build vs src contexts.
    function getTemplateDir(): string {
      // 如果在build目录中运行,需要回到上级目录找src/template
      const srcDir = __dirname.includes('build') ? join(__dirname, '..', 'src') : __dirname;
      return join(srcDir, "template");
    }
  • Helper function providing human-readable descriptions for each template by name.
    function getTemplateDescription(templateName: string): string {
      const descriptions: Record<string, string> = {
        "meeting-record": "会议记录模板 - 用于记录会议内容、决策和行动项",
        "project-summary": "项目总结模板 - 用于总结项目进展、问题和计划",
        "learning-notes": "学习笔记模板 - 用于记录学习内容和心得体会",
        "daily-standup": "每日站会模板 - 用于记录团队每日站会内容"
      };
      
      return descriptions[templateName] || "通用记录模板";
    }
Install Server

Other Tools

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/seenbefore/DevRecord'

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