
FastMCP SonarQube Metrics

2025.05.06
2
Python代码质量分析自动化报告开发效率
FastMCP SonarQube Metrics 是一个基于 FastMCP 框架的工具集,用于通过程序化方式访问 SonarQube 项目的度量数据。它简化了与 SonarQube API 的交互,为开发者、DevOps 工程师和分析师提供了一个消息驱动的接口,以便获取项目指标、历史数据和组件树度量。该工具特别适合需要将 SonarQube 数据集成到工作流或构建自定义报告解决方案的场景。
View on GitHub
Overview
基本能力
产品定位
FastMCP SonarQube Metrics 是一个中间件,旨在简化 SonarQube API 的访问,提供自动化的数据检索和处理能力,支持代码质量报告的生成和分析。
核心功能
- 健康检查:对配置的 SonarQube 实例进行健康检查。
- 项目列表:列出所有可访问的 SonarQube 项目,支持按名称或键过滤。
- 获取度量数据:检索指定项目的度量数据(如 bugs、漏洞、代码异味、覆盖率等)。
- 获取历史度量数据:检索项目的历史度量数据,支持日期过滤。
- 获取组件树度量:检索项目中所有组件的度量值,自动处理分页。
- 获取项目问题:获取项目的问题列表,支持按类型、严重性和解决状态过滤。
适用场景
- 自动化代码质量报告生成
- 代码质量趋势监控
- 项目组件级问题分析
- SonarQube 数据与其他开发工具的集成
工具列表
get_status
: 检查 SonarQube 实例的健康状态。list_projects
: 列出可访问的项目。get_sonarqube_metrics
: 获取项目的度量数据。get_sonarqube_metrics_history
: 获取项目的历史度量数据。get_sonarqube_component_tree_metrics
: 获取项目的组件树度量。get_project_issues
: 获取项目的问题列表。
常见问题解答
- 依赖问题:确保 Python 3.7+ 和 FastMCP 已安装。
- 环境配置:需正确设置
.env
文件中的SONARQUBE_URL
和SONARQUBE_TOKEN
。 - 客户端使用:推荐使用 Claude Desktop 或自定义客户端进行交互。
使用教程
使用依赖
pip install fastmcp httpx pydantic python-dotenv
安装教程
- 克隆仓库:
git clone <repository_url>
cd fastmcp-sonarqube-metrics
- 设置环境变量:
echo "SONARQUBE_URL=<your_sonarqube_url>" > .env
echo "SONARQUBE_TOKEN=<your_sonarqube_token>" >> .env
- 启动服务:
python server.py
调试方式
- 运行测试客户端:
python client_test.py
- 检查日志输出以确认服务正常运行。