Set up
Runs on your computer. Pick your agent and operating system.
This project does not publish an install method we can turn into a config. Follow the README instead.
README
synced Oct 22, 2026FortiGateMCP
FortiGate cihazlarını AI ajanları (Cursor, Claude Desktop, OpenCode, Antigravity, VS Code Copilot vb.) üzerinden güvenli ve salt okunur biçimde inceleyip teşhis etmenizi sağlayan bir Model Context Protocol (MCP) sunucusudur.
FortiOS 7.0.x – 8.0.x aralığını destekler (STDIO + isteğe bağlı HTTP modu) ve sürüm
farklarını (get/show/diagnose komut sözdizimi değişiklikleri, REST endpoint farkları)
otomatik olarak çözer — aynı MCP aracını 7.2'lik bir cihazda da 8.0'lık bir cihazda da
sorunsuz çalıştırırsınız.
Neler yapabilir?
50'nin üzerinde MCP aracıyla FortiGate'in neredeyse her katmanını kapsar:
| Alan | Örnek yetenekler |
|---|---|
| Sistem & yüksek erişilebilirlik | Cihaz/sürüm bilgisi, CPU/bellek/oturum sağlığı, HA cluster durumu, VDOM listesi |
| Ağ | Interface, routing tablosu, ARP, DHCP server/relay/lease, route lookup |
| Policy & oturum | Policy eşleşme analizi, filtreli oturum arama |
| VPN | IPsec tunnel listesi/detayı, IKE (phase 1) gateway'leri, IKE motoru toplu tanı, IPsec şifreleme sayaçları, SSL VPN oturumları ve giriş blocklist'i |
| UTM / Güvenlik profilleri | Antivirus, IPS sensor, web filter, application control, DLP profil listesi/detayı, FortiGuard motor & imza sürümleri, güncelleme durumu |
| Authentication | Firewall/proxy üzerinden doğrulanmış kullanıcılar, FSSO collector agent durumu ve logon listesi, kimlik doğrulama sunucusu (LDAP/RADIUS/TACACS+) test bağlantısı |
| Logging / FortiAnalyzer | Disk log kullanım/durumu, log hedefi (FortiAnalyzer/syslog/disk) yapılandırması, FortiAnalyzer erişilebilirlik testi |
| FortiLink / FortiAP / Wi-Fi | FortiSwitch listesi ve port durumu, FortiAP listesi, kablosuz istemci listesi/detayı, DHCP/Wi-Fi kompozit analiz |
| Aktif teşhis (onaylı) | Ping, traceroute, debug flow, packet capture — hepsi confirmed=true ile açık kullanıcı onayı gerektirir |
Tam araç listesi için aşağıdaki Kullanılabilir araçlar bölümüne bakın.
Tasarım ilkesi — asla yapılandırma değiştirmez: Hiçbir MCP aracı FortiGate üzerinde
config/set/unset/delete çalıştırmaz; bu SSH katmanında da ayrıca engellenir. AI,
bulduğu kök nedeni ve önerilen çözümü raporlar, uygulamayı kullanıcıya bırakır. Riskli
olabilecek az sayıda aktif araç (ping, packet capture, kimlik doğrulama testi vb.) yalnızca
açık confirmed=true onayıyla çalışır ve hassas veriler (parola, token) modele hiçbir zaman
geri döndürülmez.
Diğer yapı taşları:
- Sürüm-farkında komut kataloğu (
config/command-catalog/commands.json) — FortiOS sürüm treni bazlı komut/endpoint çözümleme ve SSH fallback zinciri - Hazır teşhis playbook'ları ve MCP prompt'ları (
config/playbooks/) — "IPsec down", "SSL VPN giriş başarısız", "FSSO çalışmıyor" gibi sık senaryolar için adım adım teşhis akışı - Web tabanlı yönetim paneli (
FortiGateMCP.Web) — cihaz ekleme/düzenleme/silme, FortiOS sürüm seçimi, kimlik bilgisi girişi ve bağlantı testi tarayıcıdan yapılır, JSON dosyası elle düzenlemeye gerek kalmaz (Web Yönetim Paneli bölümüne bakın) - Çoklu cihaz kaydı (
config/devices.json), panel veya elle düzenleme ile - Cihaz bazlı elle FortiOS sürüm seçimi (auto-detect'e ek/override)
- Ortam değişkeni veya panelden girilen şifreli kimlik bilgisi yönetimi
- SSH ve REST API bağlantı testi
- Audit log — her araç çağrısı zaman damgası, sonuç ve süresiyle kaydedilir
Gereksinimler
- .NET 10 SDK
- FortiGate üzerinde salt okunur SSH ve/veya REST API hesabı
Derleme (hazır dist paketi)
Tek komutla dist/ klasörünü oluşturur: exe, config ve Cursor için hazır mcp.json.
Bu dokümandaki
C:\FortiGateMCPyolu bir örnektir — projeyi nereye klonladıysanız/ çıkardıysanız o yolu kullanın. Aşağıdaki komutlarda ve JSON örneklerinde geçen tüm yollar bu örneğe göre yazılmıştır, kendi klasörünüze göre değiştirin.
cd C:\FortiGateMCP
.\build.ps1
veya çift tıklama:
build.cmd
Derleme sonrası:
dist/mcp.jsoniçindekienvdeğerlerini düzenleyindist/config/devices.jsoniçindeki cihaz bilgilerini güncelleyindist/mcp.jsoniçeriğini Cursor MCP ayarlarına ekleyin
Linux için:
.\build.ps1 -Runtime linux-x64
build.ps1, PowerShell 5.1 (Windows) ve PowerShell 7+ (pwsh, Windows/Linux/macOS) ile
çalışır — Linux'ta çapraz derleme yaparak win-x64 çıktısı da üretebilirsiniz (hedef
makinede ayrı bir .NET SDK kurulumuna gerek kalmaz, çıktı self-contained'dır).
Dağıtım (birden çok kullanıcı/makine)
.\build.ps1 -Zip
dist/ içeriğini ek olarak repo kökünde tek bir FortiGateMCP-<Runtime>.zip dosyasında
paketler. Önemli: mcp.json ve mcp-clients/ altındaki config dosyalarındaki
command yolu, derlemenin yapıldığı makinedeki dist/ klasörünün tam yolu ile sabit
üretilir. Bu yüzden:
- Tek kullanıcı / kendi makineniz: doğrudan
.\build.ps1yeterli, yol zaten doğru. - Birden çok kullanıcı/makineye dağıtım: ya her kullanıcı kendi makinesinde
build.ps1'i kendisi çalıştırır (her biri kendi yoluna göre doğru config üretir), ya da-Zipile üretilen paketi tüm hedef makinelerde aynı sabit dizine (ör. her zamanC:\FortiGateMCP\) çıkarırsınız — farklı bir yola çıkarırsanızmcp.jsoniçindekicommandalanını elle güncelleyin. Ayrıntılı adımlardist/KURULUM.txtiçindeki "C)" bölümünde.
Kimlik bilgileri (önemli)
Parola ve API token asla devices.json veya appsettings.json içine yazılmamalıdır. MCP istemcisi (Cursor vb.) sunucuyu başlatırken environment değişkenleri ile bu bilgileri verir.
Tek cihaz (en kolay yol)
config/devices.json yoksa veya sadece ortam değişkeni kullanmak istiyorsanız:
| Değişken | Açıklama |
|---|---|
FORTIGATE_HOST | FortiGate IP veya hostname |
FORTIGATE_SSH_USERNAME | SSH kullanıcı adı |
FORTIGATE_SSH_PASSWORD | SSH parolası |
FORTIGATE_API_TOKEN | REST API Bearer token |
FORTIGATE_DEFAULT_VDOM | Varsayılan VDOM (isteğe bağlı, varsayılan: root) |
Çoklu cihaz
config/devices.json içinde cihaz tanımlayın; kimlik bilgilerini cihaz id değerine göre verin:
# Cihaz id: fw-hq
$env:FORTIGATE_MERKEZ_FW_SSH_USERNAME = "ai-diagnostic"
$env:FORTIGATE_MERKEZ_FW_SSH_PASSWORD = "..."
$env:FORTIGATE_MERKEZ_FW_API_TOKEN = "..."
Tire (-) karakterleri alt çizgiye (_) dönüştürülür.
Daha kolay yol: Cihaz ve kimlik bilgilerini elle JSON/ortam değişkeni ile girmek yerine aşağıdaki Web Yönetim Paneli'ni kullanabilirsiniz — hiçbir dosya düzenlemeden, tarayıcıdan cihaz ekler, sürüm seçer ve kimlik bilgisi girersiniz.
Web Yönetim Paneli (FortiGateMCP.Web)
Kurulum gerektirmez: build.ps1 hem FortiGateMCP.Host.exe (MCP sunucusu) hem de
FortiGateMCP.Web.exe (yönetim paneli) dosyalarını aynı dist/ klasörüne, self-contained
olarak üretir. .NET SDK yüklemeye gerek yoktur, sadece klasörü kopyalayıp çalıştırmanız yeterlidir.
Kullanım:
dist/FortiGateMCP.Web.exedosyasını çalıştırın (konsol penceresi açık kalır).- Tarayıcıdan
http://localhost:8788adresini açın. - İlk açılışta bir yönetici parolası belirleyin (yalnızca bu makinede saklanır).
- "Yeni cihaz ekle" ile FortiGate'lerinizi ekleyin:
- Host/IP, SSH/HTTPS portları, VDOM, bağlantı modu (REST/SSH)
- FortiOS sürümü: "Otomatik algıla" veya elle 7.0/7.2/7.4/7.6/8.0 seçimi — elle seçilirse cihaz her sorguda yeniden tespit edilmez, komut kataloğu doğrudan o sürüm ailesine göre çözülür
- SSH kullanıcı adı/parola veya private key, REST API token
- "Bağlantıyı test et" ile SSH/REST erişimini doğrulayın.
FortiGateMCP.Host.exe(Cursor/Claude Desktop'un başlattığı MCP sunucusu) aynıconfig/devices.jsondosyasını okur — panelden eklenen cihazlar Host'u yeniden başlatmadan bir sonraki araç çağrısında görünür.
Kimlik bilgisi güvenliği: Panelden girilen parola/token'lar ASP.NET Core Data Protection
ile şifrelenerek data/secrets.enc.json dosyasında saklanır, düz metin olarak hiçbir yere
yazılmaz ve ekranda tekrar gösterilmez. Ortam değişkenleri (FORTIGATE_*) tanımlıysa öncelik
onlardadır; panel yalnızca ortam değişkeni tanımlı olmayan alanlar için devreye girer.
Diğer sayfalar: /Playbooks (teşhis playbook'larını görüntüleme), /Audit (audit log
kayıtlarını görüntüleme).
Güvenlik notu: Panel varsayılan olarak yalnızca 127.0.0.1'e bağlanır (appsettings.json
→ WebAdmin:ListenUrl). Başka makinelerden erişim gerekiyorsa reverse proxy + TLS + ek kimlik
doğrulama katmanı olmadan dış IP'ye açmayın — bu, mevcut HTTP MCP modu için verilen güvenlik
uyarısıyla aynı prensiptir.
Cursor dışındaki istemciler (Claude Desktop, VS Code, OpenCode, Antigravity)
build.ps1 çalıştırıldığında dist/mcp-clients/ altında her istemci için ayrı klasörde,
bu bilgisayara göre yolu hazır doldurulmuş config dosyası ve tek bir README.md içinde adım
adım kurulum talimatı üretilir (her istemcinin şeması farklıdır: mcpServers vs servers,
command string vs dizi, env vs environment — bunlar otomatik doğru üretilir, elle
uğraşmanıza gerek yoktur):
dist/mcp-clients/
├── README.md # tüm istemciler için adım adım kurulum
├── cursor/mcp.json
├── claude-desktop/claude_desktop_config.json
├── vscode/mcp.json
├── opencode/opencode.json
└── antigravity/mcp_config.json
Cursor'a ekleme
Cursor → Settings → MCP → Add new MCP server veya .cursor/mcp.json:
Önerilen — build.ps1 çıktısı (self-contained .exe, ekstra .NET kurulumu gerekmez):
{
"mcpServers": {
"fortigate": {
"command": "C:/FortiGateMCP/dist/FortiGateMCP.Host.exe",
"args": [],
"env": {
"FORTIGATE_HOST": "192.0.2.10",
"FORTIGATE_SSH_USERNAME": "ai-diagnostic",
"FORTIGATE_SSH_PASSWORD": "CHANGE_ME",
"FORTIGATE_API_TOKEN": "CHANGE_ME",
"FORTIGATE_DEFAULT_VDOM": "root"
}
}
}
}
Cihazları Web Yönetim Paneli'nden eklediyseniz env
bloğunu tamamen boş bırakabilirsiniz ({}) — bu tam olarak build.ps1'in ürettiği
dist/mcp.json dosyasının içeriğidir, doğrudan kopyalayıp yapıştırabilirsiniz.
Geliştirme / kaynak koddan çalıştırma (henüz build.ps1 çalıştırmadıysanız, .NET 10 SDK
kurulu olmalı):
"command": "dotnet",
"args": [
"run",
"--project",
"C:/FortiGateMCP/src/FortiGateMCP.Host/FortiGateMCP.Host.csproj",
"--no-launch-profile"
]
Cursor, bazı MCP sunucularında olduğu gibi env bloğunda kullanıcı adı/parola/token ister; bu değerler yalnızca yerel process ortamında tutulur ve AI modeline gönderilmez.
Kullanılabilir araçlar
Risk sütunu: Düşük = salt okunur, onay gerekmez · Orta/Yüksek = yan etkisi olabilecek
aktif işlem, yalnızca confirmed=true ile ve kullanıcı onayından sonra çalışır.
Sistem & yüksek erişilebilirlik
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_list_devices | Düşük | Kayıtlı cihazları listeler |
fortigate_list_vdoms | Düşük | VDOM listesi |
fortigate_test_connection | Düşük | SSH/REST bağlantı testi |
fortigate_get_device_info | Düşük | Sistem ve sürüm bilgisi |
fortigate_get_system_health | Düşük | CPU, bellek, oturum özeti |
fortigate_get_ha_status | Düşük | HA cluster durumu |
fortigate_get_device_capabilities | Düşük | Sürüm adaptörü ve desteklenen komutlar (versionTrain, commandSupport) |
Ağ
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_list_interfaces | Düşük | Interface listesi |
fortigate_get_interface_details | Düşük | Tek interface detayı |
fortigate_get_routing_table | Düşük | Routing tablosu |
fortigate_lookup_route | Düşük | Hedef IP için route lookup |
fortigate_get_arp_table | Düşük | ARP tablosu |
fortigate_get_dhcp_configuration | Düşük | DHCP server/relay yapılandırması |
fortigate_get_dhcp_leases | Düşük | DHCP lease listesi |
fortigate_get_dns_configuration | Düşük | DNS yapılandırması |
fortigate_get_sdwan_health_checks | Düşük | SD-WAN health-check durumu |
Policy & oturum
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_find_matching_policy | Düşük | Policy eşleşmesi |
fortigate_find_sessions | Düşük | Filtreli oturum arama |
VPN — IPsec/IKE ve SSL VPN
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_list_ipsec_tunnels | Düşük | IPsec tunnel listesi |
fortigate_get_ipsec_tunnel_details | Düşük | IPsec tunnel detayı |
fortigate_list_ike_gateways | Düşük | Tüm IKE (phase 1) gateway'leri, filtresiz |
fortigate_get_ipsec_encryption_status | Düşük | IPsec şifreleme/deşifreleme sayaçları |
fortigate_get_ike_diagnostics | Düşük | IKE motoru toplu tanı (counts/errors/stats/status/crypto) |
fortigate_get_ssl_vpn_status | Düşük | SSL VPN genel durumu |
fortigate_list_ssl_vpn_sessions | Düşük | Aktif SSL VPN tunnel oturumları |
fortigate_list_ssl_vpn_blocklist | Düşük | SSL VPN giriş blocklist (kilitli kullanıcı/IP) |
UTM / Güvenlik profilleri
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_list_security_profiles | Düşük | Profil listesi (antivirus, ips-sensor, webfilter-profile, application-list, dlp-profile, dlp-sensor) |
fortigate_get_security_profile_details | Düşük | Tek profilin yapılandırma detayı |
fortigate_get_utm_engine_status | Düşük | AV/IPS/App Control motor ve imza sürümleri (diagnose autoupdate versions) |
fortigate_get_fortiguard_status | Düşük | FortiGuard otomatik güncelleme lisans/durumu |
fortigate_get_webfilter_statistics | Düşük | Web filter FortiGuard rating cache/daemon istatistikleri |
fortigate_get_ips_engine_status | Düşük | IPS motor bilgisi (versiyon, etkin/pasif) |
Authentication (firewall auth, FSSO, sunucu testi)
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_list_authenticated_users | Düşük | Firewall üzerinden doğrulanmış kullanıcılar |
fortigate_list_proxy_authenticated_users | Düşük | Proxy (WAD) üzerinden doğrulanmış kullanıcılar |
fortigate_get_fsso_connector_status | Düşük | FortiGate ↔ FSSO Collector Agent bağlantı durumu |
fortigate_list_fsso_logons | Düşük | Bilinen FSSO logon listesi |
fortigate_test_auth_server | Yüksek | LDAP/RADIUS/TACACS+/local/POP3'e gerçek kimlik bilgisiyle test bağlantısı — confirmed=true gerekir, parola asla loglanmaz/döndürülmez |
Logging / FortiAnalyzer
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_get_log_disk_status | Düşük | Yerel disk log kullanım/durumu |
fortigate_get_log_destination_setting | Düşük | Log hedefi yapılandırması (fortianalyzer/syslog/disk) |
fortigate_test_fortianalyzer_connectivity | Orta | FortiAnalyzer'a aktif erişilebilirlik/kayıt testi — confirmed=true gerekir |
FortiLink, FortiAP, Wi-Fi
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_get_fortilink_status | Düşük | FortiLink durumu |
fortigate_list_managed_switches | Düşük | Yönetilen switch listesi |
fortigate_get_switch_ports | Düşük | Switch port listesi |
fortigate_list_access_points | Düşük | FortiAP listesi |
fortigate_list_wireless_clients | Düşük | Kablosuz istemci listesi |
fortigate_get_wireless_client_details | Düşük | İstemci detayı (MAC) |
fortigate_check_dhcp_path | Düşük | DHCP/Wi-Fi kompozit analiz |
Aktif teşhis (kullanıcı onayı gerekir)
Bu araçlar FortiGate yapılandırmasını değiştirmez, ama gerçek ağ trafiği/işlem tetiklediği
için confirmed=true parametresi ve kullanıcının açık onayı olmadan çalışmaz:
| Araç | Risk | Açıklama |
|---|---|---|
fortigate_ping | Orta | Ping |
fortigate_traceroute | Orta | Traceroute |
fortigate_run_debug_flow | Orta | Debug flow (filtre zorunlu) |
fortigate_run_packet_capture | Orta | Packet capture |
(fortigate_test_auth_server ve fortigate_test_fortianalyzer_connectivity de aynı
onay mekanizmasını kullanır — ilgili kategorilerinde yukarıda listelenmiştir.)
Sürüm adaptörleri ve komut kataloğu
Desteklenen aralık: FortiOS 7.0.x – 8.0.x (7.0.1, 7.0.4, 7.2.x, 7.4.x, 7.6.x, 8.0.x dahil)
- Sürüm trenleri:
7.0→7.2→7.4→7.6→8.0 - Ara minörler (7.1, 7.3, 7.5, 7.7) bir önceki trene eşlenir
config/command-catalog/commands.json— tren bazlı komut/endpoint çözümleme + SSH fallback zinciri (REST başarısız olursa otomatik SSH'a düşer)fortigate_get_device_capabilities— cihazın hangi komutları desteklediğini (versionTrain,commandSupport,isVersionSupported) döner
Audit, Prompts ve Resources
MCP Prompts (hazır senaryolar):
diagnose_wifi_no_ipdiagnose_ipsec_downdiagnose_internet_downdiagnose_high_cpudiagnose_sdwan_path— SD-WAN üye/yol sorunu (yanlış üye seçimi, "dead" görünen hat)diagnose_fortilink_down— FortiSwitch bağlanmıyor / FortiLink offlinediagnose_utm_not_blocking— Güvenlik profili (AV/IPS/WebFilter/App Control/DLP) beklenen trafiği engellemiyordiagnose_fortiguard_update_issues— FortiGuard güncellemeleri başarısız / imzalar eskidiagnose_ike_negotiation_failure— IKE/IPsec phase 1-2 negotiation başarısızdiagnose_sslvpn_login_failure— SSL VPN kullanıcısı giriş yapamıyordiagnose_fsso_not_working— FSSO kullanıcıları tanınmıyor / polling çalışmıyordiagnose_log_delivery_issue— Loglar FortiAnalyzer/syslog'a ulaşmıyor / disk logu dolu
Playbook'lar (config/playbooks/) her senaryo için "Bilinen nedenler / sık karşılaşılan
hatalar" ve adım adım "Teşhis adımları" bölümleri içerir; Fortinet resmi dokümantasyonu
(Administration Guide, CLI Reference, Troubleshooting Cheat Sheet) referans alınarak
hazırlanmıştır. Kendi ortamınıza özel bir senaryo eklemek isterseniz Web panelinden
Playbook'lar → + Yeni ile Markdown dosyası olarak ekleyebilirsiniz.
MCP Resources:
fortigate://devices— cihaz listesifortigate://audit/recent— son audit kayıtlarıfortigate://playbooks/{name}— teşhis playbook'ları
Audit log: dist/data/audit.jsonl
Örnek kullanım
Cursor sohbetinde:
fortigate_list_devicesile cihazları listele, sonrafw-hqiçin sistem sağlığını kontrol et.
Güvenlik notları
- Üretimde
EnableUnsafeDeveloperTools: falsebırakın (sertifika doğrulaması açık kalır). - FortiGate tarafında ayrı, minimum yetkili
ai-diagnostichesabı kullanın. - Trusted Hosts'u yalnızca MCP sunucusunun IP'sine sınırlayın.
- Hassas çıktılar modele gitmeden önce maskelenir; yine de token/parolayı sohbete yapıştırmayın.
data/,secrets/,credentials.env,dist/ve gerçek cihaz kimlik bilgileri Git'e eklenmez; örnekler içincredentials.env.exampleveconfig/devices.json(dokümantasyon IP'leri) kullanın.
HTTP MCP modu (kurumsal)
STDIO (varsayılan): Cursor sunucuyu yerel process olarak başlatır; stdin/stdout üzerinden konuşur. Tek kullanıcı, tek makine — geliştirme ve kişisel kullanım için idealdir.
HTTP MCP: Sunucu bir Windows servisi, Docker container veya sunucu process olarak çalışır; istemciler http://host:8787/mcp adresine bağlanır.
| STDIO | HTTP | |
|---|---|---|
| Kim başlatır | Cursor (her sohbette) | Siz (sürekli çalışan servis) |
| Bağlantı | stdin/stdout | HTTP POST (Streamable HTTP) |
| Çoklu istemci | Hayır | Evet |
| Kimlik bilgisi | Cursor env bloğu | Sunucu ortam değişkenleri |
| Tipik kullanım | Masaüstü AI | Ekip, CI, merkezi gateway |
Ekip / ağ kurulumu (HTTP + API key)
- Web panelden Ayarlar sayfasında API key üret deyin (veya ortam değişkeni kullanın):
$env:FORTIGATE_MCP_MODE = "Http"
$env:FORTIGATE_MCP_API_KEY = "panelden-kopyalanan-anahtar"
# FortiGate cihaz kimlik bilgileri de sunucu ortamında kalır
appsettings.jsoniçinde dinleme adresini LAN için ayarlayın (varsayılan örnek: tüm arayüzler):
"FortiGateMcp": {
"Mode": "Http",
"HttpListenUrl": "http://0.0.0.0:8787",
"HttpPath": "/mcp",
"RequireHttpApiKey": true
}
-
Windows Firewall’da yalnızca IT VLAN / yönetim IP’lerinden
8787/tcpizin verin. -
IT istemcileri Cursor MCP ayarına şunu ekler (
mcp.http.example.json):
{
"mcpServers": {
"fortigate-shared": {
"url": "http://SUNUCU-IP:8787/mcp",
"headers": {
"Authorization": "Bearer en-az-16-karakter-guclu-gizli-anahtar"
}
}
}
}
X-Api-Key: <key> başlığı da kabul edilir. Anahtar yoksa veya yanlışsa sunucu 401 döner; RequireHttpApiKey: true iken anahtarsız HTTP modu başlamaz.
Üretimde mümkünse reverse proxy (nginx/Caddy) + HTTPS ekleyin. Web yönetim paneli varsayılan olarak
127.0.0.1:8788dinler; paneli ağa açmayın.
Cursor yerel tek-kullanıcı kullanım için Mode: "Stdio" bırakın (varsayılan).
Yol haritası
- HTTPS / mTLS (reverse proxy veya Kestrel sertifikası)
- PostgreSQL audit veritabanı
- FortiManager entegrasyonu
- Sertifika, explicit proxy, WAF, DLP derinleştirme
Detaylı mimari ve tasarım kararları için FortiGateMCP_Tam_Kapsamli_Proje_Dokumani.md
dosyasına bakın.