摘要
让你的 AI 读取 SonarQube:项目、质量门状态、覆盖率等度量指标及其历史、按严重程度和软件质量分类的未解决问题、分析记录与分支。支持 SonarQube Server 或 SonarQube Cloud,只读,使用用户令牌。
引导式设置
2 分钟将 SonarQube 连接到 Cursor
开始 AnythingMCP Cloud 免费试用,在引导式设置中连接 SonarQube,再把你的 MCP URL 添加到 Cursor。无需代码,也无需自行运行服务器。
无需信用卡 · 7 天试用 · 提供自托管方案
试试这样问
SonarQube 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 不想安装?直接使用 cloud.anythingmcp.com。 登录后点击 Connectors → SonarQube,粘贴你的凭据,生成 MCP API 密钥即可。无需 Docker,无需
git clone,无需本地服务器。
SonarQube + Cursor
让你的 AI 读取 SonarQube:项目、质量门状态、覆盖率等度量指标及其历史、按严重程度和软件质量分类的未解决问题、分析记录与分支。支持 SonarQube Server 或 SonarQube Cloud,只读,使用用户令牌。
前提条件
完整的设置说明已内置在连接器中(在应用内商店选择该连接器即可查看)。此连接器所需的环境变量如下:
SONARQUBE_URL, SONARQUBE_TOKEN
第 1 步 — 获取凭据
设置大约需要 3 分钟。你需要一个 SonarQube Server(免费的 Community Build 即可)或一个 SonarQube Cloud 账号,其中至少有一个已分析的项目,以及一个用户令牌。
- 设置
SONARQUBE_URL,不带/api,也不带末尾斜杠:EU 区域的 SonarQube Cloud 使用https://sonarcloud.io,US 区域的 SonarQube Cloud 使用https://sonarqube.us,或者使用你在浏览器中打开 SonarQube Server 时的地址,包括任何上下文路径(例如https://sonar.example.com或https://example.com/sonarqube)。 - 创建一个用户令牌并粘贴到
SONARQUBE_TOKEN中,不要带 Bearer 一词。在 Server 上:头像 → My Account → Security,然后生成类型为 User 的令牌。在 Cloud 上:头像 → My Account → Access tokens → Personal Tokens,然后生成令牌。项目分析令牌和全局分析令牌用于运行扫描,不能用于 Web API。 - 在 SonarQube Cloud 上,将
SONARQUBE_ORGANIZATION设置为你的组织密钥(organization key),可在 URLsonarcloud.io/organizations/<key>中看到。Cloud 需要它来列出项目和搜索问题。在 Server 上则留空。 - 安装连接器并运行
sonarqube_list_projects:它会列出该令牌可浏览的项目,以及其他工具所需的项目密钥。
可读取的内容:项目是否通过质量门(OK 或 ERROR,并附带每个未通过的条件)、当前的度量指标,如 coverage、duplicated_lines_density、ncloc 以及 software_quality_* 问题数量、这些指标在各次分析之间的变化、按软件质量(SECURITY、RELIABILITY、MAINTAINABILITY)、严重程度和状态筛选的问题、项目的分析记录及其事件,以及项目的分支及其最近一次分析和质量门状态。全部 7 个工具均为只读,令牌决定了 AI 能看到哪些项目。
项目与分支:工具使用项目密钥(例如 payments-api,在 Cloud 上为 my-org_payments-api),而不是显示名称。不指定 branch 或 pullRequest 时,读取的是主分支。Community Build 只分析主分支。
私有网络:在自托管的 AnythingMCP 上,位于内部主机或私有 IP 的 SonarQube Server 需要把该主机加入 SSRF_ALLOWED_HOSTS,否则出站防护会拒绝该调用。AnythingMCP Cloud 只能访问 SonarQube Cloud,或可从公网访问的 SonarQube Server。
限制:列表类工具每页最多返回 500 项(sonarqube_get_measures_history 为 1,000 项)。问题搜索总共最多返回 10,000 条结果,因此请缩小筛选条件,而不是继续翻页。当令牌发送的请求过多时,SonarQube Cloud 会返回 429:请等待几分钟后重试。SonarQube Server 默认没有速率限制。
常见错误:401 表示令牌错误、已过期或已被撤销,或者使用的是分析令牌而不是用户令牌。403 表示该令牌所属用户对项目没有 Browse 权限。404 表示项目密钥、分支或拉取请求不存在,或者 SONARQUBE_URL 有误。400 会指出缺失或无效的参数,例如在 Cloud 上缺少组织。
该连接器不会更改 SonarQube 中的任何内容(不能变更问题状态、分配或评论,不能更改质量门、质量配置、项目或令牌),也不涵盖安全热点(security hotspots)、投资组合和应用、Web API v2、管理与系统端点,以及仅针对新代码的问题筛选。
第 2 步 — 安装适配器
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
第 3 步 — 在 Cursor 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
Cursor 从 ~/.cursor/mcp.json 读取 MCP 服务器。添加以下条目:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- 在 AnythingMCP 的 MCP Servers → 你的服务器 → API keys 中创建 MCP API 密钥,并用它替换
YOUR_MCP_API_KEY。 - 保存文件并重启 Cursor。
- 打开 Cursor → Settings → MCP,确认
anythingmcp已列出并处于已连接状态。 - 开始对话 — 智能体现在可以调用
SonarQube的工具。
可用工具
| 工具 | 功能 |
|---|---|
sonarqube_list_projects | 列出该令牌可浏览的 SonarQube 项目及其密钥和名称 |
sonarqube_get_quality_gate_status | 读取项目是否通过质量门:总体状态(OK 或 ERROR),以及每个条件的指标、阈值和实际… |
sonarqube_get_measures | 读取项目一个或多个指标的当前值,例如 coverage、duplicated_lines_density、ncloc 或… |
sonarqube_get_measures_history | 读取项目指标随时间的变化:每次分析对应一个值及其日期 |
sonarqube_search_issues | 在一个或多个项目中搜索问题:规则、消息、文件和行号、影响(软件质量和严重程度)、状态、经办人和创建… |
sonarqube_list_project_analyses | 按时间从新到旧列出项目的分析记录,包括日期、版本以及质量门变化或新版本等事件 |
sonarqube_list_branches | 列出项目的分支,包括类型、是否为主分支、最近一次分析的日期及其质量门状态 |
常见问题
Cursor 免费套餐支持自定义 MCP 服务器吗? 支持 — Hobby、Pro 和 Business 套餐均可使用 MCP。
后续步骤
这份指南对你有帮助吗?