关于 RISKEN MCP Server
RISKEN MCP Server 将 MCP 客户端连接到 RISKEN API,用于安全运营。它支持搜索发现项和告警、读取发现项内容及归档已解决项,并提供本地或远程部署和 OAuth2.1 授权。
主要功能
- 01按 ID、来源、资源、评分或状态搜索发现项
- 02按状态搜索告警
- 03为发现项添加备注并归档
- 04将发现项内容作为资源读取
- 05支持本地和远程服务模式
- 06支持第三方 OAuth2.1 授权
适用场景
- 01检查活跃的安全告警
- 02调查发现项及其修复详情
- 03归档已解决的发现项
- 04通过客户端连接远程 MCP 服务
MCP 相关
向 MCP 客户端提供 RISKEN 发现项和告警操作、身份验证上下文,以及发现项内容资源。支持 stdio 和 Streamable HTTP 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
RISKEN MCP 服务

RISKEN MCP 服务是一个 模型上下文协议(MCP) 服务,可与 RISKEN API 无缝集成,为开发者和工具提供高级自动化和交互能力。
使用场景
将 RISKEN MCP 服务连接到日常使用的 AI 工具后,可以执行各种操作,例如:
- 查看 RISKEN 中的活动警报并监控其状态。
- 搜索、分析和查看发现项,包括其说明和修复步骤。
- 归档已解决的发现项,以保持安全态势整洁有序。
前提条件
- 要在容器中运行服务,需要安装 Docker。
- 安装 Docker 后,还需要确保 Docker 正在运行。
- 还需要拥有 RISKEN 访问令牌。
本地 MCP 服务
请将以下 MCP 服务配置添加到 MCP 客户端(Claude Desktop 或 Cursor)设置中。
{
"mcpServers": {
"risken": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"RISKEN_ACCESS_TOKEN",
"-e",
"RISKEN_URL",
"ghcr.io/ca-risken/risken-mcp-server",
"stdio"
],
"env": {
"RISKEN_URL": "http://localhost:8098",
"RISKEN_ACCESS_TOKEN": "your_access_token"
}
}
}
}
远程 MCP 服务
RISKEN MCP 服务支持 Streamable HTTP。
本地
docker run -it --rm \
-e RISKEN_URL=http://localhost:8098 \
-e RISKEN_ACCESS_TOKEN=xxxxxx \
-p 8080:8080 \
ghcr.io/ca-risken/risken-mcp-server http
在 Cloud Run 上
你可以使用 Terraform 在 Google Cloud Run 上部署服务。
-
访问 terraform/examples/googlecloud,并使用 Terraform 在 Google Cloud Run 上部署服务。
-
将以下 MCP 服务配置添加到 MCP 客户端(Claude Desktop 或 Cursor)设置中。
**注意:**由于大多数 MCP 客户端仅允许 stdio 连接,目前需要使用 mcp-remote 作为代理来连接远程 MCP 服务。
Claude Desktop、Cursor 等
{
"mcpServers": {
"risken": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8098/mcp",
"--header",
"RISKEN-ACCESS-TOKEN:${RISKEN_ACCESS_TOKEN}"
],
"env": {
"RISKEN_ACCESS_TOKEN": "xxxxxx"
}
}
}
}
第三方授权(OAuth2.1)
RISKEN MCP 服务支持第三方授权(OAuth2.1),可通过外部身份提供商(IdP)实现安全认证。
概述
OAuth2.1 实现遵循 MCP 授权规范中的第三方授权流程,具体如下:
- MCP 客户端发起与 MCP 服务的 OAuth 流程
- MCP 服务充当授权服务器,并将用户重定向到 IdP
- IdP对用户进行身份验证,并将其返回到 MCP 服务
- MCP 服务为 MCP 客户端签发访问令牌
- MCP 客户端在后续 MCP 请求中使用访问令牌
OAuth 流程
sequenceDiagram
participant Browser as User Browser
participant Client as MCP Client
participant Server as MCP Server
participant IdP as Identity Provider
Client->>Server: POST /mcp (no auth)
Server->>Client: 401 Unauthorized + WWW-Authenticate
Client->>Server: GET /.well-known/oauth-authorization-server
Server->>Client: Authorization metadata
Client->>Server: POST /register (Dynamic Client Registration)
Server->>Client: client_id
Client->>Browser: Open authorization URL (with PKCE challenge)
Browser->>IdP: User authentication
IdP->>Browser: Redirect to callback URL (with code)
Browser->>Server: GET /oauth/callback (IdP code)
Note over Server: Store IdP code, generate internal JWT authorization code
Server->>Client: Authorization complete (internal code)
Client->>Server: POST /token (internal code + PKCE verifier)
Note over Server: Verify PKCE challenge/verifier
Server->>IdP: Exchange IdP code for access token
IdP->>Server: Access token
Server->>Client: Access token
Client->>Server: POST /mcp (with Bearer token)
Server->>Client: MCP response
配置
MCP 服务配置
支持 OAuth2.1 需要设置以下环境变量:
| 变量 | 必需 | 说明 | 示例 |
|---|---|---|---|
MCP_SERVER_URL | ✅ | MCP 服务的公开 URL | http://localhost:8080 |
AUTHZ_METADATA_ENDPOINT | ✅ | IdP 的 OAuth 元数据端点 | https://your-idp.com/.well-known/oauth-authorization-server |
CLIENT_ID | ✅ | IdP 的 OAuth 客户端 ID | your-client-id |
CLIENT_SECRET | ✅ | IdP 的 OAuth 客户端密钥 | your-client-secret |
JWT_SIGNING_KEY | ✅ | 会话 JWT 令牌的签名密钥 | your-256-bit-secret |
身份提供商要求
你的 IdP 必须支持以下 OAuth 功能:
| 功能 | 要求 | 说明 |
|---|---|---|
| 授权码流程 | ✅ 必需 | 标准 OAuth 授权码授权 |
| JWKS 端点 | ✅ 必需 | 用于 JWT 验证的 JSON Web 密钥集 |
| 元数据发现 | ✅ 必需 | RFC 8414 授权服务器元数据 |
注意:PKCE 验证由 MCP 服务在 MCP 客户端与 MCP 服务之间内部处理(遵循 MCP 规范)。IdP 无需支持 PKCE。
工具
上下文
- get_context - 获取当前的身份验证上下文。
- 如果使用组织令牌,则返回组织信息;如果使用项目令牌,则返回项目信息。
发现
-
search_finding - 搜索 RISKEN 发现。(支持组织令牌和项目令牌)
finding_id- 按发现 ID 搜索。alert_id- 按警报 ID 搜索。(仅限项目令牌)data_source- 按数据源搜索。resource_name- 按资源名称搜索。from_score- 按最低分数搜索。0.0~0.3- 低0.3~0.6- 中0.6~0.8- 高0.8~1.0- 严重
status- 按状态搜索。0- 全部1- 活跃(默认)2- 待处理
offset- 按偏移量搜索。limit- 按数量限制搜索。
-
archive_finding - 归档 RISKEN 发现。(支持组织令牌和项目令牌)
finding_id- 按发现 ID 归档。(必填)note- 备注。
警报
- search_alert - 搜索 RISKEN 警报。(仅限项目令牌)
status- 按状态搜索。1- 活跃2- 待处理3- 已停用(已关闭)
资源
发现内容
- 获取发现内容 获取特定发现的内容。
- 模板:
finding://{project_id}/{finding_id} - 参数:
project_id:项目的 ID。finding_id:发现的 ID。
- 模板:
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。