docs_generate_api
Generate API documentation from code annotations like JSDoc and Docstrings. Specify project path, output location, and programming language to create structured documentation.
Instructions
Generate API documentation from code (JSDoc, Docstrings, etc.)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectPath | Yes | Path to the project source code | |
| outputPath | Yes | Output path for API documentation | |
| language | Yes | Programming language |
Implementation Reference
- src/tools/generateApi.ts:7-81 (handler)The main handler function for 'docs_generate_api' that returns language-specific setup instructions for generating API documentation using standard tools like TypeDoc, JSDoc, Sphinx, etc.export async function generateApi(args: any) { const { projectPath, outputPath, language } = args as GenerateApiArgs; const instructions: Record<string, string> = { typescript: `๐ TypeScript API Documentation: 1. Install TypeDoc: npm install --save-dev typedoc 2. Generate API docs: npx typedoc --out ${outputPath} ${projectPath} 3. For integration with Docusaurus: npm install --save-dev docusaurus-plugin-typedoc`, javascript: `๐ JavaScript API Documentation: 1. Install JSDoc: npm install --save-dev jsdoc 2. Generate API docs: npx jsdoc -c jsdoc.json -d ${outputPath} ${projectPath} 3. Use JSDoc comments: /** * Description * @param {string} param - Parameter description * @returns {Promise<void>} */`, python: `๐ Python API Documentation: 1. For Sphinx: pip install sphinx sphinx-autodoc 2. Generate API docs: sphinx-apidoc -o ${outputPath} ${projectPath} 3. For MkDocs: pip install mkdocstrings mkdocstrings-python Add to mkdocs.yml: plugins: - mkdocstrings: handlers: python: options: docstring_style: google`, go: `๐ Go API Documentation: 1. Use godoc: godoc -http=:6060 2. Or generate static docs: go doc -all > ${outputPath}/api.md`, rust: `๐ Rust API Documentation: 1. Generate docs: cargo doc --no-deps 2. Open in browser: cargo doc --no-deps --open 3. Output is in target/doc`, }; const instruction = instructions[language] || "Language not supported for API generation"; return { content: [ { type: "text", text: instruction, }, ], }; }
- src/index.ts:110-132 (schema)Tool schema definition including input schema with required properties: projectPath, outputPath, language.{ name: "docs_generate_api", description: "Generate API documentation from code (JSDoc, Docstrings, etc.)", inputSchema: { type: "object", properties: { projectPath: { type: "string", description: "Path to the project source code", }, outputPath: { type: "string", description: "Output path for API documentation", }, language: { type: "string", description: "Programming language", enum: ["typescript", "javascript", "python", "go", "rust", "java", "csharp"], }, }, required: ["projectPath", "outputPath", "language"], }, },
- src/index.ts:306-307 (registration)Registration of the tool handler in the CallToolRequestSchema switch statement.case "docs_generate_api": return await generateApi(args);
- src/tools/generateApi.ts:1-5 (schema)TypeScript interface defining the expected arguments for the generateApi handler.interface GenerateApiArgs { projectPath: string; outputPath: string; language: string; }