
RISKEN MCP 服务器是一个 模型上下文协议 (MCP) 服务器,它提供了与 RISKEN API 的无缝集成,使开发者和工具能够实现高级自动化和交互功能。
通过将 RISKEN MCP 服务器连接到您日常使用的 AI 工具,您可以执行以下各种操作:
请将以下 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"
}
}
}
}
RISKEN MCP 服务器支持可流式传输的 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
您可以使用 Terraform 在 Google Cloud Run 上部署服务器。
访问 terraform/examples/googlecloud 并使用 Terraform 部署服务器到 Google Cloud Run。
将以下 MCP 服务器配置添加到您的 MCP 客户端 (Claude Desktop 或 Cursor) 设置中。
注意: 由于大多数 MCP 客户端仅允许 stdio 连接,因此目前需要使用 mcp-remote 作为代理来连接到远程 MCP 服务器。
{
"mcpServers": {
"risken": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8098/mcp",
"--header",
"RISKEN-ACCESS-TOKEN:${RISKEN_ACCESS_TOKEN}"
],
"env": {
"RISKEN_ACCESS_TOKEN": "xxxxxx"
}
}
}
}
RISKEN MCP 服务器支持第三方授权 (OAuth2.1),通过外部身份提供者 (IdP) 实现安全认证。
OAuth2.1 实现遵循 MCP 授权规范 的第三方授权流程,其中:
sequenceDiagram
participant Browser as 用户浏览器
participant Client as MCP 客户端
participant Server as MCP 服务器
participant IdP as 身份提供者
Client->>Server: POST /mcp (无认证)
Server->>Client: 401 未授权 + WWW-Authenticate
Client->>Server: GET /.well-known/oauth-authorization-server
Server->>Client: 授权元数据
Client->>Server: POST /register (动态客户端注册)
Server->>Client: client_id
Client->>Browser: 打开授权 URL (带有 PKCE 挑战)
Browser->>IdP: 用户认证
IdP->>Browser: 重定向到回调 URL (带有 code)
Browser->>Server: GET /oauth/callback (IdP code)
Note over Server: 存储 IdP code,生成内部 JWT 授权码
Server->>Client: 授权完成 (内部码)
Client->>Server: POST /token (内部码 + PKCE 验证器)
Note over Server: 验证 PKCE 挑战/验证器
Server->>IdP: 用 IdP code 交换访问令牌
IdP->>Server: 访问令牌
Server->>Client: 访问令牌
Client->>Server: POST /mcp (带有 Bearer 令牌)
Server->>Client: 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。
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 - 备注。status - 按状态搜索。
1 - 活动2 - 待处理3 - 已停用(已关闭)finding://{project_id}/{finding_id}project_id: 项目的 ID。finding_id: 发现项的 ID。本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。