RAD Security
resmiKubernetes ve bulut ortamları için yapay zeka destekli güvenlik içgörüleri sağlayan RAD Security platformu ile etkileşim kurun.
RAD Security MCP ile neler yapabilirsiniz?
- Güvenlik bulgularını listele — Asistanınızdan Kubernetes ve bulut ortamlarınızdaki güvenlik bulgularını listelemesini ve analiz etmesini isteyin.
- Çalışma zamanı davranışını incele — Çalışan konteynerler için süreç ağaçları, çalışma zamanı temelleri ve süreç davranışı analizi alın.
- Görüntüleri ve güvenlik açıklarını sorgula — SBOM'ları alın, en çok güvenlik açığı olan görüntüleri listeleyin ve CVE'leri yok sayma veya yok saymayı kaldırma gibi CVE durumlarını yönetin.
- Otomasyonları yönet — Sohbetten doğrudan cron zamanlamalarıyla otomasyonları (iş akışları) listeleyin, oluşturun, güncelleyin ve çalıştırın.
- Bilgi tabanında ara — Koleksiyonlarda ve belgelerde arama yapın ve belirli belgelere karşı yapılandırılmış sorgular çalıştırın.
- RadQL sorguları çalıştır — Konteynerler ve bulgular gibi veri türlerinde filtreleme, arama ve toplama işlemleriyle gelişmiş sorgular çalıştırın.
Dokümantasyon
RAD Security MCP Sunucusu
RAD Security için bir Model Context Protocol (MCP) sunucusu; Kubernetes ve bulut ortamları için yapay zeka destekli güvenlik içgörüleri sağlar.
Bağlan (barındırılan — önerilir)
RAD Security MCP sunucusunu sizin için çalıştırır, bu nedenle çoğu kullanıcının bir şey kurması veya barındırması gerekmez. MCP istemcinizi barındırılan uç noktaya yönlendirin ve RAD Security kimlik bilgilerinizle kimlik doğrulayın.
-
Uç nokta:
https://api.rad.security/mcp/— sondaki eğik çizgiye dikkat edin. -
Taşıma: Streamable HTTP.
-
Kimlik doğrulama: kimlik bilginizi
Authorizationbaşlığında gönderin:Authorization: Bearer <access_key_id>:<secret_key>:<account_id><access_key_id>ve<secret_key>bir RAD Security API erişim anahtarıdır (RAD Security konsolunda bir tane oluşturun);<account_id>hesap kimliğinizdir. Sunucu her isteği RAD Security API'sine karşı doğrular — sunucu tarafında hiçbir kimlik bilgisi saklanmaz.
Kısa ömürlü bir form olan
Bearer ory_st_<session_token>:<account_id>de çalışır, ancak oturum belirteçleri süresi dolar — uzun ömürlü her şey için bir erişim anahtarı tercih edin (örn. Slack / Claude Tag).
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>" }
Veya CLI üzerinden, sırrı bir ortam değişkeninde tutarak (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_TOKEN
Cursor
.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 — sarmalayıcı anahtarının servers olduğunu unutmayın, mcpServers değil:
{
"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 — URL alanının httpUrl olduğunu unutmayın (url değil):
{
"mcpServers": {
"rad-security": {
"httpUrl": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}
Cline
cline_mcp_settings.json — type tam olarak streamableHttp (camelCase) olmalıdır:
{
"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 — URL alanının serverUrl olduğunu unutmayın:
{
"mcpServers": {
"rad-security": {
"serverUrl": "https://api.rad.security/mcp/",
"headers": {
"Authorization": "Bearer <access_key_id>:<secret_key>:<account_id>"
}
}
}
}
Diğer istemciler
Çoğu MCP istemcisi, bir URL ve Authorization başlığı ile uzak bir Streamable HTTP sunucusunu kabul eder — yalnızca alan adları farklıdır. Her durumda URL'deki sondaki eğik çizgiyi koruyun.
| İstemci | Yapılandırma konumu | URL alanı | Taşıma işareti | Başlık alanı |
|---|---|---|---|---|
| Claude Code | claude mcp add | konumsal argüman | --transport http | --header |
| OpenAI Codex CLI | ~/.codex/config.toml | url | çıkarılan | http_headers / bearer_token_env_var |
| Cursor | .cursor/mcp.json | url | type: "http" | headers |
| VS Code | .vscode/mcp.json (servers) | url | type: "http" | headers |
| Gemini CLI | ~/.gemini/settings.json | httpUrl | çıkarılan | headers |
| Cline | cline_mcp_settings.json | url | type: "streamableHttp" | headers |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | serverUrl | çıkarılan | headers |
Claude.ai / Claude Desktop / Claude Tag (Slack)
Bu yüzeyler uzak MCP sunucularını bağlayıcılar olarak ekler; bunlar ham bir istek başlığı yerine kendi kimlik bilgisi ayarlarını kullanır. https://api.rad.security/mcp/ öğesini özel bir bağlayıcı olarak ekleyin ve ardından taşıyıcı kimlik bilgisini bağlayıcının ayarlarından sağlayın:
- Claude Tag (Slack): sunucuyu,
.mcp.jsonuç noktayı gösteren bir eklenti olarak ekleyin ve taşıyıcı kimlik bilgisini Access paketinin Kimlik Bilgileri sekmesine ekleyin. Bkz. Claude Tag — özel bir MCP sunucusu bağlama. - Claude.ai / Desktop: Ayarlar → Bağlayıcılar altına ekleyin; bkz. özel bağlayıcılar.
Test edin (MCP Inspector veya 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"}}}'
Bir aracının gördüğü araçların kapsamını belirleme
Varsayılan olarak bir bağlantı tüm araç setlerini alır. Bir aracıya daha küçük bir set vermek için — daha az bağlam/belirteç yükü ve en az ayrıcalık — bu bağlantıya Authorization ile birlikte bir kapsam başlığı ekleyin. Alt küme zorunludur: kapsam dışı bir araç tools/list öğesinden gizlenir ve çağrılırsa reddedilir.
| Başlık | Etki |
|---|---|
X-Rad-Toolkits: findings, images | yalnızca bu araç setleri |
X-Rad-Exclude-Toolkits: workflows | bunlar dışındaki tüm araç setleri |
X-Rad-Readonly: true | yalnızca salt okunur araçlar (yazma araçlarını bırakır) |
Araç setleri: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. Tümü varsayılan olarak etkindir — yukarıdaki başlıklarla daraltın ve her yazma aracını hariç tutmak istediğinizde X-Rad-Readonly kullanın.
Örnek — salt okunur bulgular/görüntüler aracısı (başlıkları destekleyen herhangi bir istemci; Cursor gösterilmiştir):
{
"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"
}
}
}
}
Claude Code'da ek bir --header iletin:
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"
Özellikler
Tüm araçlar kimlik doğrulama ve RAD Security'de bir hesap gerektirir. Barındırılan uç nokta varsayılan olarak aşağıdaki tüm araç setlerini sunar; bir istemciyi X-Rad-Toolkits / X-Rad-Exclude-Toolkits ile daraltın veya tüm yazma araçlarını X-Rad-Readonly: true ile bırakın.
-
Hesap Envanteri
- Kümeleri ve ayrıntılarını listele
-
Konteyner Envanteri
- Konteynerleri ve ayrıntılarını listele
-
Güvenlik Bulguları
- Güvenlik bulgularını listele ve analiz et
- Bir güvenlik bulgusunun durumunu güncelle
-
Çalışma Zamanı Güvenliği
- Çalışan konteynerlerin süreç ağaçlarını al
- Çalışan konteynerlerin çalışma zamanı temellerini al
- Çalışan konteynerlerin süreç davranışını analiz et
-
Denetim
- Bir pod'a kimlerin kabuk erişimi olduğunu listele
-
Görüntüler ve Güvenlik Açıkları
- SBOM'ları al
- Görüntüleri ve güvenlik açıklarını listele
- En çok güvenlik açığı olan görüntüleri al
- CVE'leri yoksay / yoksaymayı kaldır ve etkin CVE durumlarını listele
-
Kubernetes Nesneleri
- Belirli bir Kubernetes kaynağının ayrıntılarını al
- Kubernetes kaynaklarını listele
-
Gelen Kutusu
- Gelen kutusu öğelerini ve ayrıntılarını listele
- Bir gelen kutusu öğesini yanlış pozitif olarak işaretle
-
Otomasyonlar (
workflows)- Otomasyonları, çalıştırmaları ve zamanlamaları listele
- Otomasyon ve çalıştırma ayrıntılarını al
- Bir otomasyonu çalıştır
- Otomasyonlar oluştur ve güncelle, cron zamanlamaları ekle
"Otomasyon" kullanıcıların gördüğü ürün adıdır; "iş akışı" API ve araç adlarının kullandığı temel Windmill nesnesidir. Bunlar aynı şeydir.
-
Bilgi Tabanı
- Bilgi tabanında arama yap
- Koleksiyonları ve belgeleri listele
- Bir belgeye karşı yapılandırılmış sorgular çalıştır
-
Panolar
- Panoları listele ve ayrıntılarını al
- Pano ve widget şablonlarını listele ve al
- Bir pano oluştur ve yerinde güncelle (atlanan alanlar değiştirilmez, bu nedenle küçük bir düzenleme tüm panoyu yeniden göndermeyi gerektirmez)
-
Entegrasyonlar
- Harici entegrasyonları listele
-
RadQL (Gelişmiş Sorgulama)
- Sorgulama için kullanılabilir veri türlerini listele (konteynerler, bulgular, kubernetes_resources, vb.)
- Belirli veri türleri için şema/üst veri al
- Filtre alanları için olası değerleri listele
- Filtreleme, arama ve toplama ile RadQL sorguları çalıştır
- Yapılandırılmış koşullardan programatik olarak sorgular oluştur
- Birden çok sorguyu paralel çalıştır
Kendi kendine barındırma
Sunucuyu kendiniz çalıştırmayı mı tercih edersiniz — örneğin hava boşluklu bir ortam, veri yerleşimi gereksinimleri veya barındırılan ağ geçidi üzerinden yönlendirmek istemiyorsanız? npm'de ve bir konteyner görüntüsü olarak yayınlanmıştır.
Ön koşullar
- Node.js 20.x veya üzeri
Kimlik bilgileri
RAD Security kimlik bilgilerinizi ortam değişkenleri aracılığıyla sağlayın:
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
RAD_SECURITY_TENANT_ID="your_tenant_id"
npx (stdio) — örn. 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-server
Araç seti filtreleme
Kendi kendine barındırılan bir sunucunun hangi araç setlerini sunduğunu kontrol edin:
INCLUDE_TOOLKITS: dahil edilecek araç setlerinin virgülle ayrılmış listesi (yalnızca bunlar etkindir).EXCLUDE_TOOLKITS: hariç tutulacak araç setlerinin virgülle ayrılmış listesi (diğerleri etkindir).INCLUDE_TOOLKITSayarlanmışsa yok sayılır.
Kullanılabilir araç setleri: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. Tümü varsayılan olarak etkindir.
# Only the workflows toolkit
INCLUDE_TOOLKITS="workflows"
# Everything except runtime
EXCLUDE_TOOLKITS="runtime"
Çok kiracılı (isteğe göre kimlik doğrulama)
MCP_AUTH_MODE, bir streamable HTTP dağıtımının gelen istekleri nasıl doğruladığını kontrol eder — barındırılan uç noktanın kullandığı budur:
MCP_AUTH_MODE=env(varsayılan) — her oturumRAD_SECURITY_*ortam kimlik bilgilerini kullanır. Tek kiracılıdır ve HTTP katmanında kimlik doğrulaması yoktur, bu nedenle güvenilmeyen ağlardan erişilebilir olmamalıdır.MCP_AUTH_MODE=header— her istek kendi kimlik bilgisiniAuthorizationbaşlığında taşımalıdır (yukarıdakiBearer <access_key_id>:<secret_key>:<account_id>formu); eksik veya hatalı bir başlık401ile reddedilir. YalnızcaTRANSPORT_TYPE=streamableile desteklenir.RAD_SECURITY_API_URLsunucu yapılandırmasından alınır, çağırandan değil.
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-server
SSE taşıması (
TRANSPORT_TYPE=sse) Streamable HTTP lehine kullanımdan kaldırılmıştır ve yalnızca ortam kimlik bilgilerini kullanır.
Geliştirme
# Install dependencies
npm install
# Run type checking
npm run type-check
# Run linter
npm run lint
# Build
npm run build
Lisans
MIT Lisansı - ayrıntılar için LICENSE dosyasına bakın