Connectors · MSP & PSA
Fortinet FortiGate MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Fortinet FortiGate and the rest of your systems. It gives your agent 3,739 Fortinet FortiGate actions (1,724 reads, 1,421 writes and 594 that wait for a confirmation) and holds the Fortinet FortiGate credential itself, so the agent never does. It paces Fortinet FortiGate's limits and records every call.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "fortinet_fortigate.user.local_list", intent: "check which Fortinet FortiGate account is connected"}# List user local entries · read · 1 upstream call- 3,739actionsin one signed file
- 1,724readlook, never change
- 1,421writecreate and update
- 594wait for a yesdestructive, confirmed first
Set up
Connect Fortinet FortiGate in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Fortinet FortiGate.
Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
api_tokenFortiOS REST API administrator token (System > Administrators > Create New > REST API Admin)hostWhere your Fortinet FortiGate lives: your host
account { op: "connections.requirements", service: "fortinet_fortigate" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "fortinet_fortigate.user.local_list" }# list user local entries · read · 1 upstream callcheck { action: "fortinet_fortigate.user.group_create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Fortinet FortiGate at a glance
- Sign-in
- Bearer token. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.
- You provide
api_token- Setup fields
host- Limits we pace to
- 300 calls a minute, per connection
- API covered
- FortiOS REST API v2 (/api/v2/cmdb, /api/v2/monitor, /api/v2/log), FortiOS 6.0 to 7.6, at your Fortinet FortiGate instance's API base URL, which you enter when connecting
- Built from
- Fortinet FortiGate's documentation, read 22 October 2026codeload.github.comdocs.fortinet.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 1,659 of 1,724 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 5, so ask can line Fortinet FortiGate up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Fortinet FortiGate.
3,739 actions in 86 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 1,724readlook, never change
- 1,421writecreate and update
- 594destructivewait for a confirmation
System
734313 read · 313 write · 108 destructive
List system accprofile entries · List system interface entries · Create a system admin entry · List system admin entries
Firewall
537211 read · 228 write · 98 destructive
List firewall policy entries · Create a firewall address entry · List firewall address entries · Create a firewall addrgrp entry
Switch controller
23799 read · 99 write · 39 destructive
Create a switch controller acl group entry · List switch controller acl group entries · Create a switch controller acl ingress entry · List switch controller acl ingress entries
Wireless controller
22894 read · 94 write · 40 destructive
Create a wireless controller access control list entry · List wireless controller access control list entries · Create a wireless controller address entry · List wireless controller address entries
Log
204143 read · 59 write · 2 destructive
Log: disk event system · Log: disk traffic forward · Log: memory event system · Log: memory traffic forward
Monitor system
175111 read · 37 write · 27 destructive
Monitor: system ha peer · Monitor: system interface · Monitor: system resource usage · Monitor: system status
VPN
14762 read · 62 write · 23 destructive
Create a vpn ipsec phase1 interface entry · List vpn ipsec phase1 interface entries · Get a vpn ipsec phase1 interface entry · Update a vpn ipsec phase1 interface entry
User
13956 read · 56 write · 27 destructive
List user local entries · List user group entries · Create a user group entry · Create a user local entry
78 more areas · 1,338 actions
- Router 108
- Monitor firewall 75
- Webfilter 66
- DLP 52
- Monitor user 51
- GTP 45
- Web proxy 44
- Emailfilter 39
- Monitor wifi 39
- Ztna 39
- Endpoint control 37
- Ips 36
- Monitor switch controller 35
- Spamfilter 34
- Application 32
- Extension controller 30
- Report 29
- Wanopt 28
- Antivirus 26
- Certificate 25
- Monitor forticonverter 22
- Monitor router 22
- Telemetry controller 22
- Casb 20
- Hardware 20
- Monitor VPN 20
- Videofilter 20
- Waf 20
- Extender 16
- Monitor endpoint control 16
- Extender controller 15
- Icap 15
- LLM 15
- Monitor log 15
- Monitor registration 15
- Authentication 12
- Cifs 10
- Dnsfilter 10
- Monitor network 10
- Monitor fortiview 8
- Monitor utm 8
- Monitor webfilter 8
- Monitor VPN certificate 7
- NSXT 7
- Monitor firmware 6
- Monitor ips 6
- Monitor wanopt 6
- Credential store 5
- Diameter filter 5
- File filter 5
- Monitor extender controller 5
- Monitor license 5
- Monitor virtual wan 5
- PFCP 5
- SCTP filter 5
- SSH filter 5
- Virtual patch 5
- Voip 5
- DPDK 4
- Monitoring 4
- Monitor fortiguard 3
- Monitor NSX 3
- Monitor web UI 3
- Alertemail 2
- Automation 2
- FTP proxy 2
- Ipsec 2
- MGMT data 2
- Monitor azure 2
- Monitor extension controller 2
- Monitor geoip 2
- Monitor telemetry controller 2
- Monitor webcache 2
- Monitor casb 1
- Monitor sdwan 1
- Monitor service 1
- Monitor videofilter 1
- Monitor webproxy 1
Top actions
The Fortinet FortiGate API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 5 of Fortinet FortiGate's 5 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
fortinet_fortigate.user.local_listList user local entries | List the entries of the FortiOS CMDB table user/local. | read | identity.user.list474 connectors |
fortinet_fortigate.user.group_listList user group entries | List the entries of the FortiOS CMDB table user/group. | read | identity.group.list262 connectors |
fortinet_fortigate.system.accprofile_listList system accprofile entries | List the entries of the FortiOS CMDB table system/accprofile. | read | identity.role.list184 connectors |
fortinet_fortigate.firewall.policy_listList firewall policy entries | List the entries of the FortiOS CMDB table firewall/policy. | read | security.policy.list36 connectors |
fortinet_fortigate.system.interface_listList system interface entries | List the entries of the FortiOS CMDB table system/interface. | read | security.network.list15 connectors |
fortinet_fortigate.firewall.vip_listList firewall vip entries | List the entries of the FortiOS CMDB table firewall/vip. | read | this connector |
fortinet_fortigate.system.admin_listList system admin entries | List the entries of the FortiOS CMDB table system/admin. | read | this connector |
fortinet_fortigate.user.group_createCreate a user group entry | Create an entry in the FortiOS CMDB table user/group. | write | this connector |
fortinet_fortigate.user.local_createCreate a user local entry | Create an entry in the FortiOS CMDB table user/local. | write | this connector |
fortinet_fortigate.firewall.vip_createCreate a firewall vip entry | Create an entry in the FortiOS CMDB table firewall/vip. | write | this connector |
fortinet_fortigate.system.admin_createCreate a system admin entry | Create an entry in the FortiOS CMDB table system/admin. | write | this connector |
fortinet_fortigate.user.group_deleteDelete a user group entry | Delete an entry of the FortiOS CMDB table user/group. | destructive | this connector |
Try it
Prompts to paste into Claude.
Each one names the Fortinet FortiGate actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Who has access in Fortinet FortiGate? List every user and their role.
calls
fortinet_fortigate.user.local_list - Writewrite
Create a user group entry in Fortinet FortiGate. Show me exactly what you will send before you save it.
calls
fortinet_fortigate.user.group_create
Governance for Fortinet FortiGate
Destructive actions wait for a yes.
594 Fortinet FortiGate actions are destructive. The first 10:
- Delete a user group entry
fortinet_fortigate.user.group_delete - Delete a user local entry
fortinet_fortigate.user.local_delete - Delete a firewall vip entry
fortinet_fortigate.firewall.vip_delete - Delete a system admin entry
fortinet_fortigate.system.admin_delete - Delete a router static entry
fortinet_fortigate.router.static_delete - Delete a firewall policy entry
fortinet_fortigate.firewall.policy_delete - Delete a firewall address entry
fortinet_fortigate.firewall.address_delete - Delete a firewall addrgrp entry
fortinet_fortigate.firewall.addrgrp_delete - Delete a system interface entry
fortinet_fortigate.system.interface_delete - Delete a firewall service custom entry
fortinet_fortigate.firewall.service_custom_delete
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Delete a user group entry?
intent: the user asked me to delete a user group entry
account { op: "keys.create", name: "fortinet-fortigate-agent", allowed_actions: ["fortinet_fortigate.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "fortinet_fortigate.user.group_delete", approver: "[email protected]" }, { match: "fortinet_fortigate.user.local_delete", approver: "[email protected]" }, { match: "fortinet_fortigate.firewall.vip_delete", approver: "[email protected]" } ]}Cost
What Fortinet FortiGate costs on actionlake.
Every Fortinet FortiGate action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Fortinet FortiGate refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 3,739 Fortinet FortiGate actions
- 3,739actions pageeach page of a long list is one call
- 1,659reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Fortinet FortiGate action.
3,739 actions by area: the id your agent calls, what it does, and its effect.
System734
fortinet_fortigate.system.accprofile_listList system accprofile entriesreadfortinet_fortigate.system.admin_createCreate a system admin entrywritefortinet_fortigate.system.admin_listList system admin entriesreadfortinet_fortigate.system.interface_listList system interface entriesreadfortinet_fortigate.system.accprofile_createCreate a system accprofile entrywritefortinet_fortigate.system.accprofile_deleteDelete a system accprofile entrydestructive- and 728 more in this area
Firewall537
fortinet_fortigate.firewall.address_createCreate a firewall address entrywritefortinet_fortigate.firewall.address_listList firewall address entriesreadfortinet_fortigate.firewall.addrgrp_createCreate a firewall addrgrp entrywritefortinet_fortigate.firewall.policy_listList firewall policy entriesreadfortinet_fortigate.firewall.access_proxy6_createCreate a firewall access proxy6 entrywritefortinet_fortigate.firewall.access_proxy6_deleteDelete a firewall access proxy6 entrydestructive- and 531 more in this area
Switch controller237
fortinet_fortigate.switch_controller.acl_group_createCreate a switch controller acl group entrywritefortinet_fortigate.switch_controller.acl_group_listList switch controller acl group entriesreadfortinet_fortigate.switch_controller.acl_ingress_createCreate a switch controller acl ingress entrywritefortinet_fortigate.switch_controller.acl_ingress_listList switch controller acl ingress entriesreadfortinet_fortigate.switch_controller.acl_group_deleteDelete a switch controller acl group entrydestructivefortinet_fortigate.switch_controller.acl_group_getGet a switch controller acl group entryread- and 231 more in this area
Wireless controller228
fortinet_fortigate.wireless_controller.access_control_list_createCreate a wireless controller access control list entrywritefortinet_fortigate.wireless_controller.access_control_list_listList wireless controller access control list entriesreadfortinet_fortigate.wireless_controller.address_createCreate a wireless controller address entrywritefortinet_fortigate.wireless_controller.address_listList wireless controller address entriesreadfortinet_fortigate.wireless_controller.access_control_list_deleteDelete a wireless controller access control list entrydestructivefortinet_fortigate.wireless_controller.access_control_list_getGet a wireless controller access control list entryread- and 222 more in this area
Log204
fortinet_fortigate.log.disk_event_system_listLog: disk event systemreadfortinet_fortigate.log.disk_traffic_forward_listLog: disk traffic forwardreadfortinet_fortigate.log.memory_event_system_listLog: memory event systemreadfortinet_fortigate.log.memory_traffic_forward_listLog: memory traffic forwardreadfortinet_fortigate.log.custom_field_createCreate a log custom field entrywritefortinet_fortigate.log.custom_field_deleteDelete a log custom field entrydestructive- and 198 more in this area
Monitor system175
fortinet_fortigate.monitor_system.ha_peer_getMonitor: system ha peerreadfortinet_fortigate.monitor_system.interface_getMonitor: system interfacereadfortinet_fortigate.monitor_system.resource_usage_getMonitor: system resource usagereadfortinet_fortigate.monitor_system.status_getMonitor: system statusreadfortinet_fortigate.monitor_system.acme_certificate_status_getMonitor: system acme certificate statusreadfortinet_fortigate.monitor_system.acquired_dns_getMonitor: system acquired dnsread- and 169 more in this area
VPN147
fortinet_fortigate.vpn.ipsec_phase1_interface_createCreate a vpn ipsec phase1 interface entrywritefortinet_fortigate.vpn.ipsec_phase1_interface_getGet a vpn ipsec phase1 interface entryreadfortinet_fortigate.vpn.ipsec_phase1_interface_listList vpn ipsec phase1 interface entriesreadfortinet_fortigate.vpn.ipsec_phase1_interface_updateUpdate a vpn ipsec phase1 interface entrywritefortinet_fortigate.vpn.certificate_ca_createCreate a vpn certificate ca entrywritefortinet_fortigate.vpn.certificate_ca_deleteDelete a vpn certificate ca entrydestructive- and 141 more in this area
User139
fortinet_fortigate.user.group_createCreate a user group entrywritefortinet_fortigate.user.group_listList user group entriesreadfortinet_fortigate.user.local_createCreate a user local entrywritefortinet_fortigate.user.local_listList user local entriesreadfortinet_fortigate.user.adgrp_createCreate a user adgrp entrywritefortinet_fortigate.user.adgrp_deleteDelete a user adgrp entrydestructive- and 133 more in this area
Router108
fortinet_fortigate.router.static_createCreate a router static entrywritefortinet_fortigate.router.static_getGet a router static entryreadfortinet_fortigate.router.static_listList router static entriesreadfortinet_fortigate.router.static_updateUpdate a router static entrywritefortinet_fortigate.router.access_list6_createCreate a router access list6 entrywritefortinet_fortigate.router.access_list6_deleteDelete a router access list6 entrydestructive- and 102 more in this area
Monitor firewall75
fortinet_fortigate.monitor_firewall.acl6_getMonitor: firewall acl6readfortinet_fortigate.monitor_firewall.acl_getMonitor: firewall aclreadfortinet_fortigate.monitor_firewall.clearpass_address_addMonitor action: firewall clearpass address addwritefortinet_fortigate.monitor_firewall.session_getMonitor: firewall sessionreadfortinet_fortigate.monitor_firewall.acl6_clear_countersMonitor action: firewall acl6 clear countersdestructivefortinet_fortigate.monitor_firewall.acl_clear_countersMonitor action: firewall acl clear countersdestructive- and 69 more in this area
Webfilter66
fortinet_fortigate.webfilter.content_createCreate a webfilter content entrywritefortinet_fortigate.webfilter.content_header_createCreate a webfilter content header entrywritefortinet_fortigate.webfilter.content_header_listList webfilter content header entriesreadfortinet_fortigate.webfilter.content_listList webfilter content entriesreadfortinet_fortigate.webfilter.categories_getGet webfilter categories settingsreadfortinet_fortigate.webfilter.categories_updateUpdate webfilter categories settingswrite- and 60 more in this area
DLP52
fortinet_fortigate.dlp.data_type_createCreate a dlp data type entrywritefortinet_fortigate.dlp.data_type_listList dlp data type entriesreadfortinet_fortigate.dlp.dictionary_createCreate a dlp dictionary entrywritefortinet_fortigate.dlp.dictionary_listList dlp dictionary entriesreadfortinet_fortigate.dlp.data_type_deleteDelete a dlp data type entrydestructivefortinet_fortigate.dlp.data_type_getGet a dlp data type entryread- and 46 more in this area
Monitor user51
fortinet_fortigate.monitor_user.banned_add_usersMonitor action: user banned add userswritefortinet_fortigate.monitor_user.fortitoken_import_mobileMonitor action: user fortitoken import mobilewritefortinet_fortigate.monitor_user.fortitoken_import_seedMonitor action: user fortitoken import seedwritefortinet_fortigate.monitor_user.fortitoken_import_trialMonitor action: user fortitoken import trialwritefortinet_fortigate.monitor_user.banned_check_getMonitor: user banned checkreadfortinet_fortigate.monitor_user.banned_clear_allMonitor action: user banned clear alldestructive- and 45 more in this area
GTP45
fortinet_fortigate.gtp.apn_createCreate a gtp apn entrywritefortinet_fortigate.gtp.apn_listList gtp apn entriesreadfortinet_fortigate.gtp.apn_shaper_createCreate a gtp apn shaper entrywritefortinet_fortigate.gtp.apn_shaper_listList gtp apn shaper entriesreadfortinet_fortigate.gtp.apn_deleteDelete a gtp apn entrydestructivefortinet_fortigate.gtp.apn_getGet a gtp apn entryread- and 39 more in this area
Web proxy44
fortinet_fortigate.web_proxy.debug_url_createCreate a web proxy debug url entrywritefortinet_fortigate.web_proxy.debug_url_listList web proxy debug url entriesreadfortinet_fortigate.web_proxy.fast_fallback_createCreate a web proxy fast fallback entrywritefortinet_fortigate.web_proxy.fast_fallback_listList web proxy fast fallback entriesreadfortinet_fortigate.web_proxy.debug_url_deleteDelete a web proxy debug url entrydestructivefortinet_fortigate.web_proxy.debug_url_getGet a web proxy debug url entryread- and 38 more in this area
Emailfilter39
fortinet_fortigate.emailfilter.block_allow_list_createCreate an emailfilter block allow list entrywritefortinet_fortigate.emailfilter.block_allow_list_listList emailfilter block allow list entriesreadfortinet_fortigate.emailfilter.bwl_createCreate an emailfilter bwl entrywritefortinet_fortigate.emailfilter.bwl_listList emailfilter bwl entriesreadfortinet_fortigate.emailfilter.block_allow_list_deleteDelete an emailfilter block allow list entrydestructivefortinet_fortigate.emailfilter.block_allow_list_getGet an emailfilter block allow list entryread- and 33 more in this area
Monitor wifi39
fortinet_fortigate.monitor_wifi.ap_profile_create_defaultMonitor action: wifi ap profile create defaultwritefortinet_fortigate.monitor_wifi.firmware_uploadMonitor action: wifi firmware uploadwritefortinet_fortigate.monitor_wifi.region_image_uploadMonitor action: wifi region image uploadwritefortinet_fortigate.monitor_wifi.spectrum_startMonitor action: wifi spectrum startwritefortinet_fortigate.monitor_wifi.ap_channels_getMonitor: wifi ap_channelsreadfortinet_fortigate.monitor_wifi.ap_names_getMonitor: wifi ap namesread- and 33 more in this area
Ztna39
fortinet_fortigate.ztna.destination_createCreate a ztna destination entrywritefortinet_fortigate.ztna.destination_listList ztna destination entriesreadfortinet_fortigate.ztna.reverse_connector_createCreate a ztna reverse connector entrywritefortinet_fortigate.ztna.reverse_connector_listList ztna reverse connector entriesreadfortinet_fortigate.ztna.connector_edge_getGet ztna connector edge settingsreadfortinet_fortigate.ztna.connector_edge_updateUpdate ztna connector edge settingswrite- and 33 more in this area
Endpoint control37
fortinet_fortigate.endpoint_control.client_createCreate an endpoint control client entrywritefortinet_fortigate.endpoint_control.client_listList endpoint control client entriesreadfortinet_fortigate.endpoint_control.fctems_createCreate an endpoint control fctems entrywritefortinet_fortigate.endpoint_control.fctems_listList endpoint control fctems entriesreadfortinet_fortigate.endpoint_control.client_deleteDelete an endpoint control client entrydestructivefortinet_fortigate.endpoint_control.client_getGet an endpoint control client entryread- and 31 more in this area
Ips36
fortinet_fortigate.ips.custom_createCreate an ips custom entrywritefortinet_fortigate.ips.custom_listList ips custom entriesreadfortinet_fortigate.ips.decoder_createCreate an ips decoder entrywritefortinet_fortigate.ips.decoder_listList ips decoder entriesreadfortinet_fortigate.ips.custom_deleteDelete an ips custom entrydestructivefortinet_fortigate.ips.custom_getGet an ips custom entryread- and 30 more in this area
Monitor switch controller35
fortinet_fortigate.monitor_switch_controller.detected_device_getMonitor: switch controller detected devicereadfortinet_fortigate.monitor_switch_controller.fsw_firmware_downloadMonitor action: switch controller fsw firmware downloadwritefortinet_fortigate.monitor_switch_controller.fsw_firmware_getMonitor: switch controller fsw firmwarereadfortinet_fortigate.monitor_switch_controller.fsw_firmware_uploadMonitor action: switch controller fsw firmware uploadwritefortinet_fortigate.monitor_switch_controller.fsw_firmware_pushMonitor action: switch controller fsw firmware pushdestructivefortinet_fortigate.monitor_switch_controller.isl_lockdown_status_getMonitor: switch controller isl lockdown statusread- and 29 more in this area
Spamfilter34
fortinet_fortigate.spamfilter.bwl_createCreate a spamfilter bwl entrywritefortinet_fortigate.spamfilter.bwl_listList spamfilter bwl entriesreadfortinet_fortigate.spamfilter.bword_createCreate a spamfilter bword entrywritefortinet_fortigate.spamfilter.bword_listList spamfilter bword entriesreadfortinet_fortigate.spamfilter.bwl_deleteDelete a spamfilter bwl entrydestructivefortinet_fortigate.spamfilter.bwl_getGet a spamfilter bwl entryread- and 28 more in this area
Application32
fortinet_fortigate.application.custom_createCreate an application custom entrywritefortinet_fortigate.application.custom_listList application custom entriesreadfortinet_fortigate.application.group_createCreate an application group entrywritefortinet_fortigate.application.group_listList application group entriesreadfortinet_fortigate.application.classification_settings_getGet application classification settings settingsreadfortinet_fortigate.application.classification_settings_updateUpdate application classification settings settingswrite- and 26 more in this area
Extension controller30
fortinet_fortigate.extension_controller.dataplan_createCreate an extension controller dataplan entrywritefortinet_fortigate.extension_controller.dataplan_listList extension controller dataplan entriesreadfortinet_fortigate.extension_controller.extender_createCreate an extension controller extender entrywritefortinet_fortigate.extension_controller.extender_listList extension controller extender entriesreadfortinet_fortigate.extension_controller.dataplan_deleteDelete an extension controller dataplan entrydestructivefortinet_fortigate.extension_controller.dataplan_getGet an extension controller dataplan entryread- and 24 more in this area
Report29
fortinet_fortigate.report.chart_createCreate a report chart entrywritefortinet_fortigate.report.chart_listList report chart entriesreadfortinet_fortigate.report.dataset_createCreate a report dataset entrywritefortinet_fortigate.report.dataset_listList report dataset entriesreadfortinet_fortigate.report.chart_deleteDelete a report chart entrydestructivefortinet_fortigate.report.chart_getGet a report chart entryread- and 23 more in this area
Wanopt28
fortinet_fortigate.wanopt.auth_group_createCreate a wanopt auth group entrywritefortinet_fortigate.wanopt.auth_group_listList wanopt auth group entriesreadfortinet_fortigate.wanopt.content_delivery_network_rule_createCreate a wanopt content delivery network rule entrywritefortinet_fortigate.wanopt.content_delivery_network_rule_listList wanopt content delivery network rule entriesreadfortinet_fortigate.wanopt.auth_group_deleteDelete a wanopt auth group entrydestructivefortinet_fortigate.wanopt.auth_group_getGet a wanopt auth group entryread- and 22 more in this area
Antivirus26
fortinet_fortigate.antivirus.exempt_list_createCreate an antivirus exempt list entrywritefortinet_fortigate.antivirus.exempt_list_listList antivirus exempt list entriesreadfortinet_fortigate.antivirus.mms_checksum_createCreate an antivirus mms checksum entrywritefortinet_fortigate.antivirus.mms_checksum_listList antivirus mms checksum entriesreadfortinet_fortigate.antivirus.exempt_list_deleteDelete an antivirus exempt list entrydestructivefortinet_fortigate.antivirus.exempt_list_getGet an antivirus exempt list entryread- and 20 more in this area
Certificate25
fortinet_fortigate.certificate.ca_createCreate a certificate ca entrywritefortinet_fortigate.certificate.ca_listList certificate ca entriesreadfortinet_fortigate.certificate.crl_createCreate a certificate crl entrywritefortinet_fortigate.certificate.crl_listList certificate crl entriesreadfortinet_fortigate.certificate.ca_deleteDelete a certificate ca entrydestructivefortinet_fortigate.certificate.ca_getGet a certificate ca entryread- and 19 more in this area
Monitor forticonverter22
fortinet_fortigate.monitor_forticonverter.config_uploadMonitor action: forticonverter config uploadwritefortinet_fortigate.monitor_forticonverter.download_startMonitor action: forticonverter download startwritefortinet_fortigate.monitor_forticonverter.intf_mapping_submitMonitor action: forticonverter intf mapping submitwritefortinet_fortigate.monitor_forticonverter.mgmt_intf_submitMonitor action: forticonverter mgmt intf submitwritefortinet_fortigate.monitor_forticonverter.custom_operation_status_getMonitor: forticonverter custom operation statusreadfortinet_fortigate.monitor_forticonverter.download_ready_getMonitor: forticonverter download readyread- and 16 more in this area
Monitor router22
fortinet_fortigate.monitor_router.bgp_neighbors6_getMonitor: router bgp neighbors6readfortinet_fortigate.monitor_router.bgp_neighbors_getMonitor: router bgp neighborsreadfortinet_fortigate.monitor_router.bgp_neighbors_statistics_getMonitor: router bgp neighbors statisticsreadfortinet_fortigate.monitor_router.bgp_paths6_getMonitor: router bgp paths6readfortinet_fortigate.monitor_router.bgp_clear_soft_inMonitor action: router bgp clear soft indestructivefortinet_fortigate.monitor_router.bgp_clear_soft_outMonitor action: router bgp clear soft outdestructive- and 16 more in this area
Telemetry controller 22Casb 20Hardware 20Monitor VPN 20Videofilter 20Waf 20Extender 16Monitor endpoint control 16Extender controller 15Icap 15LLM 15Monitor log 15Monitor registration 15Authentication 12Cifs 10Dnsfilter 10Monitor network 10Monitor fortiview 8Monitor utm 8Monitor webfilter 8Monitor VPN certificate 7NSXT 7Monitor firmware 6Monitor ips 6Monitor wanopt 6Credential store 5Diameter filter 5File filter 5Monitor extender controller 5Monitor license 5Monitor virtual wan 5PFCP 5SCTP filter 5SSH filter 5Virtual patch 5Voip 5DPDK 4Monitoring 4Monitor fortiguard 3Monitor NSX 3Monitor web UI 3Alertemail 2Automation 2FTP proxy 2Ipsec 2MGMT data 2Monitor azure 2Monitor extension controller 2Monitor geoip 2Monitor telemetry controller 2Monitor webcache 2Monitor casb 1Monitor sdwan 1Monitor service 1Monitor videofilter 1Monitor webproxy 1
This index shows a sample of each area. All 3,739 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Fortinet FortiGate MCP server, answered.
Is there a Fortinet FortiGate MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 3,739 Fortinet FortiGate actions across system, firewall, switch controller and wireless controller, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Fortinet FortiGate.
What do I need to connect Fortinet FortiGate?
FortiOS REST API administrator token (System > Administrators > Create New > REST API Admin). Plus your host. The free call account { op: "connections.requirements", service: "fortinet_fortigate" } lists exactly what to paste.
Can an AI agent delete or change things in Fortinet FortiGate?
Only if its key allows it, and only with an explicit confirmation. 594 Fortinet FortiGate actions are destructive, including delete a user group entry, delete a user local entry and delete a firewall vip entry. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Fortinet FortiGate API limit?
actionlake paces every call to the limits in the Fortinet FortiGate service file: 300 calls a minute per connection. Repeated reads are answered from cache (1,659 Fortinet FortiGate actions can be), which never reaches Fortinet FortiGate.
What does a Fortinet FortiGate action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (3,739 Fortinet FortiGate actions page). Cache hits, searches, dry runs and calls Fortinet FortiGate refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Fortinet FortiGate API does it cover?
The FortiOS REST API v2 (/api/v2/cmdb, /api/v2/monitor, /api/v2/log), FortiOS 6.0 to 7.6 at your Fortinet FortiGate instance's API base URL, which you enter when connecting. It is built from Fortinet FortiGate's documentation as read on 22 October 2026. 3,739 actions in 86 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Fortinet FortiGate data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Fortinet FortiGate credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Fortinet FortiGate today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.