docs_build_static
Build static documentation websites for deployment to platforms like GitHub Pages, Netlify, and Vercel. Converts documentation directories into production-ready sites using frameworks including Docusaurus, MkDocs, and Sphinx.
Instructions
Build static website for online hosting (ready for GitHub Pages, Netlify, Vercel, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| docsPath | Yes | Path to documentation directory | |
| framework | Yes | Documentation framework used | |
| outputPath | No | Output path for built site (default: ./build) |
Implementation Reference
- src/tools/buildStatic.ts:7-72 (handler)The handler function for 'docs_build_static' tool. It returns framework-specific build instructions as text response.export async function buildStatic(args: any) { const { docsPath, framework, outputPath } = args as BuildStaticArgs; const instructions: Record<string, string> = { docusaurus: `๐๏ธ Building Docusaurus Static Site: 1. Navigate to docs directory: cd ${docsPath} 2. Install dependencies (if not done): npm install 3. Build: npm run build 4. Output location: ${docsPath}/build 5. Test the build locally: npm run serve 6. Deploy to: - GitHub Pages: npm run deploy - Netlify: Drag & drop the 'build' folder - Vercel: Connect your repo`, mkdocs: `๐๏ธ Building MkDocs Static Site: 1. Navigate to project directory: cd ${docsPath} 2. Build: mkdocs build 3. Output location: ${docsPath}/site 4. Preview: cd site && python -m http.server 8000 5. Deploy to GitHub Pages: mkdocs gh-deploy`, sphinx: `๐๏ธ Building Sphinx Static Site: 1. Navigate to docs directory: cd ${docsPath} 2. Build HTML: make html 3. Output location: ${docsPath}/_build/html 4. Preview: cd _build/html && python -m http.server 8000 5. For ReadTheDocs: Connect your repository at readthedocs.org`, }; const instruction = instructions[framework] || "Framework not supported"; return { content: [ { type: "text", text: instruction, }, ], }; }
- src/index.ts:133-155 (schema)The input schema definition for the 'docs_build_static' tool in the tools list.{ name: "docs_build_static", description: "Build static website for online hosting (ready for GitHub Pages, Netlify, Vercel, etc.)", inputSchema: { type: "object", properties: { docsPath: { type: "string", description: "Path to documentation directory", }, framework: { type: "string", description: "Documentation framework used", enum: ["docusaurus", "mkdocs", "sphinx"], }, outputPath: { type: "string", description: "Output path for built site (default: ./build)", }, }, required: ["docsPath", "framework"], }, },
- src/index.ts:308-309 (registration)Registration of the tool handler in the CallToolRequest switch statement.case "docs_build_static": return await buildStatic(args);
- src/index.ts:289-291 (registration)The tools array registration for ListToolsRequestHandler, including the docs_build_static tool.]; server.setRequestHandler(ListToolsRequestSchema, async () => {
- src/tools/buildStatic.ts:1-5 (schema)TypeScript interface matching the tool input schema.interface BuildStaticArgs { docsPath: string; framework: string; outputPath?: string; }