代码文档生成服务

一款生产就绪的模型上下文协议(MCP)服务器,智能分析代码库并生成全面的文档,支持多语言代码分析、文档覆盖率计算和AI驱动的改进建议。

  • by Njengah
  • TypeScript
  • 本地部署
  • 16 星标
  • 更新于
在 GitHub 查看 Njengah/claude-4.5-mcp-tutorial

使用说明

智能文档MCP服务器

一个可投入生产的模型上下文协议(MCP)服务器,能够智能分析代码库并生成全面的文档。该服务器采用TypeScript和tree-sitter构建,以实现精确的代码解析。

特点/功能

  • 多语言支持分析TypeScript、JavaScript和Python代码库
  • 智能分析提取函数、类、方法、接口、类型和变量
  • 文档覆盖率计算文档覆盖率指标
  • 缺失文档检测识别未记录代码并划分严重程度(关键、中等、低)
  • 基于人工智能的建议生成文档模板和改进建议
  • Markdown 输出以Markdown格式呈现的专业文档

安装

npm install
npm run build

使用方法

作为MCP服务器

在您的MCP客户端配置(Claude桌面版)中添加:

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "smart-docs": {
      "command": "node",
      "args": ["C:\\ProjectFolder\\dist\\index.js"]
    }
  }
}

然后重启Claude桌面应用。

可用工具

1. analyze_codebase

分析代码库或文件以提取代码元素并计算文档覆盖率。

输入:

{
  "path": "/path/to/your/codebase"
}

输出:

  • 分析的文件总数
  • 找到的总代码元素数
  • 文档覆盖率百分比
  • 按文件和元素详细分解

2. generate_documentation

为代码库生成全面的Markdown文档。

输入:

{
  "path": "/path/to/your/codebase",
  "format": "markdown"
}

输出:

  • 完整的Markdown文档
  • 总结统计
  • 按文件和元素类型组织

3. detect_missing_docs

检测代码元素中缺失文档的情况,并进行严重程度分类。

输入:

{
  "path": "/path/to/your/codebase",
  "minSeverity": "critical"
}

严重程度等级:

  • 关键的;危急的公共类、接口和导出函数
  • 中等类型别名和导出类型
  • 低私有方法和内部变量

输出:

  • 按严重程度列出的缺失文件清单
  • 按严重程度和类型划分的汇总统计
  • 详细的元素信息

4. suggest_improvements

分析现有文档并提出改进建议。

输入:

{
  "path": "/path/to/your/codebase",
  "limit": 20
}

输出:

  • 缺失文档的文档模板
  • 关于文档不完整的建议
  • 参数和返回值文档提示

项目结构

smart-docs-mcp/
├── src/
│   ├── index.ts                    # MCP server entry point
│   ├── types/
│   │   └── index.ts               # TypeScript types and interfaces
│   ├── parsers/
│   │   ├── base-parser.ts         # Abstract parser base class
│   │   ├── typescript-parser.ts   # TypeScript/JavaScript parser
│   │   └── python-parser.ts       # Python parser
│   ├── analyzers/
│   │   ├── codebase-analyzer.ts   # Main analysis engine
│   │   └── doc-detector.ts        # Missing documentation detector
│   ├── generators/
│   │   ├── markdown-generator.ts  # Markdown doc generator
│   │   └── improvement-suggester.ts # Improvement suggestions
│   ├── tools/
│   │   ├── analyze-codebase.ts
│   │   ├── generate-documentation.ts
│   │   ├── detect-missing-docs.ts
│   │   └── suggest-improvements.ts
│   └── utils/
│       └── file-utils.ts          # File system utilities
├── package.json
├── tsconfig.json
└── README.md

它是如何工作的

  1. 解析使用 Tree-sitter 将源代码解析为抽象语法树(AST)
  2. 提取从抽象语法树(AST)中识别代码元素(函数、类等)
  3. 文档检测检查JSDoc、文档字符串和行内注释
  4. 分析计算覆盖率并检测缺失的文档
  5. 世代;一代人创建Markdown文档和改进建议

严重程度分类

服务器采用智能严重程度分类:

  • 公共API(应用程序编程接口) (类、接口、导出函数)→ 关键的
  • 类型定义 以及复杂类型 → 中等
  • 私有方法 以及内部变量 → 低

错误处理

所有工具均包含全面的错误处理功能:

  • 无效路径返回描述性错误信息
  • 不支持的文件类型将被优雅地跳过
  • 解析错误包括文件位置和上下文

发展

# Install dependencies
npm install

# Build the project
npm run build

# Watch mode for development
npm run watch

# Run the server
npm start

要求

  • Node.js >= 18.0.0
  • TypeScript 5.3+

依赖项

  • @modelcontextprotocol/sdkMCP协议实现
  • tree-sitter代码解析引擎
  • tree-sitter-typescriptTypeScript/JavaScript 语法
  • tree-sitter-pythonPython 语法
  • zod模式验证

测试

一个测试项目被包含在其中 test-project/ 包含示例文件的目录,展示各种文档编制场景。

许可证

麻省理工学院(MIT)

做出贡献

欢迎投稿!请确保:

  • 代码遵循TypeScript的最佳实践
  • 所有新功能均包含错误处理机制
  • 文档已根据(相关内容/最新情况)进行了更新