智能文档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它是如何工作的
- 解析使用 Tree-sitter 将源代码解析为抽象语法树(AST)
- 提取从抽象语法树(AST)中识别代码元素(函数、类等)
- 文档检测检查JSDoc、文档字符串和行内注释
- 分析计算覆盖率并检测缺失的文档
- 世代;一代人创建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的最佳实践
- 所有新功能均包含错误处理机制
- 文档已根据(相关内容/最新情况)进行了更新
