mcpField
R
RISKEN MCP Server

RISKEN MCP Server

ローカル
github.com/ca-riskenセキュリティ740 週間前に更新

RISKEN MCP Server について

RISKEN MCP Serverは、MCPクライアントをRISKEN APIに接続し、セキュリティ運用を支援します。検出事項やアラートの検索、内容の取得、解決済み項目のアーカイブに対応し、ローカルとリモートの実行方式、OAuth2.1認証を備えています。

主な機能

  1. 01ID、ソース、リソース、スコア、状態による検出事項検索
  2. 02状態によるアラート検索
  3. 03メモを付けた検出事項のアーカイブ
  4. 04リソースとしての検出事項内容の取得
  5. 05ローカルとリモートの実行方式
  6. 06サードパーティーOAuth2.1認証

活用シーン

  1. 01アクティブなセキュリティアラートの確認
  2. 02検出事項と修正情報の調査
  3. 03解決済み検出事項のアーカイブ
  4. 04クライアントからリモートMCPサーバーへの接続

MCP 対応

RISKENの検出事項・アラート操作、認証コンテキスト、検出事項内容のリソースをMCPクライアントに提供します。stdioとStreamable HTTPに対応しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"risken": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"\\"
]
}
}
}
起動コマンドdocker run -i --rm '\'

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
oci\

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

RISKEN MCP サーバー

リモート MCP サーバー

RISKEN MCP サーバーは、RISKEN API とのシームレスな統合を実現するModel Context Protocol(MCP)サーバーです。開発者やツール向けに、高度な自動化機能と対話機能を提供します。

ユースケース

RISKEN MCP サーバーを日常的に利用する AI ツールに接続すると、次のようなさまざまな操作を実行できます。

  • RISKEN のアクティブなアラートを確認し、そのステータスを監視します。
  • 説明や修復手順を含む検出結果を検索、分析、確認します。
  • 解決済みの検出結果をアーカイブして、セキュリティ態勢を整理された状態に保ちます。

前提条件

  1. コンテナーでサーバーを実行するには、Dockerをインストールする必要があります。
  2. Docker をインストールしたら、Docker が実行中であることも確認してください。
  3. 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 にサーバーをデプロイできます。

  1. terraform/examples/googlecloudにアクセスし、Terraform を使ってサーバーを Google Cloud Run にデプロイします。

  2. 次の MCP サーバー設定を、MCP クライアント(Claude DesktopまたはCursor)の設定に追加します。

注: ほとんどの MCP クライアントでは stdio 接続のみが許可されているため、現在、リモート MCP サーバーへの接続にはプロキシとして mcp-remote を使用する必要があります。

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 サーバーは、外部の ID プロバイダー(IdP)を介した安全な認証を可能にするサードパーティ認証(OAuth2.1)に対応しています。

概要

OAuth2.1 の実装は、サードパーティ認証フローを含むMCP 認証仕様に準拠しており、次のように動作します。

  1. MCP クライアントが MCP サーバーとの OAuth フローを開始します
  2. MCP サーバーが認可サーバーとして動作し、ユーザーを IdP にリダイレクトします
  3. IdPがユーザーを認証し、MCP サーバーに戻します
  4. MCP サーバーが MCP クライアント用のアクセストークンを発行します
  5. 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 サーバーの公開 URLhttp://localhost:8080
AUTHZ_METADATA_ENDPOINT✅IdP の OAuth メタデータエンドポイントhttps://your-idp.com/.well-known/oauth-authorization-server
CLIENT_ID✅IdP の OAuth クライアント IDyour-client-id
CLIENT_SECRET✅IdP の OAuth クライアントシークレットyour-client-secret
JWT_SIGNING_KEY✅セッション JWT トークンの署名キーyour-256-bit-secret
ID プロバイダーの要件

IdP は、次の OAuth 機能に対応している必要があります。

機能要件説明
認可コードフロー✅ 必須標準的な OAuth 認可コードグラント
JWKS エンドポイント✅ 必須JWT 検証用の JSON Web Key Set
メタデータ検出✅ 必須RFC 8414 認可サーバーメタデータ

注: PKCE の検証は、MCP 仕様に従って MCP クライアントと MCP サーバーの間で内部的に処理されます。IdP は PKCE に対応する必要はありません。

ツール

コンテキスト
  • get_context - 現在の認証コンテキストを取得します。
    • Organization トークンを使用している場合は Organization 情報、Project トークンを使用している場合は Project 情報を返します。
検出結果
  • search_finding - RISKEN の検出結果を検索します。(Organization トークンと Project トークンの両方に対応)

    • finding_id - 検出結果 ID で検索します。
    • alert_id - アラート ID で検索します。(Project トークンのみ)
    • 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 の検出結果をアーカイブします。(Organization トークンと Project トークンの両方に対応)

    • finding_id - 検出結果 ID を指定してアーカイブします。(必須)
    • note - メモ。
アラート
  • search_alert - RISKEN のアラートを検索します。(Project トークンのみ)
    • status - ステータスで検索します。
      • 1 - アクティブ
      • 2 - 保留中
      • 3 - 無効(すでにクローズ済み)

リソース

検出結果の内容
  • 検出結果の内容を取得 特定の検出結果の内容を取得します。
    • テンプレート: finding://{project_id}/{finding_id}
    • パラメーター:
      • project_id: プロジェクトの ID。
      • finding_id: 検出結果の ID。

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。