Skip to main content
Glama

create_documentation_section

Create a new documentation section with an index file to organize content in markdown documentation systems.

Instructions

Create a new navigation section with an index.md file.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathYes
titleYes
orderNo

Implementation Reference

  • The core handler implementation for the create_documentation_section tool. This method in the DocumentHandler class creates a new directory at the specified path and generates an index.md file with appropriate frontmatter (title, description, date, status, optional order) and basic content.
    async createSection(
      title: string,
      sectionPath: string,
      order?: number
    ): Promise<ToolResponse> {
      try {
        // Create the directory for the section
        const validPath = await this.validatePath(sectionPath);
        await fs.mkdir(validPath, { recursive: true });
    
        // Create an index.md file for the section
        const indexPath = path.join(validPath, "index.md");
        const validIndexPath = await this.validatePath(indexPath);
    
        // Create content with frontmatter
        let content = "---\n";
        content += `title: ${title}\n`;
        content += `description: ${title} section\n`;
        content += `date: ${new Date().toISOString()}\n`;
        content += `status: published\n`;
        if (order !== undefined) {
          content += `order: ${order}\n`;
        }
        content += "---\n\n";
        content += `# ${title}\n\n`;
        content += `Welcome to the ${title} section.\n`;
    
        // Write the index file
        await fs.writeFile(validIndexPath, content, "utf-8");
    
        return {
          content: [
            {
              type: "text",
              text: `Successfully created section: ${title} at ${sectionPath}`,
            },
          ],
          metadata: {
            title,
            path: sectionPath,
            indexPath: path.join(sectionPath, "index.md"),
            order,
          },
        };
      } catch (error) {
        const errorMessage =
          error instanceof Error ? error.message : String(error);
        return {
          content: [
            { type: "text", text: `Error creating section: ${errorMessage}` },
          ],
          isError: true,
        };
      }
    }
  • Zod schema defining the input parameters for the create_documentation_section tool: title (required string), path (required string), order (optional number). Extends base ToolInputSchema.
    export const CreateSectionSchema = ToolInputSchema.extend({
      title: z.string(),
      path: z.string(),
      order: z.number().optional(),
    });
  • src/index.ts:278-282 (registration)
    Tool registration in the ListToolsRequestHandler, defining the tool name, description, and input schema for create_documentation_section.
    {
      name: "create_documentation_section",
      description: "Create a new navigation section with an index.md file.",
      inputSchema: zodToJsonSchema(CreateSectionSchema) as any,
    },
  • src/index.ts:455-467 (registration)
    Tool dispatch in the CallToolRequestHandler switch statement. Note: uses case 'create_section' (possible mismatch with tool name 'create_documentation_section'), parses input with CreateSectionSchema, and calls documentHandler.createSection.
    case "create_section": {
      const parsed = CreateSectionSchema.safeParse(args);
      if (!parsed.success) {
        throw new Error(
          `Invalid arguments for create_section: ${parsed.error}`
        );
      }
      return await documentHandler.createSection(
        parsed.data.title,
        parsed.data.path,
        parsed.data.order
      );
    }

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/alekspetrov/mcp-docs-service'

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