对比MCP服务器
 
Contrast MCP服务器允许您将Contrast Security连接到您的AI编码代理,以自动修复漏洞、更新不安全的库和分析安全覆盖率——所有这些都是通过自然语言提示完成的。
- 直接从对比度评估数据中修复漏洞
- 使用Contrast SCA洞察识别和更新不安全的第三方库
- 根据需要审查路线覆盖范围、保护/ADR结果和其他安全元数据
\[!警告\] 严重安全警告: 将Contrast漏洞数据暴露给根据您的提示进行训练的AI服务可能会泄露敏感信息。仅在合同保证数据隔离并禁止对输入进行模型训练的环境中使用mcp对比。 验证AI数据隐私: 确认您的服务协议禁止根据提示进行模型培训,并在共享对比数据之前咨询您的安全团队。 不安全的: 使用提示进行培训的公共消费者LLM网站(例如免费的ChatGPT、Gemini、Claude)。 潜在安全: 具有合同隐私保证的企业服务(例如Google Cloud AI、AWS Bedrock、Azure OpenAI)。
最新动态
看 更改日志.md 查看完整的发布历史记录,包括重大更改和新功能。
可用工具
Contrast MCP Server提供了13种用于安全分析和漏洞管理的工具:
应用程序
| 工具 | 说明 |
|---|---|
search_applications | 按名称、标签或元数据过滤器搜索应用程序 |
get_session_metadata | 获取应用程序可用的会话元数据字段 |
漏洞
| 工具 | 说明 |
|---|---|
search_vulnerabilities | 跨所有应用程序的搜索漏洞(组织级别) |
search_app_vulnerabilities | 使用会话过滤搜索特定应用程序中的漏洞 |
get_vulnerability | 获取详细的漏洞信息,包括堆栈跟踪和修复指南 |
list_vulnerability_types | 列出所有可用的漏洞类型以进行筛选 |
库(SCA)
| 工具 | 说明 |
|---|---|
list_application_libraries | 列出应用程序使用的库及其漏洞计数 |
list_applications_by_cve | 查找受特定CVE影响的应用程序 |
保护(ADR/保护)
| 工具 | 说明 |
|---|---|
search_attacks | 按状态、类型和规则过滤搜索攻击事件 |
get_protect_rules | 为应用程序配置保护规则 |
覆盖
| 工具 | 说明 |
|---|---|
get_route_coverage | 获取显示锻炼路线与发现路线的路线覆盖数据 |
SAST(扫描)
| 工具 | 说明 |
|---|---|
get_scan_project | 获取SAST项目详细信息和漏洞计数 |
get_scan_results | 获取SARIF格式的SAST扫描结果 |
快速开始
先决条件
- Docker(推荐)或Java 21+用于JAR部署
- 对比API证书(如何获取API证书)
VS代码(GitHub Copilot)-一键安装

