Skip to main content
Glama
api_reference.md14.2 kB
# API参考文档 ## 概述 优化版文件夹文档生成MCP服务器提供了丰富的API接口,支持文档生成、项目分析、模板管理等核心功能。本文档详细介绍了所有可用的API端点、参数和使用方法。 ## 基础信息 - **服务器地址**: `mcp://folder-docs-mcp` - **API版本**: v2.0.0 - **认证方式**: 令牌认证(可选) - **数据格式**: JSON ## 核心API端点 ### 1. 文档生成API #### 1.1 生成README文档 **端点**: `generate_readme` / `generate_readme_v2` **描述**: 为指定目录生成README文档 **参数**: ```json { "directory": "string", // 目标目录路径(必填) "output_path": "string", // 输出文件路径(可选) "template": "string", // 模板名称(可选) "include_hidden": "boolean", // 是否包含隐藏文件(可选) "max_depth": "number", // 最大递归深度(可选) "file_extensions": ["string"] // 文件扩展名过滤(可选) } ``` **响应**: ```json { "success": true, "data": { "output_file": "string", "file_count": "number", "directory_count": "number", "generation_time": "number" }, "message": "string" } ``` **示例**: ```python # 生成默认README result = generate_readme("./my-project") # 使用自定义模板和参数 result = generate_readme_v2( directory="./my-project", output_path="./docs/custom-readme.md", template="detailed", include_hidden=False, max_depth=15, file_extensions=[".py", ".js", ".md"] ) ``` #### 1.2 生成思维导图 **端点**: `generate_mindmap` / `generate_mindmap_v2` **描述**: 为指定目录生成思维导图 **参数**: ```json { "directory": "string", // 目标目录路径(必填) "output_path": "string", // 输出文件路径(可选) "format": "string", // 输出格式(mermaid/plantuml/drawio) "max_depth": "number", // 最大递归深度(可选) "include_files": "boolean" // 是否包含文件(可选) } ``` **响应**: ```json { "success": true, "data": { "output_file": "string", "node_count": "number", "max_depth": "number", "generation_time": "number" }, "message": "string" } ``` **示例**: ```python # 生成Mermaid格式思维导图 result = generate_mindmap( directory="./my-project", output_path="./docs/structure.md", format="mermaid" ) ``` ### 2. 项目分析API #### 2.1 分析项目结构 **端点**: `analyze_project` / `analyze_project_v2` **描述**: 深度分析项目结构和依赖关系 **参数**: ```json { "directory": "string", // 目标目录路径(必填) "depth": "number", // 分析深度(可选) "include_stats": "boolean", // 是否包含统计信息(可选) "dependency_analysis": "boolean", // 是否进行依赖分析(可选) "export_format": "string" // 导出格式(json/yaml/csv) } ``` **响应**: ```json { "success": true, "data": { "project_info": { "name": "string", "path": "string", "type": "string" }, "structure": { "directories": "number", "files": "number", "max_depth": "number" }, "statistics": { "file_types": "object", "size_distribution": "object", "language_distribution": "object" }, "dependencies": "array" }, "message": "string" } ``` **示例**: ```python # 基本分析 result = analyze_project("./my-project") # 详细分析 result = analyze_project_v2( directory="./my-project", depth=20, include_stats=True, dependency_analysis=True, export_format="json" ) ``` ### 3. 批量处理API #### 3.1 批量生成文档 **端点**: `batch_generate` **描述**: 批量为多个项目生成文档 **参数**: ```json { "projects": [ { "directory": "string", "type": "readme|mindmap|both", "output_dir": "string", "template": "string" } ], "parallel": "boolean", // 是否并行处理(可选) "continue_on_error": "boolean" // 出错时是否继续(可选) } ``` **响应**: ```json { "success": true, "data": { "total_projects": "number", "successful": "number", "failed": "number", "results": "array" }, "message": "string" } ``` **示例**: ```python # 批量处理多个项目 projects = [ {"directory": "./project1", "type": "both", "output_dir": "./docs1"}, {"directory": "./project2", "type": "readme", "output_dir": "./docs2"}, {"directory": "./project3", "type": "mindmap", "output_dir": "./docs3"} ] result = batch_generate( projects=projects, parallel=True, continue_on_error=True ) ``` ### 4. 模板管理API #### 4.1 列出可用模板 **端点**: `list_templates` **描述**: 获取所有可用的模板列表 **参数**: 无 **响应**: ```json { "success": true, "data": { "templates": [ { "name": "string", "description": "string", "type": "readme|mindmap", "format": "string", "variables": "array" } ] }, "message": "string" } ``` **示例**: ```python # 获取模板列表 result = list_templates() templates = result.data.templates for template in templates: print(f"模板: {template.name} - {template.description}") ``` #### 4.2 获取模板详情 **端点**: `get_template` **描述**: 获取指定模板的详细信息 **参数**: ```json { "template_name": "string" // 模板名称(必填) } ``` **响应**: ```json { "success": true, "data": { "name": "string", "description": "string", "content": "string", "variables": "array", "examples": "array" }, "message": "string" } ``` ### 5. 配置管理API #### 5.1 获取配置 **端点**: `get_config` **描述**: 获取当前配置信息 **参数**: ```json { "section": "string" // 配置节名称(可选) } ``` **响应**: ```json { "success": true, "data": { "output_dir": "string", "template_dir": "string", "cache_enabled": "boolean", "log_level": "string" }, "message": "string" } ``` #### 5.2 更新配置 **端点**: `set_config` **描述**: 更新配置设置 **参数**: ```json { "config": "object" // 配置对象(必填) } ``` **响应**: ```json { "success": true, "data": { "updated_keys": "array" }, "message": "string" } ``` ### 6. 缓存管理API #### 6.1 获取缓存状态 **端点**: `get_cache_status` **描述**: 获取缓存系统状态 **参数**: 无 **响应**: ```json { "success": true, "data": { "memory_cache": { "size": "number", "max_size": "number", "hit_rate": "number", "items": "number" }, "disk_cache": { "size": "number", "max_size": "number", "hit_rate": "number", "path": "string" } }, "message": "string" } ``` #### 6.2 清理缓存 **端点**: `clear_cache` **描述**: 清理缓存数据 **参数**: ```json { "type": "memory|disk|all", // 缓存类型(可选) "pattern": "string" // 清理模式(可选) } ``` **响应**: ```json { "success": true, "data": { "cleared_items": "number", "freed_space": "number" }, "message": "string" } ``` ### 7. 系统监控API #### 7.1 健康检查 **端点**: `health_check` **描述**: 检查系统健康状态 **参数**: 无 **响应**: ```json { "success": true, "data": { "status": "healthy|unhealthy", "version": "string", "uptime": "number", "components": { "cache": "object", "file_system": "object", "templates": "object" } }, "message": "string" } ``` #### 7.2 获取系统信息 **端点**: `get_system_info` **描述**: 获取系统详细信息 **参数**: 无 **响应**: ```json { "success": true, "data": { "platform": "string", "architecture": "string", "python_version": "string", "memory_usage": "object", "disk_usage": "object" }, "message": "string" } ``` ### 8. 安全API #### 8.1 生成安全令牌 **端点**: `generate_token` **描述**: 生成安全访问令牌 **参数**: ```json { "expires_in": "number", // 过期时间(秒,可选) "scope": "string" // 令牌范围(可选) } ``` **响应**: ```json { "success": true, "data": { "token": "string", "expires_at": "string", "scope": "string" }, "message": "string" } ``` #### 8.2 验证令牌 **端点**: `verify_token` **描述**: 验证访问令牌 **参数**: ```json { "token": "string" // 要验证的令牌(必填) } ``` **响应**: ```json { "success": true, "data": { "valid": "boolean", "user_id": "string", "scope": "string", "expires_at": "string" }, "message": "string" } ``` ## 错误处理 ### 标准错误响应格式 ```json { "success": false, "error": { "code": "string", "message": "string", "details": "object" } } ``` ### 常见错误代码 | 错误代码 | HTTP状态码 | 描述 | |---------|-----------|------| | INVALID_REQUEST | 400 | 请求参数无效 | | UNAUTHORIZED | 401 | 未授权访问 | | FORBIDDEN | 403 | 禁止访问 | | NOT_FOUND | 404 | 资源不存在 | | METHOD_NOT_ALLOWED | 405 | 方法不允许 | | INTERNAL_ERROR | 500 | 内部服务器错误 | | SERVICE_UNAVAILABLE | 503 | 服务不可用 | ### 错误示例 ```json { "success": false, "error": { "code": "INVALID_REQUEST", "message": "目录路径不存在", "details": { "directory": "./nonexistent", "reason": "Path does not exist" } } } ``` ## 认证和安全 ### 令牌认证 1. 生成令牌: ```python result = generate_token(expires_in=3600, scope="read write") token = result.data.token ``` 2. 使用令牌: ```python # 在请求头中添加令牌 headers = { "Authorization": f"Bearer {token}", "Content-Type": "application/json" } ``` ### 数据保护 - 所有敏感数据传输都使用HTTPS加密 - 密码和密钥使用bcrypt哈希 - 临时文件自动清理 - 输入验证和清理 ## 性能优化 ### 缓存策略 - **内存缓存**: 快速访问最近使用的数据 - **磁盘缓存**: 持久化缓存,重启后仍然有效 - **智能失效**: 基于文件修改时间的自动缓存失效 ### 批量处理 - 支持并行处理多个项目 - 智能资源管理,避免内存溢出 - 错误隔离,单个失败不影响其他任务 ## 版本兼容性 ### API版本策略 - **v1.x**: 基础功能,向后兼容 - **v2.x**: 增强功能,推荐使用 - **latest**: 最新功能,可能不稳定 ### 版本迁移 从v1升级到v2的主要变更: 1. **响应格式增强**: v2版本包含更多元数据 2. **错误处理改进**: 更详细的错误信息 3. **性能优化**: 更快的处理速度 4. **安全增强**: 更强的输入验证 ## 示例代码 ### 完整工作流程 ```python # 1. 初始化客户端 client = MCPClient("mcp://folder-docs-mcp") # 2. 生成访问令牌 token_result = client.generate_token(expires_in=3600) token = token_result.data.token client.set_auth_token(token) # 3. 检查系统健康 health = client.health_check() if health.data.status != "healthy": raise Exception("服务不健康") # 4. 获取可用模板 templates = client.list_templates() template_names = [t.name for t in templates.data.templates] # 5. 生成项目文档 result = client.generate_readme_v2( directory="./my-project", template="detailed", output_path="./docs/readme.md" ) # 6. 生成思维导图 mindmap_result = client.generate_mindmap( directory="./my-project", format="mermaid", output_path="./docs/structure.md" ) # 7. 分析项目 analysis = client.analyze_project_v2( directory="./my-project", depth=15, include_stats=True ) # 8. 清理缓存 client.clear_cache(type="all") print("文档生成完成!") ``` ## SDK和客户端库 ### Python SDK ```python from folder_docs_mcp import FolderDocsClient # 创建客户端 client = FolderDocsClient( endpoint="mcp://folder-docs-mcp", auth_token="your_token_here" ) # 使用API result = client.generate_readme("./my-project") ``` ### JavaScript SDK ```javascript import { FolderDocsClient } from 'folder-docs-mcp-js'; // 创建客户端 const client = new FolderDocsClient({ endpoint: 'mcp://folder-docs-mcp', authToken: 'your_token_here' }); // 使用API const result = await client.generateReadme('./my-project'); ``` ### CLI工具 ```bash # 生成README folder-docs generate ./my-project --type readme --output ./docs/ # 生成思维导图 folder-docs generate ./my-project --type mindmap --format mermaid # 批量处理 folder-docs batch --projects ./projects.json --parallel # 健康检查 folder-docs health-check ``` ## 故障排除 ### 常见问题 1. **认证失败** - 检查令牌是否过期 - 验证令牌格式是否正确 - 确认令牌权限范围 2. **路径访问错误** - 验证路径是否存在 - 检查文件权限 - 确认路径格式正确 3. **内存不足** - 减少批量处理数量 - 降低max_depth参数 - 清理缓存 4. **模板错误** - 检查模板语法 - 验证模板变量 - 确认模板存在 ### 调试模式 启用调试模式获取详细信息: ```python # 设置调试级别 client.set_debug_level("verbose") # 查看请求详情 client.enable_request_logging(True) # 获取性能统计 stats = client.get_performance_stats() ``` ## 更新日志 ### v2.0.0 (当前版本) - ✨ 新增批量处理API - ✨ 增强模板系统 - ✨ 改进错误处理 - 🚀 性能优化 - 🛡️ 安全增强 - 📊 监控和指标 ### v1.5.0 - ✨ 添加思维导图生成 - ✨ 支持自定义模板 - 🐛 修复路径处理bug ### v1.0.0 - 🎉 初始版本 - 📝 基础文档生成 - 🔍 项目分析功能 ## 支持和反馈 - 📖 [完整文档](https://docs.example.com) - 🐛 [问题反馈](https://github.com/example/folder-docs-mcp/issues) - 💬 [社区讨论](https://github.com/example/folder-docs-mcp/discussions) - 📧 [技术支持](mailto:support@example.com)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kscz0000/Zhiwen-Assistant-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server