---
title: "Fortinet FortiGate MCP server for AI agents - actionlake"
description: "Give Claude 3,739 Fortinet FortiGate actions through one MCP server: system, firewall. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/fortinet-fortigate
updated: 2026-10-23
---

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.

[Connect Fortinet FortiGate free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

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/mcp`

the first call

```
do {
  action: "fortinet_fortigate.user.local_list",
  intent: "check which Fortinet FortiGate account is connected"
}
# List user local entries · read · 1 upstream call
```

- 3,739 actions in one signed file
- 1,724 read look, never change
- 1,421 write create and update
- 594 wait for a yes destructive, confirmed first

Set up

## Connect Fortinet FortiGate in three steps.

1. 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`
2. 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_token` FortiOS REST API administrator token (System > Administrators > Create New > REST API Admin)
   - `host` Where your Fortinet FortiGate lives: your host
   ```
   account { op: "connections.requirements", service: "fortinet_fortigate" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "fortinet_fortigate.user.local_list" }
   # list user local entries · read · 1 upstream call
   check { 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 2026[codeload.github.com](https://codeload.github.com/fortinet-ansible-dev/ansible-galaxy-fortios-collection/tar.gz/refs/heads/main) [docs.fortinet.com](https://docs.fortinet.com/document/fortigate/7.6.0/administration-guide/940602/using-apis)

**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,724** read look, never change
- **1,421** write create and update
- **594** destructive wait for a confirmation

1. ### System
   734
   313 read · 313 write · 108 destructive
   List system accprofile entries · List system interface entries · Create a system admin entry · List system admin entries
2. ### Firewall
   537
   211 read · 228 write · 98 destructive
   List firewall policy entries · Create a firewall address entry · List firewall address entries · Create a firewall addrgrp entry
3. ### Switch controller
   237
   99 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
4. ### Wireless controller
   228
   94 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
5. ### Log
   204
   143 read · 59 write · 2 destructive
   Log: disk event system · Log: disk traffic forward · Log: memory event system · Log: memory traffic forward
6. ### Monitor system
   175
   111 read · 37 write · 27 destructive
   Monitor: system ha peer · Monitor: system interface · Monitor: system resource usage · Monitor: system status
7. ### VPN
   147
   62 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
8. ### User
   139
   56 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_list` List user local entries | List the entries of the FortiOS CMDB table user/local. | read | `identity.user.list` 474 connectors |
| `fortinet_fortigate.user.group_list` List user group entries | List the entries of the FortiOS CMDB table user/group. | read | `identity.group.list` 262 connectors |
| `fortinet_fortigate.system.accprofile_list` List system accprofile entries | List the entries of the FortiOS CMDB table system/accprofile. | read | `identity.role.list` 184 connectors |
| `fortinet_fortigate.firewall.policy_list` List firewall policy entries | List the entries of the FortiOS CMDB table firewall/policy. | read | `security.policy.list` 36 connectors |
| `fortinet_fortigate.system.interface_list` List system interface entries | List the entries of the FortiOS CMDB table system/interface. | read | `security.network.list` 15 connectors |
| `fortinet_fortigate.firewall.vip_list` List firewall vip entries | List the entries of the FortiOS CMDB table firewall/vip. | read | this connector |
| `fortinet_fortigate.system.admin_list` List system admin entries | List the entries of the FortiOS CMDB table system/admin. | read | this connector |
| `fortinet_fortigate.user.group_create` Create a user group entry | Create an entry in the FortiOS CMDB table user/group. | write | this connector |
| `fortinet_fortigate.user.local_create` Create a user local entry | Create an entry in the FortiOS CMDB table user/local. | write | this connector |
| `fortinet_fortigate.firewall.vip_create` Create a firewall vip entry | Create an entry in the FortiOS CMDB table firewall/vip. | write | this connector |
| `fortinet_fortigate.system.admin_create` Create a system admin entry | Create an entry in the FortiOS CMDB table system/admin. | write | this connector |
| `fortinet_fortigate.user.group_delete` Delete 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.

1. Read read
   Who has access in Fortinet FortiGate? List every user and their role.
   calls `fortinet_fortigate.user.local_list`
2. Write write
   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.

do fortinet_fortigate.user.group_delete confirm_policy: **human**

Delete a user group entry?

**intent:** the user asked me to delete a user group entry

run suspended · waiting for a named person · key _fortinet-fortigate-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
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: "lead@example.com" },
    { match: "fortinet_fortigate.user.local_delete", approver: "lead@example.com" },
    { match: "fortinet_fortigate.firewall.vip_delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Fortinet FortiGate only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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.

- 1 upstream call per action all 3,739 Fortinet FortiGate actions
- 3,739 actions page each page of a long list is one call
- 1,659 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Fortinet FortiGate action.

3,739 actions by area: the id your agent calls, what it does, and its effect.

**System 734**

- `fortinet_fortigate.system.accprofile_list` List system accprofile entries read
- `fortinet_fortigate.system.admin_create` Create a system admin entry write
- `fortinet_fortigate.system.admin_list` List system admin entries read
- `fortinet_fortigate.system.interface_list` List system interface entries read
- `fortinet_fortigate.system.accprofile_create` Create a system accprofile entry write
- `fortinet_fortigate.system.accprofile_delete` Delete a system accprofile entry destructive
- and 728 more in this area

**Firewall 537**

- `fortinet_fortigate.firewall.address_create` Create a firewall address entry write
- `fortinet_fortigate.firewall.address_list` List firewall address entries read
- `fortinet_fortigate.firewall.addrgrp_create` Create a firewall addrgrp entry write
- `fortinet_fortigate.firewall.policy_list` List firewall policy entries read
- `fortinet_fortigate.firewall.access_proxy6_create` Create a firewall access proxy6 entry write
- `fortinet_fortigate.firewall.access_proxy6_delete` Delete a firewall access proxy6 entry destructive
- and 531 more in this area

**Switch controller 237**

- `fortinet_fortigate.switch_controller.acl_group_create` Create a switch controller acl group entry write
- `fortinet_fortigate.switch_controller.acl_group_list` List switch controller acl group entries read
- `fortinet_fortigate.switch_controller.acl_ingress_create` Create a switch controller acl ingress entry write
- `fortinet_fortigate.switch_controller.acl_ingress_list` List switch controller acl ingress entries read
- `fortinet_fortigate.switch_controller.acl_group_delete` Delete a switch controller acl group entry destructive
- `fortinet_fortigate.switch_controller.acl_group_get` Get a switch controller acl group entry read
- and 231 more in this area

**Wireless controller 228**

- `fortinet_fortigate.wireless_controller.access_control_list_create` Create a wireless controller access control list entry write
- `fortinet_fortigate.wireless_controller.access_control_list_list` List wireless controller access control list entries read
- `fortinet_fortigate.wireless_controller.address_create` Create a wireless controller address entry write
- `fortinet_fortigate.wireless_controller.address_list` List wireless controller address entries read
- `fortinet_fortigate.wireless_controller.access_control_list_delete` Delete a wireless controller access control list entry destructive
- `fortinet_fortigate.wireless_controller.access_control_list_get` Get a wireless controller access control list entry read
- and 222 more in this area

**Log 204**

- `fortinet_fortigate.log.disk_event_system_list` Log: disk event system read
- `fortinet_fortigate.log.disk_traffic_forward_list` Log: disk traffic forward read
- `fortinet_fortigate.log.memory_event_system_list` Log: memory event system read
- `fortinet_fortigate.log.memory_traffic_forward_list` Log: memory traffic forward read
- `fortinet_fortigate.log.custom_field_create` Create a log custom field entry write
- `fortinet_fortigate.log.custom_field_delete` Delete a log custom field entry destructive
- and 198 more in this area

**Monitor system 175**

- `fortinet_fortigate.monitor_system.ha_peer_get` Monitor: system ha peer read
- `fortinet_fortigate.monitor_system.interface_get` Monitor: system interface read
- `fortinet_fortigate.monitor_system.resource_usage_get` Monitor: system resource usage read
- `fortinet_fortigate.monitor_system.status_get` Monitor: system status read
- `fortinet_fortigate.monitor_system.acme_certificate_status_get` Monitor: system acme certificate status read
- `fortinet_fortigate.monitor_system.acquired_dns_get` Monitor: system acquired dns read
- and 169 more in this area

**VPN 147**

- `fortinet_fortigate.vpn.ipsec_phase1_interface_create` Create a vpn ipsec phase1 interface entry write
- `fortinet_fortigate.vpn.ipsec_phase1_interface_get` Get a vpn ipsec phase1 interface entry read
- `fortinet_fortigate.vpn.ipsec_phase1_interface_list` List vpn ipsec phase1 interface entries read
- `fortinet_fortigate.vpn.ipsec_phase1_interface_update` Update a vpn ipsec phase1 interface entry write
- `fortinet_fortigate.vpn.certificate_ca_create` Create a vpn certificate ca entry write
- `fortinet_fortigate.vpn.certificate_ca_delete` Delete a vpn certificate ca entry destructive
- and 141 more in this area

**User 139**

- `fortinet_fortigate.user.group_create` Create a user group entry write
- `fortinet_fortigate.user.group_list` List user group entries read
- `fortinet_fortigate.user.local_create` Create a user local entry write
- `fortinet_fortigate.user.local_list` List user local entries read
- `fortinet_fortigate.user.adgrp_create` Create a user adgrp entry write
- `fortinet_fortigate.user.adgrp_delete` Delete a user adgrp entry destructive
- and 133 more in this area

**Router 108**

- `fortinet_fortigate.router.static_create` Create a router static entry write
- `fortinet_fortigate.router.static_get` Get a router static entry read
- `fortinet_fortigate.router.static_list` List router static entries read
- `fortinet_fortigate.router.static_update` Update a router static entry write
- `fortinet_fortigate.router.access_list6_create` Create a router access list6 entry write
- `fortinet_fortigate.router.access_list6_delete` Delete a router access list6 entry destructive
- and 102 more in this area

**Monitor firewall 75**

- `fortinet_fortigate.monitor_firewall.acl6_get` Monitor: firewall acl6 read
- `fortinet_fortigate.monitor_firewall.acl_get` Monitor: firewall acl read
- `fortinet_fortigate.monitor_firewall.clearpass_address_add` Monitor action: firewall clearpass address add write
- `fortinet_fortigate.monitor_firewall.session_get` Monitor: firewall session read
- `fortinet_fortigate.monitor_firewall.acl6_clear_counters` Monitor action: firewall acl6 clear counters destructive
- `fortinet_fortigate.monitor_firewall.acl_clear_counters` Monitor action: firewall acl clear counters destructive
- and 69 more in this area

**Webfilter 66**

- `fortinet_fortigate.webfilter.content_create` Create a webfilter content entry write
- `fortinet_fortigate.webfilter.content_header_create` Create a webfilter content header entry write
- `fortinet_fortigate.webfilter.content_header_list` List webfilter content header entries read
- `fortinet_fortigate.webfilter.content_list` List webfilter content entries read
- `fortinet_fortigate.webfilter.categories_get` Get webfilter categories settings read
- `fortinet_fortigate.webfilter.categories_update` Update webfilter categories settings write
- and 60 more in this area

**DLP 52**

- `fortinet_fortigate.dlp.data_type_create` Create a dlp data type entry write
- `fortinet_fortigate.dlp.data_type_list` List dlp data type entries read
- `fortinet_fortigate.dlp.dictionary_create` Create a dlp dictionary entry write
- `fortinet_fortigate.dlp.dictionary_list` List dlp dictionary entries read
- `fortinet_fortigate.dlp.data_type_delete` Delete a dlp data type entry destructive
- `fortinet_fortigate.dlp.data_type_get` Get a dlp data type entry read
- and 46 more in this area

**Monitor user 51**

- `fortinet_fortigate.monitor_user.banned_add_users` Monitor action: user banned add users write
- `fortinet_fortigate.monitor_user.fortitoken_import_mobile` Monitor action: user fortitoken import mobile write
- `fortinet_fortigate.monitor_user.fortitoken_import_seed` Monitor action: user fortitoken import seed write
- `fortinet_fortigate.monitor_user.fortitoken_import_trial` Monitor action: user fortitoken import trial write
- `fortinet_fortigate.monitor_user.banned_check_get` Monitor: user banned check read
- `fortinet_fortigate.monitor_user.banned_clear_all` Monitor action: user banned clear all destructive
- and 45 more in this area

**GTP 45**

- `fortinet_fortigate.gtp.apn_create` Create a gtp apn entry write
- `fortinet_fortigate.gtp.apn_list` List gtp apn entries read
- `fortinet_fortigate.gtp.apn_shaper_create` Create a gtp apn shaper entry write
- `fortinet_fortigate.gtp.apn_shaper_list` List gtp apn shaper entries read
- `fortinet_fortigate.gtp.apn_delete` Delete a gtp apn entry destructive
- `fortinet_fortigate.gtp.apn_get` Get a gtp apn entry read
- and 39 more in this area

**Web proxy 44**

- `fortinet_fortigate.web_proxy.debug_url_create` Create a web proxy debug url entry write
- `fortinet_fortigate.web_proxy.debug_url_list` List web proxy debug url entries read
- `fortinet_fortigate.web_proxy.fast_fallback_create` Create a web proxy fast fallback entry write
- `fortinet_fortigate.web_proxy.fast_fallback_list` List web proxy fast fallback entries read
- `fortinet_fortigate.web_proxy.debug_url_delete` Delete a web proxy debug url entry destructive
- `fortinet_fortigate.web_proxy.debug_url_get` Get a web proxy debug url entry read
- and 38 more in this area

**Emailfilter 39**

- `fortinet_fortigate.emailfilter.block_allow_list_create` Create an emailfilter block allow list entry write
- `fortinet_fortigate.emailfilter.block_allow_list_list` List emailfilter block allow list entries read
- `fortinet_fortigate.emailfilter.bwl_create` Create an emailfilter bwl entry write
- `fortinet_fortigate.emailfilter.bwl_list` List emailfilter bwl entries read
- `fortinet_fortigate.emailfilter.block_allow_list_delete` Delete an emailfilter block allow list entry destructive
- `fortinet_fortigate.emailfilter.block_allow_list_get` Get an emailfilter block allow list entry read
- and 33 more in this area

**Monitor wifi 39**

- `fortinet_fortigate.monitor_wifi.ap_profile_create_default` Monitor action: wifi ap profile create default write
- `fortinet_fortigate.monitor_wifi.firmware_upload` Monitor action: wifi firmware upload write
- `fortinet_fortigate.monitor_wifi.region_image_upload` Monitor action: wifi region image upload write
- `fortinet_fortigate.monitor_wifi.spectrum_start` Monitor action: wifi spectrum start write
- `fortinet_fortigate.monitor_wifi.ap_channels_get` Monitor: wifi ap_channels read
- `fortinet_fortigate.monitor_wifi.ap_names_get` Monitor: wifi ap names read
- and 33 more in this area

**Ztna 39**

- `fortinet_fortigate.ztna.destination_create` Create a ztna destination entry write
- `fortinet_fortigate.ztna.destination_list` List ztna destination entries read
- `fortinet_fortigate.ztna.reverse_connector_create` Create a ztna reverse connector entry write
- `fortinet_fortigate.ztna.reverse_connector_list` List ztna reverse connector entries read
- `fortinet_fortigate.ztna.connector_edge_get` Get ztna connector edge settings read
- `fortinet_fortigate.ztna.connector_edge_update` Update ztna connector edge settings write
- and 33 more in this area

**Endpoint control 37**

- `fortinet_fortigate.endpoint_control.client_create` Create an endpoint control client entry write
- `fortinet_fortigate.endpoint_control.client_list` List endpoint control client entries read
- `fortinet_fortigate.endpoint_control.fctems_create` Create an endpoint control fctems entry write
- `fortinet_fortigate.endpoint_control.fctems_list` List endpoint control fctems entries read
- `fortinet_fortigate.endpoint_control.client_delete` Delete an endpoint control client entry destructive
- `fortinet_fortigate.endpoint_control.client_get` Get an endpoint control client entry read
- and 31 more in this area

**Ips 36**

- `fortinet_fortigate.ips.custom_create` Create an ips custom entry write
- `fortinet_fortigate.ips.custom_list` List ips custom entries read
- `fortinet_fortigate.ips.decoder_create` Create an ips decoder entry write
- `fortinet_fortigate.ips.decoder_list` List ips decoder entries read
- `fortinet_fortigate.ips.custom_delete` Delete an ips custom entry destructive
- `fortinet_fortigate.ips.custom_get` Get an ips custom entry read
- and 30 more in this area

**Monitor switch controller 35**

- `fortinet_fortigate.monitor_switch_controller.detected_device_get` Monitor: switch controller detected device read
- `fortinet_fortigate.monitor_switch_controller.fsw_firmware_download` Monitor action: switch controller fsw firmware download write
- `fortinet_fortigate.monitor_switch_controller.fsw_firmware_get` Monitor: switch controller fsw firmware read
- `fortinet_fortigate.monitor_switch_controller.fsw_firmware_upload` Monitor action: switch controller fsw firmware upload write
- `fortinet_fortigate.monitor_switch_controller.fsw_firmware_push` Monitor action: switch controller fsw firmware push destructive
- `fortinet_fortigate.monitor_switch_controller.isl_lockdown_status_get` Monitor: switch controller isl lockdown status read
- and 29 more in this area

**Spamfilter 34**

- `fortinet_fortigate.spamfilter.bwl_create` Create a spamfilter bwl entry write
- `fortinet_fortigate.spamfilter.bwl_list` List spamfilter bwl entries read
- `fortinet_fortigate.spamfilter.bword_create` Create a spamfilter bword entry write
- `fortinet_fortigate.spamfilter.bword_list` List spamfilter bword entries read
- `fortinet_fortigate.spamfilter.bwl_delete` Delete a spamfilter bwl entry destructive
- `fortinet_fortigate.spamfilter.bwl_get` Get a spamfilter bwl entry read
- and 28 more in this area

**Application 32**

- `fortinet_fortigate.application.custom_create` Create an application custom entry write
- `fortinet_fortigate.application.custom_list` List application custom entries read
- `fortinet_fortigate.application.group_create` Create an application group entry write
- `fortinet_fortigate.application.group_list` List application group entries read
- `fortinet_fortigate.application.classification_settings_get` Get application classification settings settings read
- `fortinet_fortigate.application.classification_settings_update` Update application classification settings settings write
- and 26 more in this area

**Extension controller 30**

- `fortinet_fortigate.extension_controller.dataplan_create` Create an extension controller dataplan entry write
- `fortinet_fortigate.extension_controller.dataplan_list` List extension controller dataplan entries read
- `fortinet_fortigate.extension_controller.extender_create` Create an extension controller extender entry write
- `fortinet_fortigate.extension_controller.extender_list` List extension controller extender entries read
- `fortinet_fortigate.extension_controller.dataplan_delete` Delete an extension controller dataplan entry destructive
- `fortinet_fortigate.extension_controller.dataplan_get` Get an extension controller dataplan entry read
- and 24 more in this area

**Report 29**

- `fortinet_fortigate.report.chart_create` Create a report chart entry write
- `fortinet_fortigate.report.chart_list` List report chart entries read
- `fortinet_fortigate.report.dataset_create` Create a report dataset entry write
- `fortinet_fortigate.report.dataset_list` List report dataset entries read
- `fortinet_fortigate.report.chart_delete` Delete a report chart entry destructive
- `fortinet_fortigate.report.chart_get` Get a report chart entry read
- and 23 more in this area

**Wanopt 28**

- `fortinet_fortigate.wanopt.auth_group_create` Create a wanopt auth group entry write
- `fortinet_fortigate.wanopt.auth_group_list` List wanopt auth group entries read
- `fortinet_fortigate.wanopt.content_delivery_network_rule_create` Create a wanopt content delivery network rule entry write
- `fortinet_fortigate.wanopt.content_delivery_network_rule_list` List wanopt content delivery network rule entries read
- `fortinet_fortigate.wanopt.auth_group_delete` Delete a wanopt auth group entry destructive
- `fortinet_fortigate.wanopt.auth_group_get` Get a wanopt auth group entry read
- and 22 more in this area

**Antivirus 26**

- `fortinet_fortigate.antivirus.exempt_list_create` Create an antivirus exempt list entry write
- `fortinet_fortigate.antivirus.exempt_list_list` List antivirus exempt list entries read
- `fortinet_fortigate.antivirus.mms_checksum_create` Create an antivirus mms checksum entry write
- `fortinet_fortigate.antivirus.mms_checksum_list` List antivirus mms checksum entries read
- `fortinet_fortigate.antivirus.exempt_list_delete` Delete an antivirus exempt list entry destructive
- `fortinet_fortigate.antivirus.exempt_list_get` Get an antivirus exempt list entry read
- and 20 more in this area

**Certificate 25**

- `fortinet_fortigate.certificate.ca_create` Create a certificate ca entry write
- `fortinet_fortigate.certificate.ca_list` List certificate ca entries read
- `fortinet_fortigate.certificate.crl_create` Create a certificate crl entry write
- `fortinet_fortigate.certificate.crl_list` List certificate crl entries read
- `fortinet_fortigate.certificate.ca_delete` Delete a certificate ca entry destructive
- `fortinet_fortigate.certificate.ca_get` Get a certificate ca entry read
- and 19 more in this area

**Monitor forticonverter 22**

- `fortinet_fortigate.monitor_forticonverter.config_upload` Monitor action: forticonverter config upload write
- `fortinet_fortigate.monitor_forticonverter.download_start` Monitor action: forticonverter download start write
- `fortinet_fortigate.monitor_forticonverter.intf_mapping_submit` Monitor action: forticonverter intf mapping submit write
- `fortinet_fortigate.monitor_forticonverter.mgmt_intf_submit` Monitor action: forticonverter mgmt intf submit write
- `fortinet_fortigate.monitor_forticonverter.custom_operation_status_get` Monitor: forticonverter custom operation status read
- `fortinet_fortigate.monitor_forticonverter.download_ready_get` Monitor: forticonverter download ready read
- and 16 more in this area

**Monitor router 22**

- `fortinet_fortigate.monitor_router.bgp_neighbors6_get` Monitor: router bgp neighbors6 read
- `fortinet_fortigate.monitor_router.bgp_neighbors_get` Monitor: router bgp neighbors read
- `fortinet_fortigate.monitor_router.bgp_neighbors_statistics_get` Monitor: router bgp neighbors statistics read
- `fortinet_fortigate.monitor_router.bgp_paths6_get` Monitor: router bgp paths6 read
- `fortinet_fortigate.monitor_router.bgp_clear_soft_in` Monitor action: router bgp clear soft in destructive
- `fortinet_fortigate.monitor_router.bgp_clear_soft_out` Monitor action: router bgp clear soft out destructive
- and 16 more in this area

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**

This index shows a sample of each area. All 3,739 actions, with their inputs and prices, are in the [catalogue](https://actionlake.com/console/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.

## More connectors like Fortinet FortiGate

Shares the most action names with

- [SonicWall SonicOS 4](https://actionlake.com/connectors/sonicwall-sonicos)
- [Cisco Umbrella 4](https://actionlake.com/connectors/cisco-umbrella)
- [ImmyBot 3](https://actionlake.com/connectors/immybot)
- [KnowBe4 3](https://actionlake.com/connectors/knowbe4)
- [Cato Networks SASE 3](https://actionlake.com/connectors/cato-networks-sase)
- [Progress ShareFile 2](https://actionlake.com/connectors/progress-sharefile)

Joins with, on shared entities

- [Cloudflare 5](https://actionlake.com/connectors/cloudflare)
- [Tenable Vulnerability Management 5](https://actionlake.com/connectors/tenable-vulnerability-management)
- [Microsoft 365 Users 3](https://actionlake.com/connectors/microsoft-365-users)
- [Genesys Cloud CX 3](https://actionlake.com/connectors/genesys-cloud-cx)
- [Rubrik Security Cloud 3](https://actionlake.com/connectors/rubrik-security-cloud)
- [Canvas LMS 3](https://actionlake.com/connectors/canvas-lms)

Browse

- [All MSP & PSA connectors](https://actionlake.com/connectors/category/msp-and-psa)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Fortinet FortiGate; the name is the vendor's own. Counts are from the Fortinet FortiGate service file, version 1.0.0.

## Give your agent Fortinet FortiGate today.

[Connect Fortinet FortiGate free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/fortinet-fortigate
More: https://actionlake.com/llms.txt