点击上面的按钮,在VS Code中自动安装。有关手动设置,请参阅 .
IntelliJ IDEA(GitHub Copilot)
将此添加到您的 mcp.json 配置文件,并用您的对比度凭据替换占位符值:
{
"servers": {
"contrast": {
"command": "docker",
"args": [
"run",
"-e",
"CONTRAST_HOST_NAME",
"-e",
"CONTRAST_API_KEY",
"-e",
"CONTRAST_SERVICE_KEY",
"-e",
"CONTRAST_USERNAME",
"-e",
"CONTRAST_ORG_ID",
"-i",
"--rm",
"contrast/mcp-contrast:latest",
"-t",
"stdio"
],
"env": {
"CONTRAST_HOST_NAME": "example.contrastsecurity.com",
"CONTRAST_API_KEY": "example",
"CONTRAST_SERVICE_KEY": "example",
"CONTRAST_USERNAME": "example@example.com",
"CONTRAST_ORG_ID": "example"
}
}
}
}📖 -包括分步设置和JAR部署选项
其他人工智能助理
示例提示
对于开发者
修复代码中的漏洞
- 请列出应用程序Y的漏洞。
- 请详细说明应用程序Y中的漏洞X。
- 检查漏洞X并修复它。
第三方图书馆修复
- Application X中的哪些库存在高度或严重的漏洞,并且正在被积极使用?
- 将存在严重漏洞的库X更新为安全版本。
- 应用程序X中的哪些库未被使用?
按标签检索应用程序
- 请把标有“后端”的应用程序给我
按元数据检索应用程序
- 请给我元数据为“开发团队”和“后端团队”的应用程序
通过会话元数据检索漏洞
- 给我应用程序X的会话元数据。
- 请告诉我应用程序X的最新会话中的漏洞。
- 请告诉我应用程序X的会话元数据“分支名称”功能/一些新修复程序的漏洞。
- 请告诉我应用程序X的最新会话的路线覆盖范围。
- 请为我提供应用程序X的会话元数据“分支名称”“功能/一些新修复”的路由覆盖率。
对于安全专业人员
- 请给我一份易受CVE xxxx-xxxx攻击的应用程序和服务器的明细。
- 请列出名为xxx的应用程序的库,并告诉我正在使用哪个版本的commons集合。
- 应用程序X中的哪些漏洞被保护或ADR规则阻止?
获取JAR文件
如果你使用JAR部署(而不是Docker),你需要JAR文件:
下载(推荐)
从下载最新的预构建JAR .
JAR文件将被命名为 mcp-contrast-X.X.X.jar.
从源代码构建
或者,如果您需要最新的开发版本,可以从源代码构建。需要Java 21+:
./gradlew :contrast-mcp-stdio-app:bootJar构建的JAR将位于 contrast-mcp-stdio-app/build/libs/mcp-contrast-X.X.X-SNAPSHOT.jar
构建兼容性
此存储库针对Java 21和Spring Boot依赖关系管理进行构建和测试 版本被固定 springBootVersion 在 gradle.properties (目前为Spring Boot 3.5.7)。
这 contrast-mcp-core 模块将Spring Boot BOM作为常规Gradle导入 platform() 因此,已发布的库消费者可以控制他们的依赖图。可部署 contrast-mcp-stdio-app 模块用途 enforcedPlatform() 因此,附带的应用程序可以运行 该存储库测试了Spring管理的依赖集。
除非下游消费者验证,否则不会声称更广泛的Spring Boot兼容性范围 用完整的测试套件覆盖。
代理配置
如果您位于公司防火墙或代理之后,则需要为MCP服务器配置代理设置,以便访问您的Contrast实例。配置因您使用的是Docker还是JAR部署而异。
Java进程(JAR部署)
根据您运行JAR的方式选择以下选项之一:
直接Java命令
如果您直接从命令行或脚本运行JAR,请使用此选项。
将这两个系统属性添加到您的 java 命令:
-Dhttp_proxy_host=proxy.example.com
-Dhttp_proxy_port=8080完整示例:
java \
-Dhttp_proxy_host=proxy.example.com \
-Dhttp_proxy_port=8080 \
-jar /path/to/mcp-contrast-X.X.X.jar \
--CONTRAST_HOST_NAME=example.contrastsecurity.com \
--CONTRAST_API_KEY=example \
--CONTRAST_SERVICE_KEY=example \
--CONTRAST_USERNAME=example@example.com \
--CONTRAST_ORG_ID=exampleMCP配置文件
如果您通过MCP主机(IntelliJ、Claude Desktop、Cline等)运行JAR,请使用此选项。
将这两行添加到您的 args 数组:
"-Dhttp_proxy_host=proxy.example.com",
"-Dhttp_proxy_port=8080",使用IntelliJ的完整示例 mcp.json:
{
"servers": {
"contrast": {
"command": "java",
"args": [
"-Dhttp_proxy_host=proxy.example.com",
"-Dhttp_proxy_port=8080",
"-jar",
"/path/to/mcp-contrast-X.X.X.jar",
"--CONTRAST_HOST_NAME=example.contrastsecurity.com",
"--CONTRAST_API_KEY=example",
"--CONTRAST_SERVICE_KEY=example",
"--CONTRAST_USERNAME=example@example.com",
"--CONTRAST_ORG_ID=example"
]
}
}
}Docker(Docker部署)
根据您运行Docker的方式选择以下选项之一:
直接Docker运行命令
如果您直接从命令行运行Docker,请使用此选项。
将这两个环境变量添加到您的 docker run 命令:
-e http_proxy_host="proxy.example.com" \
-e http_proxy_port="8080" \完整示例:
docker run \
-e http_proxy_host="proxy.example.com" \
-e http_proxy_port="8080" \
-e CONTRAST_HOST_NAME=example.contrastsecurity.com \
-e CONTRAST_API_KEY=example \
-e CONTRAST_SERVICE_KEY=example \
-e CONTRAST_USERNAME=example \
-e CONTRAST_ORG_ID=example \
-i --rm \
contrast/mcp-contrast:latest \
-t stdioMCP配置文件
如果您通过MCP主机(IntelliJ、VS Code、Claude Desktop、Cline等)运行Docker,请使用此选项。
添加以下代理设置:
添加到 args 阵列(在对比度凭据之后):
"-e", "http_proxy_host",
"-e", "http_proxy_port",添加到 env 对象:
"http_proxy_host": "proxy.example.com",
"http_proxy_port": "8080"使用IntelliJ的完整示例 mcp.json:
{
"servers": {
"contrast": {
"command": "docker",
"args": [
"run",
"-e", "CONTRAST_HOST_NAME",
"-e", "CONTRAST_API_KEY",
"-e", "CONTRAST_SERVICE_KEY",
"-e", "CONTRAST_USERNAME",
"-e", "CONTRAST_ORG_ID",
"-e", "http_proxy_host",
"-e", "http_proxy_port",
"-i", "--rm",
"contrast/mcp-contrast:latest",
"-t", "stdio"
],
"env": {
"CONTRAST_HOST_NAME": "example.contrastsecurity.com",
"CONTRAST_API_KEY": "example",
"CONTRAST_SERVICE_KEY": "example",
"CONTRAST_USERNAME": "example@example.com",
"CONTRAST_ORG_ID": "example",
"http_proxy_host": "proxy.example.com",
"http_proxy_port": "8080"
}
}
}
}关于带有输入变量的VS Code,请参见 VS代码安装指南.
常见问题
如果您遇到MCP服务器问题,以下是一些常见的故障排除步骤:
审核日志
默认情况下,将在以下位置创建日志 /tmp/mcp-contrast.log 本地或Docker容器内。您可以查看此日志,查看MCP服务器是否有任何错误或问题。
启用调试日志记录
要启用调试日志记录,您可以在运行MCP服务器时将以下标志添加到命令行参数中: --logging.level.root=DEBUG 这可以在docker命令的这一部分添加
"--rm",
"contrast/mcp-contrast:latest",
"-t",
"--logging.level.root=DEBUG",
"stdio"
],证书问题
如果Teamserver URL的SSL证书不受信任,您可能会看到以下错误:
Failed to list applications: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target如果发生这种情况,您需要将证书添加到Java信任库中,然后在运行MCP服务器时将以下内容添加到命令行参数中: -Djavax.net.ssl.trustStore=/location/to/mcp-truststore.jks, -Djavax.net.ssl.trustStorePassword=yourpassword 有关如何执行此操作的更多详细信息,请参阅 Java文档。或者请你的法学硕士帮助你。
数据隐私
对比度MCP服务器在您的对比度数据和您选择的AI代理/LLM之间架起了一座桥梁。 通过使用Contrast的MCP服务器,您将向您的AI代理/LLM提供您的对比数据,您有责任确保您使用的AI代理/LLM符合您的数据隐私政策。 根据您提出的问题,以下信息将提供给您的AI代理/LLM。
- 应用程序详细信息
- 应用程序规则配置
- 漏洞详细信息
- 路线覆盖数据
- ADR/保护攻击事件详细信息
