RAD Security
OfficialRAD Security MCP server provides AI-powered security insights and management for Kubernetes, cloud, runtime, image, compliance, automation, knowledge-base, and dashboard data.
List and inspect clusters, containers, identities, Kubernetes resources, cloud resources, and HTTP/network activity.
List, filter, and update security findings; inspect audit logs for pod shell access; list threat vectors.
Get container process trees, runtime baselines, and LLM analysis of container process behavior.
Inspect images, vulnerabilities, SBOMs, top vulnerable images, CVEs, and CVE dispositions.
Review Kubernetes misconfigurations, policies, and compliance frameworks, requirements, controls, and affected resources.
Manage inbox items by listing details and marking false positives.
List, inspect, run, create/update automations (workflows), runs, and schedules.
Search and query the knowledge base, list collections/documents, and run structured CSV document queries.
Use RadQL to discover data types, inspect metadata, list filter values, execute queries, build queries, and batch queries in parallel.
List and inspect dashboards, dashboard templates, and widget templates.
Enables runtime security analysis of containers, including process behavior monitoring, baselines, and container inventory management.
Provides security insights for Kubernetes environments, including cluster inventory, container details, Kubernetes resource monitoring, and identifying security vulnerabilities in Kubernetes objects.
Required runtime environment for the MCP server, with version 20.x or higher needed for operation.
Used for package installation and management of the MCP server.
Provides audit capabilities to track and monitor shell access to pods.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RAD Security show me the latest security findings for my production cluster"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RAD Security MCP Server
A Model Context Protocol (MCP) server for RAD Security, providing AI-powered security insights for Kubernetes and cloud environments.
Connect (hosted — recommended)
RAD Security runs the MCP server for you, so most users don't need to install or host anything. Point your MCP client at the hosted endpoint and authenticate with your RAD Security credentials.
Endpoint:
https://api.rad.security/mcp/— note the trailing slash.Transport: Streamable HTTP.
Authentication: send your credential in the
Authorizationheader:Authorization: Bearer <access_key_id>:<secret_key>:<account_id><access_key_id>and<secret_key>are a RAD Security API access key (create one in the RAD Security console);<account_id>is your account ID. The server authenticates every request against the RAD Security API — no credentials are stored server-side.
A short-lived form
Bearer ory_st_<session_token>:<account_id>also works, but session tokens expire — prefer an access key for anything long-lived (e.g. Slack / Claude Tag).
One connection for a whole tenant
To work across all your accounts from one MCP configuration, create an access key on your tenant and use tenant=<tenant_id> in place of the account ID:
Authorization: Bearer <access_key_id>:<secret_key>:tenant=<tenant_id>In a tenant-scoped session:
A
list_accountstool returns the tenant's accounts.Account-scoped tools require an
account_idargument, which must be a child account of the tenant. Each call covers one account; results aren't combined across accounts.Only read-only tools are available by default, because a tenant credential reaches every account. To enable write tools, send
X-Rad-Readonly: false.
For the npx/stdio server, set RAD_SECURITY_TENANT_ID without RAD_SECURITY_ACCOUNT_ID, and use RAD_SECURITY_READONLY=false to enable write tools.
Claude Code
claude mcp add --transport http rad-security https://api.rad.security/mcp/ \
--header "Authorization: Bearer <access_key_id>:<secret_key>:<account_id>"OpenAI Codex CLI
~/.codex/config.toml:
[mcp_servers.rad-security]
url = "https://api.rad.security/mcp/"
http_headers = { "Authorization" = "Bearer <access_key_id>:<secret_key>:<account_id>" }Or via the CLI, keeping the secret in an env var (export RAD_MCP_TOKEN=<access_key_id>:<secret_key>:<account_id>):
codex mcp add rad-security --url https://api.rad.security/mcp/ --bearer-token-env-var RAD_MCP_TOKENCursor
.cursor/mcp.json:
{
"mcpServers": {
"rad-security": {
"type": "http",
"url": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}VS Code (GitHub Copilot)
.vscode/mcp.json — note the wrapper key is servers, not mcpServers:
{
"servers": {
"rad-security": {
"type": "http",
"url": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}Gemini CLI
~/.gemini/settings.json — note the URL field is httpUrl (not url):
{
"mcpServers": {
"rad-security": {
"httpUrl": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}Cline
cline_mcp_settings.json — note type must be exactly streamableHttp (camelCase):
{
"mcpServers": {
"rad-security": {
"type": "streamableHttp",
"url": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}Windsurf
~/.codeium/windsurf/mcp_config.json — note the URL field is serverUrl:
{
"mcpServers": {
"rad-security": {
"serverUrl": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}Other clients
Most MCP clients accept a remote Streamable HTTP server with a URL and an Authorization header — only the field names differ. Keep the trailing slash on the URL in every case.
Client | Config location | URL field | Transport marker | Header field |
Claude Code |
| positional arg |
|
|
OpenAI Codex CLI |
|
| inferred |
|
Cursor |
|
|
|
|
VS Code |
|
|
|
|
Gemini CLI |
|
| inferred |
|
Cline |
|
|
|
|
Windsurf |
|
| inferred |
|
Claude.ai / Claude Desktop / Claude Tag (Slack)
These surfaces add remote MCP servers as connectors, which use their own credential settings rather than a raw request header. Add https://api.rad.security/mcp/ as a custom connector, then supply the bearer credential through the connector's settings:
Claude Tag (Slack): attach the server as a plugin whose
.mcp.jsonpoints at the endpoint, and add the bearer credential on the Access bundle's Credentials tab. See Claude Tag — connect a custom MCP server.Claude.ai / Desktop: add it under Settings → Connectors; see custom connectors.
Test it (MCP Inspector or curl)
npx @modelcontextprotocol/inspector
# Transport: Streamable HTTP
# URL: https://api.rad.security/mcp/ (trailing slash)
# Custom headers: { "Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>" }curl -H "authorization: Bearer <access_key_id>:<secret_key>:<account_id>" \
-H "content-type: application/json" \
-H "accept: application/json, text/event-stream" \
-X POST https://api.rad.security/mcp/ \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'Scoping the tools an agent sees
By default a connection gets every toolkit. To give an agent a smaller set — less context/token overhead, and least privilege — add a scoping header to that connection alongside Authorization. The subset is enforced: an out-of-scope tool is hidden from tools/list and rejected if called.
Header | Effect |
| only these toolkits |
| every toolkit except these |
| only read-only tools (drops the write tools) |
Toolkits: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. All are enabled by default — narrow with the headers above, and use X-Rad-Readonly when you want to exclude every write tool.
Example — a read-only findings/images agent (any client that supports headers; Cursor shown):
{
"mcpServers": {
"rad-security-findings": {
"type": "http",
"url": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>",
"X-Rad-Toolkits": "findings, images",
"X-Rad-Readonly": "true"
}
}
}
}In Claude Code, pass an extra --header:
claude mcp add --transport http rad-security https://api.rad.security/mcp/ \
--header "Authorization: Bearer <access_key_id>:<secret_key>:<account_id>" \
--header "X-Rad-Toolkits: findings, images"Related MCP server: IBM QRadar MCP Server
Features
All tools require authentication and an account in RAD Security. The hosted endpoint exposes every toolkit below by default; scope a client down with X-Rad-Toolkits / X-Rad-Exclude-Toolkits, or drop all write tools with X-Rad-Readonly: true.
Account Inventory
List clusters and their details
Containers Inventory
List containers and their details
Security Findings
List and analyze security findings
Update the status of a security finding
Runtime Security
Get process trees of running containers
Get runtime baselines of running containers
Analyze process behavior of running containers
Audit
List who shelled into a pod
Images and Vulnerabilities
Get SBOMs
List images and their vulnerabilities
Get top vulnerable images
Ignore / unignore CVEs and list active CVE dispositions
Kubernetes Objects
Get details of a specific Kubernetes resource
List Kubernetes resources
Inbox
List inbox items and their details
Mark an inbox item as a false positive
Automations (
workflows)List automations, runs and schedules
Get automation and run details
Run an automation
Create and update automations, and add cron schedules
"Automation" is the product name users see; "workflow" is the underlying Windmill object the API and tool names use. They are the same thing.
Knowledge Base
Search the knowledge base
List collections and documents
Run structured queries against a document
Dashboards
List dashboards and get their details
List and get dashboard and widget templates
Create a dashboard, and update one in place (omitted fields are left unchanged, so a small edit does not require resending the whole dashboard)
Integrations
List external integrations
RadQL (Advanced Querying)
List available data types for querying (containers, findings, kubernetes_resources, etc.)
Get schema/metadata for specific data types
List possible values for filter fields
Execute RadQL queries with filtering, searching, and aggregations
Build queries programmatically from structured conditions
Execute multiple queries in parallel
Self-hosting
Prefer to run the server yourself — for example an air-gapped environment, data-residency requirements, or if you don't want to route through the hosted gateway? It's published to npm and as a container image.
Prerequisites
Node.js 20.x or higher
Credentials
Provide your RAD Security credentials via environment variables:
RAD_SECURITY_ACCESS_KEY_ID="your_access_key"
RAD_SECURITY_SECRET_KEY="your_secret_key"
RAD_SECURITY_ACCOUNT_ID="your_account_id"
# Optional: fetched automatically from the account if not set.
# Set this without RAD_SECURITY_ACCOUNT_ID for a session across all the tenant's accounts.
RAD_SECURITY_TENANT_ID="your_tenant_id"
# Optional: true exposes only read-only tools. Tenant-scoped sessions are read-only unless this is false.
RAD_SECURITY_READONLY="true"npx (stdio) — e.g. Claude Desktop
{
"mcpServers": {
"rad-security": {
"command": "npx",
"args": ["-y", "@rad-security/mcp-server"],
"env": {
"RAD_SECURITY_ACCESS_KEY_ID": "<your-access-key-id>",
"RAD_SECURITY_SECRET_KEY": "<your-secret-key>",
"RAD_SECURITY_ACCOUNT_ID": "<your-account-id>"
}
}
}
}Docker (Streamable HTTP)
docker build -t rad-security/mcp-server .
docker run \
-e TRANSPORT_TYPE=streamable \
-e RAD_SECURITY_ACCESS_KEY_ID=your_access_key \
-e RAD_SECURITY_SECRET_KEY=your_secret_key \
-e RAD_SECURITY_ACCOUNT_ID=your_account_id \
-p 3000:3000 \
rad-security/mcp-serverToolkit filtering
Control which toolkits a self-hosted server exposes:
INCLUDE_TOOLKITS: comma-separated list of toolkits to include (only these are enabled).EXCLUDE_TOOLKITS: comma-separated list of toolkits to exclude (all others are enabled). Ignored ifINCLUDE_TOOLKITSis set.
Available toolkits: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. All are enabled by default.
# Only the workflows toolkit
INCLUDE_TOOLKITS="workflows"
# Everything except runtime
EXCLUDE_TOOLKITS="runtime"Multi-tenant (per-request auth)
MCP_AUTH_MODE controls how a streamable HTTP deployment authenticates inbound requests — this is what the hosted endpoint uses:
MCP_AUTH_MODE=env(default) — every session uses theRAD_SECURITY_*environment credentials. Single-tenant, and unauthenticated at the HTTP layer, so it must not be reachable from untrusted networks.MCP_AUTH_MODE=header— every request must carry its own credential in theAuthorizationheader (theBearer <access_key_id>:<secret_key>:<account_id>form above); a missing or malformed header is rejected with401. Only supported withTRANSPORT_TYPE=streamable.RAD_SECURITY_API_URLis taken from server config, not the caller.
docker run \
-e TRANSPORT_TYPE=streamable \
-e MCP_AUTH_MODE=header \
-e RAD_SECURITY_API_URL=https://api.rad.security \
-p 3000:3000 \
rad-security/mcp-serverThe SSE transport (
TRANSPORT_TYPE=sse) is deprecated in favor of Streamable HTTP and uses env credentials only.
Development
# Install dependencies
npm install
# Run type checking
npm run type-check
# Run linter
npm run lint
# Build
npm run buildLicense
MIT License - see the LICENSE file for details
Available Tools
65 toolsget_cloud_resource_detailsC
Get detailed information about a specific cloud resource
Inputs: provider (required), resource_type (required), resource_id (required).
get_cloud_resource_facetsC
Get available facets for filtering cloud resources from a provider
Inputs: provider (required).
get_cloud_resource_facet_valueC
Get values for a specific facet from a cloud provider
Inputs: provider (required), facet_id (required).
get_cluster_detailsC
Get detailed information about a specific Kubernetes cluster managed by RAD Security
Inputs: cluster_id (required).
get_compliance_controlC
Get detailed information about a specific compliance control
Inputs: control_name (required), datasource_ids (required).
get_container_detailsB
Get detailed information about a container secured by RAD Security
Inputs: container_id (required).
get_container_llm_analysisC
Get LLM analysis of a container's process tree
Inputs: container_id (required).
get_containers_baselinesC
Get runtime baselines for multiple containers
Inputs: container_ids (required).
get_containers_process_treesC
Get process trees for multiple containers
Inputs: container_ids (required), processes_limit.
get_cveB
Get details for a specific CVE ID. Source: cve-search.org
Inputs: cveId (required).
get_dashboardB
Get detailed information about a specific dashboard
Inputs: dashboard_id (required).
get_dashboard_templateB
Get detailed information about a specific dashboard template
Inputs: dashboard_template_id (required).
get_identity_detailsC
Get detailed information about a specific identity in a Kubernetes cluster
Inputs: identity_id (required).
get_image_sbomB
Get the SBOM of a container image
Inputs: digest (required).
get_inbox_item_detailsB
Get detailed information about a specific inbox item
Inputs: inbox_item_id (required).
get_k8s_resource_detailsB
Get the latest manifest of a Kubernetes resource
Inputs: cluster_id (required), resource_uid (required).
get_k8s_resource_misconfigC
Get detailed information about a specific Kubernetes resource misconfiguration
Inputs: cluster_id (required), misconfig_id (required).
get_latest_30_cvesA
Get the latest/newest 30 CVEs including CAPEC, CWE and CPE expansions. Source: cve-search.org
Inputs: no named parameters.
get_top_vulnerable_imagesC
Get the most vulnerable images from your account
Inputs: no named parameters.
get_widget_templateC
Get detailed information about a specific widget template
Inputs: widget_template_id (required).
get_workflowC
Get detailed information about a specific workflow by ID. It contains the workflow definition, default arguments, and schema how to run the workflow
Inputs: workflow_id (required).
get_workflow_runB
Get detailed information about a specific workflow run
Inputs: workflow_id (required), run_id (required).
list_cloud_resourcesC
List cloud resources for a specific provider with optional filtering
Inputs: provider (required), filters, offset, limit, +1 more.
list_clustersB
List Kubernetes clusters managed by RAD Security
Inputs: page_size, page.
list_compliance_controlsC
List all compliance control summaries for the account
Inputs: status, providers, page, page_size.
list_compliance_frameworksB
List all compliance frameworks available for cloud resources (e.g., CIS, SOC2, PCI-DSS)
Inputs: datasource_ids, page, page_size.
list_containersB
List containers secured by RAD Security with optional filtering by image name, image digest, namespace, cluster_id, or free text search
Inputs: filters, offset, limit, q.
list_control_resourcesC
List cloud resources associated with a specific compliance control
Inputs: control_name (required), datasource_ids (required), page, page_size.
list_cve_productsC
Get a list of all products associated with a vendor in the CVE database. Source: cve-search.org
Inputs: vendor (required).
list_cve_vendorsB
Get a list of all vendors in the CVE database. Source: cve-search.org
Inputs: no named parameters.
list_dashboardsB
List dashboards for the account
Inputs: limit, offset.
list_dashboard_templatesB
List dashboard templates with optional filtering by category
Inputs: limit, offset, category.
list_framework_requirementsC
List all requirements for a specific compliance framework
Inputs: framework_name (required), datasource_ids (required), page, page_size.
list_http_requestsC
List HTTP requests insights with optional filtering by method, path, source and destination workloads, and PII detection
Inputs: filters, offset, limit, q.
list_identitiesB
Get list of identities for a specific Kubernetes cluster
Inputs: identity_types, cluster_ids, page, page_size, +1 more.
list_imagesC
List container images with optional filtering by page, page size, sort, and search query
Inputs: limit, offset, sort, filters, +1 more.
list_image_vulnerabilitiesB
List vulnerabilities in a container image with optional filtering by severity
Inputs: digest (required), severities, page, page_size.
list_inbox_itemsB
List inbox items with optional filtering by any field. Multiple filters can be combined eg. 'search:cve-2024-12345 and severity:high'
Inputs: limit, offset, filters_query.
list_k8s_resource_misconfig_policiesB
List available misconfiguration policies used by RAD Security to detect Kubernetes resource misconfigurations
Inputs: no named parameters.
list_k8s_resource_misconfigsB
Get manifest misconfigurations for a Kubernetes resource
Inputs: resource_uid (required).
list_k8s_resourcesC
List Kubernetes resources with optional filtering by namespace, resource types, and cluster
Inputs: namespace, kinds, cluster_id, page, +1 more.
list_knowledge_base_collectionsC
List all collections in your organization's knowledge base. Collections are used to organize and categorize documents
Inputs: limit, offset.
list_knowledge_base_documentsC
List documents in your organization's knowledge base with optional filtering by collections, file type, or status
Inputs: limit, offset, filters.
list_network_connectionsC
List network connections with optional filtering
Inputs: filters, limit, q.
list_network_connection_srcsC
List network connection sources with optional filtering by source and destination workloads
Inputs: filters, offset, limit, q.
list_requirement_controlsB
List controls associated with a specific requirement within a compliance framework
Inputs: framework_name (required), requirement_id (required), datasource_ids (required), page, +1 more.
list_security_findingsC
List security findings with optional filtering by types, severities, sources, and status
Inputs: limit, types, severities, source_kinds, +6 more.
list_threat_vectorsD
List threat vectors
Inputs: clustersIds, namespaces, resource_uid, page, +1 more.
list_widget_templatesC
List widget templates with optional filtering by visualization type and category
Inputs: limit, offset, visualization_type, category.
list_workflow_runsC
List workflow runs with optional filtering by workflow ID
Inputs: workflow_id (required).
list_workflowsB
List all workflows
Inputs: no named parameters.
list_workflow_schedulesC
List workflow schedules with optional filtering by workflow ID
Inputs: workflow_id (required).
mark_inbox_item_as_false_positiveC
Mark an inbox item as a false positive with a reason
Inputs: inbox_item_id (required), reason (required), value.
query_knowledge_base_documentA
Query a CSV document from the knowledge base using natural language. IMPORTANT: This tool ONLY works with CSV documents. Use list_knowledge_base_documents with filters='file_type:csv' to find CSV document IDs (search_knowledge_base results also contain document IDs). Results are returned as a markdown table
Inputs: document_id (required), query (required).
radql_batch_queryA
Execute multiple RadQL queries in parallel for efficiency. Useful for fetching related data from different data types simultaneously (e.g., container details + vulnerabilities + network connections).
Inputs: queries (required).
radql_get_type_metadataA
Get schema/metadata for a specific RadQL data type. Shows available fields, data types, which fields can be filtered/searched, and provides query examples. Call this AFTER radql_list_data_types to understand how to query a specific data type.
Inputs: data_type (required).
radql_list_data_typesA
List all available RadQL data types (discovery). ALWAYS call this FIRST before using other RadQL tools to discover what data is available to query. Returns data types like 'containers', 'kubernetes_resources', 'inbox_items', 'vulnerabilities', etc. with descriptions.
Inputs: no named parameters.
radql_list_filter_valuesA
List possible values for a filter field (e.g., namespace list, cluster list, severity values). Useful for building dynamic filters when you need to know available enum-like values. Call this when constructing filters that need specific values.
Inputs: data_type (required), filter_name (required).
radql_queryA
Execute RadQL queries for security investigations. Supports: list (filter/search), get_by_id (single item), stats (aggregations).
WORKFLOW: radql_list_data_types -> radql_get_type_metadata -> radql_query
COMMON FIELDS BY DATA TYPE: containers: name, image_name, image_repo, owner_kind, cluster_id, created_at Example: image_name:nginx AND owner_kind:Pod
finding_groups: type, source_kind, source_name, rule_title, severity, event_timestamp Types: k8s_misconfiguration, k8s_audit_logs_anomaly, threat_vector Example: type:k8s_misconfiguration AND severity:critical
inbox_items: severity (High|Medium|Low), type, title, archived, false_positive, created_at Example: severity:High AND archived:false
kubernetes_resources: kind, name, namespace, cluster_id, owner_kind, created_at Example: kind:Deployment AND namespace:production
CRITICAL QUOTING RULES: MUST quote when value contains:
Dates/timestamps: created_at>"2024-01-01" (NOT created_at>2024-01-01)
Hyphens: cluster_id:"abc-123-def", name:"kube-system"
UUIDs: id:"550e8400-e29b-41d4-a716-446655440000"
Spaces: title:"my alert"
Special chars: :, =, <, >, !, (, )
Wildcards with hyphens: name:"kube-*"
OK to leave unquoted:
Simple strings: status:active, kind:Pod
Numbers: count:123
Booleans: archived:true
Simple wildcards: name:nginx*
For complete schema: call radql_get_type_metadata with target data_type
Inputs: data_type (required), operation (required), filters_query, stats_query, +4 more.
radql_query_builderB
Helper tool to build RadQL queries programmatically from structured conditions. Useful when you need to construct complex filter or stats queries from structured inputs.
Inputs: data_type (required), conditions, logic, aggregation, +3 more.
run_workflowC
Run a workflow with optional argument overrides
Inputs: workflow_id (required), async, args.
search_cvesC
Search CVEs by vendor and optionally product. Source: cve-search.org
Inputs: vendor (required), product.
search_knowledge_baseC
Search your organization's knowledge base to find relevant uploaded documents, procedures, reports, and other content using natural language queries
Inputs: query (required), top_k, min_score, thread_id, +2 more.
update_security_finding_statusC
Update the status of a security finding
Inputs: id (required), status (required).
who_shelled_into_podC
Get k8s audit logs with information about users who shelled into a pod
Inputs: name, namespace, cluster_id, from_time, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
TDQS
Scored across 65 tools
The tool set has clear domains (cloud, Kubernetes, compliance, vulnerabilities, workflows, etc.), but there is significant overlap and ambiguity within domains. For example, multiple tools fetch details for specific resources (e.g., get_cloud_resource_details, get_cluster_details, get_container_details) which could confuse agents about which to use for a given context. The RadQL tools (radql_query, radql_batch_query, radql_query_builder) have overlapping query capabilities, and tools like list_containers and radql_query for 'containers' data type serve similar purposes, leading to potential misselection.
Tool names follow a highly consistent verb_noun pattern throughout, with clear conventions: 'get_' for retrieving specific details, 'list_' for listing items with filtering, and specific action verbs like 'mark_', 'query_', 'search_', 'run_', 'update_'. All tools use snake_case uniformly, and the naming is predictable and readable across the entire set, making it easy for agents to infer functionality.
With 65 tools, the count is excessive for a single server, indicating poor scoping and potential bloat. While RAD Security covers a broad domain (security, compliance, cloud, Kubernetes), many tools could be consolidated (e.g., multiple RadQL query tools, overlapping list/get functions). This high number increases complexity and cognitive load for agents, making it difficult to navigate and select the right tool efficiently.
The tool surface is extensive and covers a wide range of security and compliance operations, including CRUD-like actions for resources, vulnerabilities, workflows, and knowledge base. However, there are minor gaps: for instance, no tools for creating or updating cloud resources or compliance controls (only get/list), and the RadQL tools might duplicate functionality of other list/get tools, but agents can work around these with the available query capabilities. Overall, it supports core security investigation workflows effectively.
Maintenance
Related MCP Connectors
The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.
ZEN SecDB MCP server for CVE intelligence, CVSS/EPSS scoring, advisories, SSVC, and package audits.
Cloud cost, inventory and governance on AWS/Azure/GCP. Read-only by default, optional scoped writes
Multi-CI security scanner with a live threat-intel feed of compromised CI components
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for Cursor that scans codebases for security issues including hardcoded secrets, SAST, vulnerable dependencies, and IaC misconfigurations.7MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides comprehensive access to IBM QRadar security intelligence platform. Query logs, events, offenses, agents, assets, and more directly from your AI assistant.2MIT
- AlicenseNot gradedqualityBmaintenanceThe Checkmarx Security MCP server bridges your AI assistant (Claude, Cursor, Copilot, etc.) with Checkmarx One's enterprise application security platform. It exposes security workflows as natural-language-accessible MCP tools, allowing developers to scan code, investigate findings, and receive context-aware fixes without leaving their development environment.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceMCP server for SUSE NeuVector container security, exposing inventory, vulnerability, compliance, event, and policy data as 72 typed tools. Read-only by default, with optional mutating toolsets behind a confirmation handshake.Apache 2.0