Run the RISKEN MCP agent and tools in a Meshagent Room in the cloud:

Prerequisites

  • Docker must be available.
  • Meshagent CLI installed and authenticated.

Required Environment Variables

Set these as part of your deployment command:

  • RISKEN_URL: Base URL of your RISKEN deployment (e.g., http://localhost:8000)
  • RISKEN_ACCESS_TOKEN: RISKEN access token (replace with your actual token)

Steps

  1. Install Meshagent with all extras:

    pip install "meshagent[all]"
    
  2. Sign up and authenticate with Meshagent:

  3. Start the RISKEN MCP agent in a Meshagent room:

    meshagent service test \
      --room=test \
      --role=agent \
      --image=meshagent/mcp-risken:latest \
      --env MESHAGENT_PORT=8001 \
      --env RISKEN_URL=http://localhost:8000 \
      --env RISKEN_ACCESS_TOKEN=your_access_token \
      --port="num=8001 path=/webhook liveness=/ type=meshagent.callable" \
      --name=mcp-risken-service
    
    • This command deploys the MCP server inside a Meshagent room (here, named test). If the room goes inactive, it will close automatically.
  4. Join the room with a chatbot agent using the RISKEN MCP toolkit:

    meshagent chatbot join \
      --room=test \
      --agent-name=sample \
      --name=sample \
      --toolkit=mcp-risken
    
    • This starts a chatbot in the room that can access the RISKEN toolset. The room’s interactive link will be shown in the output.
    • You can add more toolkits or agents to the same room for even richer collaboration.

Tools Available

Tools Summary

ToolShort Description
archive_findingArchive RISKEN finding.
get_projectGet details of the authenticated RISKEN project.
search_alertSearch RISKEN alert.
search_findingSearch RISKEN findings.

Tools Details

archive_finding

Archive RISKEN finding. Use this tool for requests involving “archive”, “アーカイブ”, “ペンディング”, etc.

ParametersTypeDescription
finding_idnumberFinding ID.
notestring (optional)Note, e.g., “This is no risk finding.”

get_project

Get details of the authenticated RISKEN project. Use for queries like “project”, “my project”, “プロジェクト”, etc.


search_alert

Search RISKEN alert. Use for requests involving “alert”, “アラート”, etc.

ParametersTypeDescription
statusnumber (optional)Status of alert. 1: active (有効なアラート), 2: pending (保留中), 3: deactive (解決済みアラート).

search_finding

Search RISKEN findings. For queries like “finding”, “issue”, “ファインディング”, “問題”, etc.

ParametersTypeDescription
alert_idnumber (optional)Alert ID.
data_sourcearray (optional)RISKEN DataSource, e.g., aws, google, code, osint, diagnosis, azure, etc.
finding_idnumber (optional)Finding ID.
from_scorenumber (optional)Minimum score of the findings.
limitnumber (optional)Limit of the findings.
offsetnumber (optional)Offset of the findings.
resource_namearray (optional)RISKEN ResourceName, e.g., “arn:aws:iam::123456789012:user/test-user”, etc.
statusnumber (optional)Status of the findings (0: all, 1: active, 2: pending).


Ready to supercharge your workflows with RISKEN tools in collaborative Meshagent Rooms! 🚀