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ı inceleyin — Güvenlik bulgularını listeleyip analiz edin, ardından bir bulgunun durumunu güncelleyin.
- Görüntüleri ve CVE'leri inceleyin — SBOM'ları alın, güvenlik açıkları bulunan görüntüleri listeleyin, en fazla güvenlik açığı bulunan görüntüleri bulun ve CVE'leri yok sayın veya yeniden dikkate alın.
- Çalışma zamanı davranışını izleyin — Çalışan kapsayıcıların süreç ağaçlarını ve çalışma zamanı temel çizgilerini alın, süreç davranışlarını analiz edin.
- Pod erişimini denetleyin — Bir pod'a kabuk üzerinden kimlerin eriştiğini listeleyin.
- RadQL sorguları çalıştırın — Veri türlerini listeleyin, şemaları alın ve filtrelenmiş veya toplulaştırılmış sorguları, birden fazlasını paralel olarak çalıştırmak da dahil olmak üzere yürütün.
- Otomasyonları yönetin — Otomasyonları, çalıştırmaları ve zamanlamaları listeleyin; çalıştırma ayrıntılarını alın; bir otomasyonu çalıştırın veya oluşturup güncelleyin.
Dokümantasyon
RAD Security MCP Sunucusu
Kubernetes ve bulut ortamları için yapay zekâ destekli güvenlik öngörüleri sunan, RAD Security için bir Model Context Protocol (MCP) sunucusu.
Bağlanma (barındırılan — önerilen)
RAD Security, MCP sunucusunu sizin için çalıştırır; bu nedenle çoğu kullanıcının herhangi bir şey yüklemesi veya barındırması gerekmez. MCP istemcinizi barındırılan uç noktaya yönlendirin ve RAD Security kimlik bilgilerinizle kimlik doğrulaması yapın.
-
Uç nokta:
https://api.rad.security/mcp/— sondaki eğik çizgiye dikkat edin. -
Aktarım: 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>, RAD Security API erişim anahtarıdır (RAD Security konsolunda oluşturun);<account_id>ise hesap kimliğinizdir. Sunucu her isteğin kimliğini RAD Security API'sine karşı doğrular — sunucu tarafında hiçbir kimlik bilgisi saklanmaz.
Kısa ömürlü bir
Bearer ory_st_<session_token>:<account_id>biçimi de çalışır, ancak oturum belirteçlerinin süresi dolar — uzun süreli kullanımlar için (ör. Slack / Claude Tag) erişim anahtarını tercih edin.
Tüm kiracı için tek bağlantı
Tek bir MCP yapılandırmasından tüm hesaplarınızda çalışmak için kiracınızda bir erişim anahtarı oluşturun ve hesap kimliği yerine tenant=<tenant_id> kullanın:
Authorization: Bearer <access_key_id>:<secret_key>:tenant=<tenant_id>
Kiracı kapsamlı bir oturumda:
- Bir
list_accountsaracı, kiracının hesaplarını döndürür. - Hesap kapsamlı araçlar, kiracının alt hesabı olması gereken bir
account_idbağımsız değişkeni gerektirir. Her çağrı tek bir hesabı kapsar; sonuçlar hesaplar arasında birleştirilmez. - Kiracı kimlik bilgisi tüm hesaplara eriştiğinden, varsayılan olarak yalnızca salt okunur araçlar kullanılabilir. Yazma araçlarını etkinleştirmek için
X-Rad-Readonly: falsegönderin.
npx/stdio sunucusu için RAD_SECURITY_ACCOUNT_ID olmadan RAD_SECURITY_TENANT_ID ayarlayın ve yazma araçlarını etkinleştirmek için RAD_SECURITY_READONLY=false kullanın.
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 sırrı bir ortam değişkeninde tutarak CLI üzerinden (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 mcpServers değil, servers olduğuna dikkat edin:
{
"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 url değil, httpUrl olduğuna dikkat edin:
{
"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 olmalıdır (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 — URL alanının serverUrl olduğuna dikkat edin:
{
"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, URL ve Authorization başlığı olan 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ı | Aktarım işaretçisi | Başlık alanı |
|---|---|---|---|---|
| Claude Code | claude mcp add | konumsal bağımsız değişken | --transport http | --header |
| OpenAI Codex CLI | ~/.codex/config.toml | url | çıkarımla belirlenir | 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ımla belirlenir | headers |
| Cline | cline_mcp_settings.json | url | type: "streamableHttp" | headers |
| Windsurf | ~/.codeium/windsurf/mcp_config.json | serverUrl | çıkarımla belirlenir | headers |
Claude.ai / Claude Desktop / Claude Tag (Slack)
Bu arayüzler uzak MCP sunucularını bağlayıcılar olarak ekler; bu bağlayıcılar ham istek başlığı yerine kendi kimlik bilgisi ayarlarını kullanır. Özel bir bağlayıcı olarak https://api.rad.security/mcp/ ekleyin, ardından taşıyıcı kimlik bilgisini bağlayıcının ayarlarından sağlayın:
- Claude Tag (Slack): Sunucuyu,
.mcp.jsondeğeri uç noktayı gösteren bir eklenti olarak ekleyin ve taşıyıcı kimlik bilgisini Access bundle'ın Credentials sekmesine ekleyin. Bkz. Claude Tag — özel bir MCP sunucusuna bağlanma. - Claude.ai / Desktop: Ayarlar → Bağlayıcılar bölümünden 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öreceği araçları kapsamlandırma
Varsayılan olarak bir bağlantı tüm araç takımlarını alır. Bir aracıya daha küçük bir küme vermek — bağlam/belirteç yükünü azaltmak ve en az ayrıcalık ilkesini uygulamak — için bu bağlantıya Authorization ile birlikte bir kapsamlandırma başlığı ekleyin. Alt küme zorunlu kılınır: kapsam dışındaki bir araç tools/list içinde gizlenir ve çağrılırsa reddedilir.
| Başlık | Etkisi |
|---|---|
X-Rad-Toolkits: findings, images | yalnızca bu araç takımları |
X-Rad-Exclude-Toolkits: workflows | bunlar dışındaki tüm araç takımları |
X-Rad-Readonly: true | yalnızca salt okunur araçlar (yazma araçlarını kaldırır) |
Araç takımları: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. Varsayılan olarak tümü etkindir — yukarıdaki başlıklarla kapsamı daraltın ve tüm yazma araçları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 örnek olarak 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ğrulaması ve RAD Security'de bir hesap gerektirir. Barındırılan uç nokta varsayılan olarak aşağıdaki tüm araç takımlarını sunar; X-Rad-Toolkits / X-Rad-Exclude-Toolkits ile istemci kapsamını daraltın veya tüm yazma araçlarını X-Rad-Readonly: true ile kaldırın.
-
Hesap Envanteri
- Kümeleri ve ayrıntılarını listeleme
-
Container Envanteri
- Container'ları ve ayrıntılarını listeleme
-
Güvenlik Bulguları
- Güvenlik bulgularını listeleme ve analiz etme
- Bir güvenlik bulgusunun durumunu güncelleme
-
Çalışma Zamanı Güvenliği
- Çalışan container'ların süreç ağaçlarını alma
- Çalışan container'ların çalışma zamanı temel çizgilerini alma
- Çalışan container'ların süreç davranışlarını analiz etme
-
Denetim
- Bir pod'a kimin kabuk erişimi sağladığını listeleme
-
Görüntüler ve Güvenlik Açıkları
- SBOM'ları alma
- Görüntüleri ve güvenlik açıklarını listeleme
- En fazla güvenlik açığı bulunan görüntüleri alma
- CVE'leri yok sayma / yok saymayı kaldırma ve etkin CVE kararlarını listeleme
-
Kubernetes Nesneleri
- Belirli bir Kubernetes kaynağının ayrıntılarını alma
- Kubernetes kaynaklarını listeleme
-
Gelen Kutusu
- Gelen kutusu öğelerini ve ayrıntılarını listeleme
- Bir gelen kutusu öğesini yanlış pozitif olarak işaretleme
-
Otomasyonlar (
workflows)- Otomasyonları, çalıştırmaları ve zamanlamaları listeleme
- Otomasyon ve çalıştırma ayrıntılarını alma
- Bir otomasyonu çalıştırma
- Otomasyon oluşturma ve güncelleme, ayrıca cron zamanlamaları ekleme
"Automation", kullanıcıların gördüğü ürün adıdır; "workflow", API ve araç adlarının kullandığı temel Windmill nesnesidir. İkisi aynı şeyi ifade eder.
-
Bilgi Bankası
- Bilgi bankasında arama yapma
- Koleksiyonları ve belgeleri listeleme
- Bir belge üzerinde yapılandırılmış sorgular çalıştırma
-
Panolar
- Panoları listeleme ve ayrıntılarını alma
- Pano ve widget şablonlarını listeleme ve alma
- Pano oluşturma ve mevcut panoyu yerinde güncelleme (atlanmış alanlar değiştirilmeden bırakılır; bu nedenle küçük bir düzenleme için panonun tamamını yeniden göndermek gerekmez)
-
Entegrasyonlar
- Harici entegrasyonları listeleme
-
RadQL (Gelişmiş Sorgulama)
- Sorgulama için kullanılabilir veri türlerini listeleme (containers, findings, kubernetes_resources vb.)
- Belirli veri türleri için şema/üst verileri alma
- Filtre alanları için olası değerleri listeleme
- Filtreleme, arama ve toplama işlemleriyle RadQL sorguları yürütme
- Yapılandırılmış koşullardan programlı olarak sorgular oluşturma
- Birden fazla sorguyu paralel olarak yürütme
Kendi sunucunuzda barındırma
Sunucuyu kendiniz çalıştırmayı mı tercih ediyorsunuz — örneğin yalıtılmış bir ortamda, veri yerleşimi gereksinimleri nedeniyle veya barındırılan ağ geçidinden geçmesini istemediğiniz için? Sunucu npm'de ve bir container görüntüsü olarak yayımlanmış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.
# 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) — ör. 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ç takımı filtreleme
Kendi sunucunuzun hangi araç takımlarını sunacağını denetleyin:
INCLUDE_TOOLKITS: dahil edilecek araç takımlarının virgülle ayrılmış listesi (yalnızca bunlar etkinleştirilir).EXCLUDE_TOOLKITS: hariç tutulacak araç takımlarının virgülle ayrılmış listesi (diğer tümü etkinleştirilir).INCLUDE_TOOLKITSayarlanmışsa yok sayılır.
Kullanılabilir araç takımları: containers, clusters, audit, images, kubeobject, runtime, findings, inbox, workflows, knowledge_base, radql, dashboards, integrations. Varsayılan olarak tümü etkindir.
# Only the workflows toolkit
INCLUDE_TOOLKITS="workflows"
# Everything except runtime
EXCLUDE_TOOLKITS="runtime"
Çok kiracılı (istek başına kimlik doğrulama)
MCP_AUTH_MODE, Streamable HTTP dağıtımının gelen isteklerin kimliğini nasıl doğrulayacağını denetler — barındırılan uç noktanın kullandığı yöntem 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ı yapılmaz; 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>biçimi); eksik veya hatalı biçimlendirilmiş bir başlık401ile reddedilir. YalnızcaTRANSPORT_TYPE=streamableile desteklenir.RAD_SECURITY_API_URL, çağırandan değil sunucu yapılandırmasından alınır.
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 aktarımı (
TRANSPORT_TYPE=sse) kullanımdan kaldırılmıştır; yerine Streamable HTTP kullanılması önerilir 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