🚀 Sonatype MCP Server
Sonatype MCP Server 是一个模型上下文协议(MCP)服务器,它将 AI 助手与 Sonatype 的依赖管理和安全情报平台相连接。借助该服务器,您的 AI 编码助手能够实时洞察开源安全漏洞、许可证合规性以及依赖项健康状况。
🚀 快速开始
Sonatype MCP Server 可让 AI 助手在您的开发工作流程中直接访问 Sonatype 全面的依赖情报。通过与模型上下文协议集成,您的 AI 助手无需离开 IDE,就能帮助您对依赖项做出明智决策、识别安全风险并确保合规性。
✨ 主要特性
- 组件版本选择 - 首次选择即可选出最佳版本,无需额外探索。
- 安全漏洞扫描 - 识别项目依赖项中的已知漏洞。
- 许可证合规性检查 - 确保您的依赖项符合组织的许可证政策。
- 依赖项健康分析 - 深入了解依赖项的质量、维护状态和风险因素。
- 实时安全建议 - 及时了解影响您依赖项的最新安全威胁。
- 修复指导 - 获得可操作的建议,以修复漏洞和合规性问题。
📦 安装指南
对于仅支持 stdio MCP 服务器的 IDE 或工具(如 IntelliJ),请安装 mcp-remote:
npm install -g mcp-remote
💻 使用示例
基础用法
在日常开发中,大语言模型(LLMs)会决定使用或升级依赖项。我们的 MCP 工具将透明地提供服务,利用最新信息给出更好的建议,避免验证组件和版本选择时的额外工作。
以下是在开发工作流程中明确利用 Sonatype MCP Server 的一些方法:
分析特定版本
向您的 AI 助手提问:
"获取 react 18.2.0 的详细安全信息"
助手将返回全面的详细信息,包括带有 CVSS 分数的 CVE、许可证信息、类别、生命周期结束状态和编目日期。
查找最新稳定版本
向您的 AI 助手提问:
"spring-boot 的最新稳定版本是什么?"
助手将返回最新版本,并提供完整的安全分析、政策违规情况、许可证、风险分数和升级建议。
安全评估工作流程
助手可以使用这两个工具将您的当前版本与最新版本进行比较,并提供可操作的安全指导。
📚 详细文档
配置设置
Sonatype MCP Server 作为远程 MCP 服务器运行。请根据您的 IDE 或 AI 助手选择相应的设置说明:
Gemini Code Assist
将 <your-token> 替换为您在 https://guide.sonatype.com/settings/tokens 生成的个人 API 令牌。
{
"mcpServers": {
"discoveredServer": {
"httpUrl": "https://mcp.guide.sonatype.com/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
Claude Code
使用 Claude CLI 添加服务器:
将 <your-token> 替换为您在 https://guide.sonatype.com/settings/tokens 生成的个人 API 令牌。
claude mcp add --transport http --scope user sonatype-mcp https://mcp.guide.sonatype.com/mcp --header "Authorization: Bearer <your-token>"
VS Code Copilot
将以下配置添加到您的全局 VS Code mcp.json 中,或者在工作区中创建一个 .vscode/mcp.json 文件:
将 <your-token> 替换为您在 https://guide.sonatype.com/settings/tokens 生成的个人 API 令牌。
{
"servers": {
"sonatype-mcp": {
"url": "https://mcp.guide.sonatype.com/mcp",
"type": "http",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
Windsurf
创建或编辑 ~/.codeium/windsurf/mcp_config.json:
将 <your-token> 替换为您在 https://guide.sonatype.com/settings/tokens 生成的个人 API 令牌。
{
"mcpServers": {
"sonatype-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.guide.sonatype.com/mcp",
"--header",
"Authorization: Bearer <your-token>"
]
}
}
}
IntelliJ with Junie
- 全局范围:转到 IDE 设置 → 工具 → Junie → MCP 设置。点击 "+" 并添加。
- 项目范围:在项目根目录下创建
.junie/mcp/.mcp.json。
将 <your-token> 替换为您在 https://guide.sonatype.com/settings/tokens 生成的个人 API 令牌。
{
"mcpServers": {
"sonatype-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.guide.sonatype.com/mcp",
"--header",
"Authorization: Bearer <your-token>"
]
}
}
}
Kiro
创建或编辑 ~/.kiro/settings/mcp.json:
将 <your-token> 替换为您在 https://guide.sonatype.com/settings/tokens 生成的个人 API 令牌。
{
"mcpServers": {
"sonatype-mcp": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.guide.sonatype.com/mcp",
"--header",
"Authorization: Bearer <your-token>"
]
}
}
}
Cursor
Cursor 直接支持远程服务器。将以下内容添加到您的 ~/.cursor/mcp.json 中:
将 <your-token> 替换为您在 https://guide.sonatype.com/settings/tokens 生成的个人 API 令牌。
{
"mcpServers": {
"sonatype-mcp": {
"type": "http",
"url": "https://mcp.guide.sonatype.com/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}
Codex (IDE 插件和 CLI)
创建或编辑 ~/.codex/config.toml:
将 <your-token> 替换为您在 https://guide.sonatype.com/settings/tokens 生成的个人 API 令牌。
[mcp_servers.sonatype-mcp]
command = "npx"
args = ["-y", "mcp-remote", "https://mcp.guide.sonatype.com/mcp", "--header", "Authorization: Bearer <your-token>"]
startup_timeout_ms = 20000
身份验证
Sonatype MCP Server 使用 API 令牌进行身份验证:
- 创建一个 Sonatype Guide 账户,并在 https://guide.sonatype.com/settings/tokens 生成您的个人 API 令牌。
- 使用
Authorization: Bearer <your-token> 头部格式将令牌添加到您的 MCP 配置中。
- 在上述配置示例中,将
<your-token> 替换为您的实际令牌。
您的 API 令牌将自动对所有请求进行身份验证。请妥善保管您的令牌,切勿将其提交到版本控制中。
配置 AI 助手规则
为了最大限度地发挥 Sonatype MCP Server 的效能,请配置您的 AI 助手,使其在处理依赖项、软件包或软件供应链安全相关工作时,优先使用 Sonatype MCP 工具。以下是每个受支持的 IDE 或工具的配置说明:
Claude Code
使用 CLAUDE.md 文件创建自定义说明:
- 全局(所有项目):创建
~/.claude/CLAUDE.md
- 项目(特定仓库):在项目根目录下创建
.claude/CLAUDE.md
添加以下说明:
## Sonatype MCP
在处理与依赖项、包管理或软件供应链安全相关的代码时,请始终优先使用 Sonatype MCP 工具。在添加或更新任何依赖项之前,使用可用的 MCP 工具研究版本、检查漏洞并获取建议。
Cursor
在项目根目录下创建一个 .cursorrules 文件:
- 项目(特定仓库):在项目根目录下创建
.cursorrules
添加以下说明:
## Sonatype MCP
在处理与依赖项、包管理或软件供应链安全相关的代码时,请始终优先使用 Sonatype MCP 工具。在添加或更新任何依赖项之前,使用可用的 MCP 工具研究版本、检查漏洞并获取建议。
VS Code Copilot
使用 .github/copilot-instructions.md 文件创建自定义说明:
- 项目(特定仓库):在项目根目录下创建
.github/copilot-instructions.md
添加以下说明:
## Sonatype MCP
在处理与依赖项、包管理或软件供应链安全相关的代码时,请始终优先使用 Sonatype MCP 工具。在添加或更新任何依赖项之前,使用可用的 MCP 工具研究版本、检查漏洞并获取建议。
Windsurf
使用 Windsurf 的自定义功能创建规则:
- 全局(所有项目):
- 点击 Cascade Code 右上角的 "规则、记忆和工作流程" 图标,或在 Windsurf 设置中搜索规则。
- 导航到 "规则"。
- 点击 "+ 全局" 创建新的全局规则。
- 添加以下内容:
## Sonatype MCP
在处理与依赖项、包管理或软件供应链安全相关的代码时,请始终优先使用 Sonatype MCP 工具。在添加或更新任何依赖项之前,使用可用的 MCP 工具研究版本、检查漏洞并获取建议。
- 项目(特定仓库):遵循全局设置的说明,但点击 "+ 工作区" 或在项目根目录下创建
.windsurf/rules/sonatype.md:
## Sonatype MCP
在处理与依赖项、包管理或软件供应链安全相关的代码时,请始终优先使用 Sonatype MCP 工具。在添加或更新任何依赖项之前,使用可用的 MCP 工具研究版本、检查漏洞并获取建议。
IntelliJ with Junie
使用 .junie/guidelines.md 文件创建自定义指南:
- 项目(特定仓库):在项目根目录下创建
.junie/guidelines.md
添加以下说明:
## Sonatype MCP
在处理与依赖项、包管理或软件供应链安全相关的代码时,请始终优先使用 Sonatype MCP 工具。在添加或更新任何依赖项之前,使用可用的 MCP 工具研究版本、检查漏洞并获取建议。
Kiro
在 .kiro/steering/ 目录下创建引导文件:
- 项目(特定仓库):在项目根目录下创建
.kiro/steering/sonatype.md
添加 YAML 前置元数据以确保始终包含该文件:
---
inclusion: always
---
## Sonatype MCP
在处理与依赖项、包管理或软件供应链安全相关的代码时,请始终优先使用 Sonatype MCP 工具。在添加或更新任何依赖项之前,使用可用的 MCP 工具研究版本、检查漏洞并获取建议。
Gemini Code Assist
使用 GEMINI.md 文件创建自定义说明:
- 全局(所有项目):创建
~/.gemini/GEMINI.md
- 项目(特定仓库):在项目根目录下创建
GEMINI.md
添加以下说明:
## Sonatype MCP
在处理与依赖项、包管理或软件供应链安全相关的代码时,请始终优先使用 Sonatype MCP 工具。在添加或更新任何依赖项之前,使用可用的 MCP 工具研究版本、检查漏洞并获取建议。
可用工具
Sonatype MCP Server 为 AI 助手提供了三个强大的工具:
getComponentVersion - 获取组件特定版本的组件信息。
getLatestComponentVersion - 获取组件最新版本的组件信息。
getRecommendedComponentVersions - 根据组件的当前版本获取一组推荐的升级版本。如果未提供版本信息,则获取该组件的一组推荐起始版本。
📄 许可证
文档中未提及相关信息。
🔧 技术细节
文档中未提及相关信息。
📄 支持与反馈
🔍 关于 Sonatype
Sonatype 是软件供应链安全领域的领导者,提供的解决方案可帮助组织在整个开发生命周期中管理开源风险。了解更多信息请访问 sonatype.com。
本项目为关心安全软件供应链的开发者用心打造 ❤️。