FastMCP SonarQube Metrics

FastMCP SonarQube Metrics

site icon
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_URLSONARQUBE_TOKEN
  • 客户端使用:推荐使用 Claude Desktop 或自定义客户端进行交互。

使用教程

使用依赖

pip install fastmcp httpx pydantic python-dotenv

安装教程

  1. 克隆仓库:
git clone <repository_url>
cd fastmcp-sonarqube-metrics
  1. 设置环境变量:
echo "SONARQUBE_URL=<your_sonarqube_url>" > .env
echo "SONARQUBE_TOKEN=<your_sonarqube_token>" >> .env
  1. 启动服务:
python server.py

调试方式

  1. 运行测试客户端:
python client_test.py
  1. 检查日志输出以确认服务正常运行。

许可证

该项目遵循 Apache-2.0 开源许可条款,请参阅 Apache-2.0 了解完整条款。