Skip to main content
Glama
lininn
by lininn
FEATURES.md4.98 kB
# Node Code Review MCP - 功能特性 ## 🚀 核心功能 ### 1. 多平台支持 - ✅ **GitHub API** - 完整支持 GitHub REST API v4 - ✅ **GitLab API** - 完整支持 GitLab REST API v4 - ✅ **自动切换** - 通过 `provider` 参数自动切换平台 ### 2. Pull Request / Merge Request 操作 - 📄 **获取详情** - `fetch_pull_request` - 📊 **获取差异** - `fetch_code_diff` - 💬 **添加评论** - `add_review_comment` - 📁 **获取文件列表** - `get_pull_request_files` ### 3. 代码质量分析 - 🔍 **单文件分析** - `analyze_code_quality` - 📚 **批量分析** - `analyze_files_batch` - 📋 **支持语言** - `get_supported_languages` - ⚙️ **规则查询** - `get_language_rules` ### 4. 仓库管理 - 📖 **仓库信息** - `get_repository_info` - ⚡ **健康检查** - `get_server_config` ## 🎯 支持的编程语言 | 语言 | 特性检查 | 错误检测 | 风格检查 | |------|----------|----------|----------| | **JavaScript** | ✅ | ✅ | ✅ | | **TypeScript** | ✅ | ✅ | ✅ | | **Python** | ✅ | ✅ | ✅ | | **Java** | ✅ | ✅ | ✅ | | **Go** | ✅ | ✅ | ✅ | ## 📊 代码分析规则 ### JavaScript/TypeScript - `no-console-log` - 检测调试语句 - `no-var` - 建议使用 let/const - `no-eval` - 安全检查 - `no-any` - TypeScript 类型安全 - `arrow-function-spacing` - 代码风格 ### Python - `no-print` - 建议使用日志 - `pep8-line-length` - 行长度检查 - `unused-import` - 未使用导入 ### Java - `system-out-println` - 建议使用日志 - `public-class-naming` - 命名规范 ### Go - `no-fmt-println` - 建议使用日志 - `error-handling` - 错误处理实践 ### 通用规则 - `todo-comment` - TODO/FIXME 检测 - `long-line` - 行长度检查 - `trailing-whitespace` - 尾随空格 ## 🔧 高级特性 ### 错误处理与重试 - **自动重试** - 支持指数退避重试机制 - **速率限制** - 自动检测和处理 API 速率限制 - **错误分类** - 区分网络错误、认证错误和业务错误 - **健康检查** - 实时监控 API 连接状态 ### 性能优化 - **批量处理** - 支持多文件同时分析 - **结果缓存** - 避免重复计算 - **超时控制** - 可配置的请求超时 - **并发限制** - 防止 API 请求过载 ### 配置灵活性 - **命令行参数** - 支持运行时配置 - **环境变量** - 支持环境配置 - **动态切换** - 运行时切换 API 提供商 ## 📈 分析指标 ### 代码复杂度 - **圈复杂度** - 基于控制流语句计算 - **可维护性指数** - 0-100 分评分系统 - **行数统计** - 代码行、注释行统计 ### 问题分类 - **错误 (Error)** - 必须修复的问题 - **警告 (Warning)** - 建议修复的问题 - **信息 (Info)** - 代码改进建议 ### 批量分析统计 - **总体概览** - 文件数、行数、问题数 - **平均复杂度** - 所有文件的平均圈复杂度 - **问题分布** - 按类型分组的问题统计 ## 🔐 安全特性 ### 认证支持 - **GitHub Token** - Personal Access Token - **GitLab Token** - Personal Access Token - **安全配置** - 敏感信息不暴露在日志中 ### 输入验证 - **参数校验** - 严格的输入参数验证 - **注入防护** - 防止代码注入攻击 - **大小限制** - 防止处理超大文件 ## 🚢 部署选项 ### NPX 部署 (推荐) ```bash npx -y gitlab-review-mcp --api-token=xxx ``` ### 本地安装 ```bash npm install -g gitlab-review-mcp gitlab-review-mcp --api-token=xxx ``` ### Docker 部署 (未来支持) ```bash docker run -e API_TOKEN=xxx gitlab-review-mcp ``` ## 📝 使用示例 ### 分析单个文件 ```json { "tool": "analyze_code_quality", "arguments": { "code": "console.log('Hello World');", "language": "javascript" } } ``` ### 批量分析文件 ```json { "tool": "analyze_files_batch", "arguments": { "files": [ { "path": "src/index.js", "content": "console.log('Hello');", "language": "javascript" } ] } } ``` ### 获取 PR 文件 ```json { "tool": "get_pull_request_files", "arguments": { "repository": "owner/repo", "pullRequestNumber": 123, "provider": "github" } } ``` ## 🔄 集成方式 ### MCP 客户端集成 - **Claude Desktop** - 官方 MCP 客户端 - **自定义客户端** - 基于 MCP SDK 开发 ### API 集成 - **REST API** - 通过 GitHub/GitLab API - **Webhook** - 响应代码变更事件 ### CI/CD 集成 - **GitHub Actions** - 自动代码审查 - **GitLab CI** - 持续集成流水线 - **Jenkins** - 构建流水线集成 ## 📊 性能指标 ### 响应时间 - **单文件分析** - < 100ms - **批量分析** - < 500ms (10文件) - **API 请求** - < 2s (网络延迟) ### 内存使用 - **基础运行** - ~50MB - **大文件处理** - ~100MB - **批量处理** - ~200MB ### 吞吐量 - **分析速度** - 1000+ 行/秒 - **API 请求** - 遵循平台限制 - **并发处理** - 最多 5 个并发请求

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/lininn/gitlab-review-mcp'

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