docs_create_page
Create or edit documentation pages using Markdown content for multi-language projects. Specify page path, title, and content to generate professional documentation.
Instructions
Create or edit individual documentation pages with Markdown content
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| docsPath | Yes | Path to documentation directory | |
| pagePath | Yes | Relative path for the page (e.g., 'guides/getting-started.md') | |
| title | Yes | Page title | |
| content | Yes | Markdown content for the page |
Implementation Reference
- src/tools/createPage.ts:11-42 (handler)The handler function that executes the tool: resolves the full path, creates directories if needed, formats Markdown content with frontmatter and title, writes the file, and returns success message.export async function createPage(args: any) { const { docsPath, pagePath, title, content } = args as CreatePageArgs; try { const fullPath = path.resolve(docsPath, pagePath); const dir = path.dirname(fullPath); await fs.mkdir(dir, { recursive: true }); const formattedContent = `--- title: ${title} --- # ${title} ${content} `; await fs.writeFile(fullPath, formattedContent, "utf-8"); return { content: [ { type: "text", text: `✅ Page created successfully at: ${fullPath}`, }, ], }; } catch (error) { throw new Error(`Failed to create page: ${error}`); } }
- src/index.ts:87-108 (schema)Input schema definition for the docs_create_page tool, specifying parameters and validation.inputSchema: { type: "object", properties: { docsPath: { type: "string", description: "Path to documentation directory", }, pagePath: { type: "string", description: "Relative path for the page (e.g., 'guides/getting-started.md')", }, title: { type: "string", description: "Page title", }, content: { type: "string", description: "Markdown content for the page", }, }, required: ["docsPath", "pagePath", "title", "content"], },
- src/index.ts:84-109 (registration)Tool registration in the tools array, including name, description, and schema.{ name: "docs_create_page", description: "Create or edit individual documentation pages with Markdown content", inputSchema: { type: "object", properties: { docsPath: { type: "string", description: "Path to documentation directory", }, pagePath: { type: "string", description: "Relative path for the page (e.g., 'guides/getting-started.md')", }, title: { type: "string", description: "Page title", }, content: { type: "string", description: "Markdown content for the page", }, }, required: ["docsPath", "pagePath", "title", "content"], }, },
- src/index.ts:304-305 (registration)Switch case that registers the handler dispatch for tool calls to docs_create_page.case "docs_create_page": return await createPage(args);
- src/tools/createPage.ts:4-9 (schema)TypeScript interface matching the input schema for type safety in the handler.interface CreatePageArgs { docsPath: string; pagePath: string; title: string; content: string; }