Connectors · Observability & analytics
Fastly MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Fastly and the rest of your systems. It gives your agent 815 Fastly actions (389 reads, 278 writes and 148 that wait for a confirmation) and holds the Fastly credential itself, so the agent never does. It paces Fastly'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: "fastly.iam_roles.list", intent: "check which Fastly account is connected"}# Retrieve a paginated list of IAM roles available in the account. · read · 1 upstream call- 815actionsin one signed file
- 389readlook, never change
- 278writecreate and update
- 148wait for a yesdestructive, confirmed first
Set up
Connect Fastly 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 Fastly.
API key. 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_tokenFastly API token (Account > Personal profile > API tokens, or an automation token) with the scope the actions you…
account { op: "connections.requirements", service: "fastly" } # 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: "fastly.iam_roles.list" }# retrieve a paginated list of iam roles available in the account. · read · 1 upstream callcheck { action: "fastly.user.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Fastly at a glance
- Sign-in
- API key. 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- Limits we pace to
- 20 calls a second, per connection
- API covered
- Fastly API (api.fastly.com, rt.fastly.com)
api.fastly.com - Built from
- Fastly's documentation, read 23 October 2026fastly.comGitHubfastly.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 372 of 389 reads, for up to 5 minutes; a write clears what it affects
- Shared entities
- 4, so ask can line Fastly up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Fastly.
815 actions in 172 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 389readlook, never change
- 278writecreate and update
- 148destructivewait for a confirmation
DM routing configs
228 read · 9 write · 5 destructive
Activate the current draft version · Create a new routing config · Add a new path to the config's draft version · Add a new rule to a path on the config's draft version
Client side protection
2011 read · 7 write · 2 destructive
Create a new page for monitoring. · Create a new Content Security Policy for a page. · Create a new website for Client-Side Protection monitoring. · List security header change events for a page.
Network protect
208 read · 8 write · 4 destructive
Create a Network Protect endpoint · Create a Network Protect network · Create a Network Protect prefix list · Create a Network Protect rule set
Apisecurity operations
145 read · 6 write · 3 destructive
Add tags to multiple operations in a single request. · Create multiple operations associated with a specific service in a single request. · Create a new operation associated with a specific service. · Create a new operation tag associated with a specific service.
IAM user groups
145 read · 4 write · 5 destructive
Add members to a user group. · Add service groups to a user group. · Create a user group. · Get a user group.
VCL
117 read · 3 write · 1 destructive
Upload a VCL for a particular service and version. · This endpoint validates the submitted VCL against a default set of enabled flags · Services may have flags set by a Fastly employee or by the purchase of products as addons to the service, which modify the way VCL is interpreted by that servi… · List the uploaded VCLs for a particular service and version.
Version
113 read · 8 write · 0 destructive
Create a version for a particular service. · List the versions for a particular service. · Activate the current version. · Activate a version on a given environment, i.e
Bot management
107 read · 3 write · 0 destructive
List all bots in a workspace · List bots in a category · List categories · List workspaces
164 more areas · 693 actions
- Ngwaf custom signals 10
- Ngwaf lists 10
- Ngwaf rules 10
- Historical 9
- Observability notification service 9
- AI runtime control virtual keys 8
- IAM service groups 8
- Ngwaf custom dashboards 8
- Ngwaf workspace alerts 8
- Service 8
- Acls in compute 7
- Config store 7
- Config store item 7
- Dictionary item 7
- Domain 7
- Notifications event mappings 7
- Service authorizations 7
- Snippet 7
- TLS subscriptions 7
- Tokens 7
- Acl entry 6
- Automation tokens 6
- Ddos protection 6
- Ngwaf workspaces 6
- Product bot management 6
- Product ddos protection 6
- Product ngwaf 6
- Secret store 6
- Secret store item 6
- TLS certificates 6
- User 6
- Acl 5
- AI runtime control provider connections 5
- Alerts definitions 5
- Apex redirect 5
- Backend 5
- Cache settings 5
- Condition 5
- Customer 5
- Dictionary 5
- Director 5
- DM domains 5
- DNS tsig keys 5
- DNS zones 5
- Gzip 5
- Header 5
- Healthcheck 5
- KV store 5
- Logging azureblob 5
- Logging bigquery 5
- Logging cloudfiles 5
- Logging datadog 5
- Logging digitalocean 5
- Logging elasticsearch 5
- Logging FTP 5
- Logging GCS 5
- Logging grafanacloudlogs 5
- Logging heroku 5
- Logging honeycomb 5
- Logging https 5
- Logging kafka 5
- Logging kinesis 5
- Logging logentries 5
- Logging loggly 5
- Logging logshuttle 5
- Logging newrelic 5
- Logging newrelicotlp 5
- Logging openstack 5
- Logging papertrail 5
- Logging pubsub 5
- Logging S3 5
- Logging scalyr 5
- Logging SFTP 5
- Logging splunk 5
- Logging sumologic 5
- Logging syslog 5
- Mutual authentication 5
- Ngwaf header links 5
- Ngwaf redactions 5
- Ngwaf thresholds 5
- Observability custom dashboards 5
- Pool 5
- Rate limiter 5
- Request settings 5
- Resource 5
- Response object 5
- Server 5
- SPP DNS configuration 5
- TLS activations 5
- TLS bulk certificates 5
- Billing address 4
- KV store item 4
- Ngwaf events 4
- Ngwaf rate limited sources 4
- Ngwaf requests 4
- Object storage access keys 4
- Product API discovery 4
- Product brotli compression 4
- Product domain inspector 4
- Product fanout 4
- Product image optimizer 4
- Product log explorer insights 4
- Product origin inspector 4
- Product websockets 4
- Purge 4
- Star 4
- TLS private keys 4
- AI runtime control providers 3
- Billing invoices 3
- Contact 3
- Customer addresses 3
- Director backend 3
- Domain inspector realtime 3
- Http3 3
- Invitations 3
- Ngwaf time series 3
- Ngwaf virtual patches 3
- Origin inspector realtime 3
- Product AI accelerator 3
- Product AI runtime control 3
- Product domain research 3
- Product KV store 3
- Product object storage 3
- Realtime 3
- TLS configurations 3
- Utils docs 3
- AI runtime control usage metrics 2
- Billing usage metrics 2
- Domain research 2
- Events 2
- IAM roles 2
- Image optimizer default settings 2
- Metrics V2 platform metrics 2
- Ngwaf agents 2
- Ngwaf reports 2
- Settings 2
- SPP TLS configuration 2
- AI runtime control sessions 1
- Alerts history 1
- Bot request metrics 1
- Content 1
- Dictionary info 1
- Diff 1
- Domain inspector historical 1
- Domain ownerships 1
- IAM permissions 1
- Insights 1
- Log explorer 1
- Logging endpoint errors 1
- Metrics platform 1
- Ngwaf agent keys 1
- Ngwaf simulate 1
- Observability aggregations for logs 1
- Observability timeseries 1
- Origin inspector historical 1
- Package 1
- Pop 1
- Public ip list 1
- Stats 1
- Sudo 1
- TLS CSRS 1
- TLS domains 1
- VCL diff 1
- Whole platform ddos historical 1
Top actions
The Fastly API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 10 of Fastly's 10 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
fastly.customer.list_usersList all users from a specified customer id. | List all users from a specified customer id. | read | identity.user.list474 connectors |
fastly.iam_roles.listRetrieve a paginated list of IAM roles available in the account. | Retrieve a paginated list of IAM roles available in the account. | read | identity.role.list184 connectors |
fastly.user.get_current_userGet the logged in user. | Get the logged in user. | read | identity.current_user.get307 connectors |
fastly.user.createCreate a user. | Create a user. | write | identity.user.create262 connectors |
fastly.user.update_userUpdate a user | Update a user. | write | identity.user.update280 connectors |
fastly.user.deleteDelete a user. | Delete a user. | destructive | identity.user.delete253 connectors |
fastly.iam_roles.getRetrieve a single IAM role by its unique identifier. | Retrieve a single IAM role by its unique identifier. | read | identity.role.get127 connectors |
fastly.billing_invoices.listReturns the list of invoices, sorted by billing start date (newest to oldest). | Returns the list of invoices, sorted by billing start date (newest to oldest). | read | platform.invoice.list26 connectors |
fastly.billing_invoices.get_invoice_by_invoice_idReturns invoice associated with the invoice id. | Returns invoice associated with the invoice id. | read | platform.invoice.get18 connectors |
fastly.acl.listList ACLs. | List ACLs. | read | this connector |
fastly.pop.listGet a list of all Fastly POPs. | Get a list of all Fastly POPs. | read | this connector |
fastly.acl.createCreate a new ACL attached to the specified service version | Create a new ACL attached to the specified service version. | write | this connector |
Try it
Prompts to paste into Claude.
Each one names the Fastly actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Who has access in Fastly? List every user and their role.
calls
fastly.customer.list_users - Writewrite
Create a user in Fastly. Show me exactly what you will send before you save it.
calls
fastly.user.create
Governance for Fastly
Destructive actions wait for a yes.
148 Fastly actions are destructive. The first 10:
- Delete a user.
fastly.user.delete - Delete an ACL from the specified service version
fastly.acl.delete - Delete the uploaded VCL for a particular service and version.
fastly.vcl.delete - Delete a named gzip configuration on a particular service and version.
fastly.gzip.delete - Deletes a specific pool for a particular service and version.
fastly.pool.delete - Delete star.
fastly.star.delete - Disable HTTP/3 (QUIC) support for a particular service and version.
fastly.http3.delete - Delete the domain for a particular service and versions.
fastly.domain.delete - Deletes a Header object by name.
fastly.header.delete - Deletes a single server for a particular service and pool.
fastly.server.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.?
intent: the user asked me to delete a user.
account { op: "keys.create", name: "fastly-agent", allowed_actions: ["fastly.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "fastly.user.delete", approver: "[email protected]" }, { match: "fastly.acl.delete", approver: "[email protected]" }, { match: "fastly.vcl.delete", approver: "[email protected]" } ]}Cost
What Fastly costs on actionlake.
Every Fastly action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Fastly 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 815 Fastly actions
- 815actions pageeach page of a long list is one call
- 372reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Fastly action.
815 actions by area: the id your agent calls, what it does, and its effect.
DM routing configs22
fastly.dm_routing_configs.activate_dm_routing_config_draftActivate the current draft versionwritefastly.dm_routing_configs.create_dm_routing_configCreate a new routing configwrite- and 20 more in this area
Client side protection20
fastly.client_side_protection.create_pageCreate a new page for monitoring.writefastly.client_side_protection.create_policyCreate a new Content Security Policy for a page.write- and 18 more in this area
Network protect20
fastly.network_protect.create_network_protect_endpointCreate a Network Protect endpointwritefastly.network_protect.create_network_protect_networkCreate a Network Protect networkwrite- and 18 more in this area
Apisecurity operations14
fastly.apisecurity_operations.bulk_add_tags_to_operationsAdd tags to multiple operations in a single request.writefastly.apisecurity_operations.bulk_create_operationsCreate multiple operations associated with a specific service in a single request.write- and 12 more in this area
IAM user groups14
fastly.iam_user_groups.add_user_group_membersAdd members to a user group.writefastly.iam_user_groups.add_user_group_service_groupsAdd service groups to a user group.write- and 12 more in this area
VCL11
fastly.vcl.createUpload a VCL for a particular service and version.writefastly.vcl.lint_vcl_defaultThis endpoint validates the submitted VCL against a default set of enabled flagsread- and 9 more in this area
Version11
fastly.version.activate_service_versionActivate the current version.writefastly.version.activate_service_version_environmentActivate a version on a given environment, i.ewrite- and 9 more in this area
Bot management10
fastly.bot_management.list_all_bots_in_workspaceList all bots in a workspacereadfastly.bot_management.list_bots_in_categoryList bots in a categoryread- and 8 more in this area
Ngwaf custom signals10
fastly.ngwaf_custom_signals.create_new_account_level_custom_signalCreate a new account-level custom signalwritefastly.ngwaf_custom_signals.create_workspace_custom_signalCreate a workspace custom signalwrite- and 8 more in this area
Ngwaf lists10
fastly.ngwaf_lists.create_new_account_level_listCreate a new account-level listwritefastly.ngwaf_lists.create_new_workspace_level_listCreate a new workspace-level listwrite- and 8 more in this area
Ngwaf rules10
fastly.ngwaf_rules.create_account_ruleCreate account rulewritefastly.ngwaf_rules.create_ruleCreate rulewrite- and 8 more in this area
Historical9
fastly.historical.get_hist_stats_aggregatedFetches historical stats information aggregated across all of your Fastly services.readfastly.historical.get_hist_stats_serviceFetches historical stats for a given service.read- and 7 more in this area
Observability notification service9
fastly.observability_notification_service.create_integrationCreate an integrationwritefastly.observability_notification_service.get_all_integration_typesGet all integration typesread- and 7 more in this area
AI runtime control virtual keys8
fastly.ai_runtime_control_virtual_keys.create_virtual_keyCreate a virtual keywritefastly.ai_runtime_control_virtual_keys.get_virtual_keyGet a virtual keyread- and 6 more in this area
IAM service groups8
fastly.iam_service_groups.add_service_group_servicesAdd services in a service group.writefastly.iam_service_groups.createCreate a service group.write- and 6 more in this area
Ngwaf custom dashboards8
fastly.ngwaf_custom_dashboards.create_custom_dashboardCreate custom dashboardwritefastly.ngwaf_custom_dashboards.get_custom_dashboardGet custom dashboardread- and 6 more in this area
Ngwaf workspace alerts8
fastly.ngwaf_workspace_alerts.create_workspace_alertCreate a workspace alertwritefastly.ngwaf_workspace_alerts.edit_workspace_alertEdit a workspace alertwrite- and 6 more in this area
Service8
fastly.service.createCreate a service.writefastly.service.get_serviceGet a specific service by id.read- and 6 more in this area
Acls in compute7
fastly.acls_in_compute.createCreate a new ACL.writefastly.acls_in_compute.list_acl_entriesList an ACL.read- and 5 more in this area
Config store7
fastly.config_store.createCreate a config store.writefastly.config_store.get_config_storeDescribe a config store by its identifier.read- and 5 more in this area
Config store item7
fastly.config_store_item.bulk_update_config_store_itemAdd multiple key-value pairs to an individual config store, specified by ID.writefastly.config_store_item.createAdd a single key-value pair to an individual config store, specified by ID.write- and 5 more in this area
Dictionary item7
fastly.dictionary_item.bulk_update_dictionary_itemUpdate multiple items in the same dictionarywritefastly.dictionary_item.createCreate DictionaryItem given service, dictionary ID, item key, and item value.write- and 5 more in this area
Domain7
fastly.domain.check_domainChecks the status of a specific domain's DNS record for a Service Versionreadfastly.domain.check_domainsChecks the status of all domains' DNS records for a Service Versionread- and 5 more in this area
Notifications event mappings7
fastly.notifications_event_mappings.create_event_mappingCreate an event mappingwritefastly.notifications_event_mappings.list_event_mappingsList event mappingsread- and 5 more in this area
Service authorizations7
fastly.service_authorizations.createCreate service authorization.writefastly.service_authorizations.listList service authorizations.read- and 5 more in this area
Snippet7
fastly.snippet.createCreate a snippet for a particular service and version.writefastly.snippet.get_snippetGet a single snippet for a particular service and version.read- and 5 more in this area
TLS subscriptions7
fastly.tls_subscriptions.create_globalsign_email_challengeCreates an email challenge for a domain on a GlobalSign subscriptionwritefastly.tls_subscriptions.create_tls_subCreate a new TLS subscriptionwrite- and 5 more in this area
Tokens7
fastly.tokens.get_tokenGet a single token by its id.readfastly.tokens.get_token_currentGet a single token based on the access_token used in the request.read- and 5 more in this area
Acl entry6
fastly.acl_entry.bulk_update_acl_entriesUpdate multiple ACL entries on the same ACLwritefastly.acl_entry.createAdd an ACL entry to an ACL.write- and 4 more in this area
Automation tokens6
fastly.automation_tokens.createCreates a new automation token.writefastly.automation_tokens.get_automation_tokens_id_servicesList of services associated with the automation token.read- and 4 more in this area
Ddos protection 6Ngwaf workspaces 6Product bot management 6Product ddos protection 6Product ngwaf 6Secret store 6Secret store item 6TLS certificates 6User 6Acl 5AI runtime control provider connections 5Alerts definitions 5Apex redirect 5Backend 5Cache settings 5Condition 5Customer 5Dictionary 5Director 5DM domains 5DNS tsig keys 5DNS zones 5Gzip 5Header 5Healthcheck 5KV store 5Logging azureblob 5Logging bigquery 5Logging cloudfiles 5Logging datadog 5Logging digitalocean 5Logging elasticsearch 5Logging FTP 5Logging GCS 5Logging grafanacloudlogs 5Logging heroku 5Logging honeycomb 5Logging https 5Logging kafka 5Logging kinesis 5Logging logentries 5Logging loggly 5Logging logshuttle 5Logging newrelic 5Logging newrelicotlp 5Logging openstack 5Logging papertrail 5Logging pubsub 5Logging S3 5Logging scalyr 5Logging SFTP 5Logging splunk 5Logging sumologic 5Logging syslog 5Mutual authentication 5Ngwaf header links 5Ngwaf redactions 5Ngwaf thresholds 5Observability custom dashboards 5Pool 5Rate limiter 5Request settings 5Resource 5Response object 5Server 5SPP DNS configuration 5TLS activations 5TLS bulk certificates 5Billing address 4KV store item 4Ngwaf events 4Ngwaf rate limited sources 4Ngwaf requests 4Object storage access keys 4Product API discovery 4Product brotli compression 4Product domain inspector 4Product fanout 4Product image optimizer 4Product log explorer insights 4Product origin inspector 4Product websockets 4Purge 4Star 4TLS private keys 4AI runtime control providers 3Billing invoices 3Contact 3Customer addresses 3Director backend 3Domain inspector realtime 3Http3 3Invitations 3Ngwaf time series 3Ngwaf virtual patches 3Origin inspector realtime 3Product AI accelerator 3Product AI runtime control 3Product domain research 3Product KV store 3Product object storage 3Realtime 3TLS configurations 3Utils docs 3AI runtime control usage metrics 2Billing usage metrics 2Domain research 2Events 2IAM roles 2Image optimizer default settings 2Metrics V2 platform metrics 2Ngwaf agents 2Ngwaf reports 2Settings 2SPP TLS configuration 2AI runtime control sessions 1Alerts history 1Bot request metrics 1Content 1Dictionary info 1Diff 1Domain inspector historical 1Domain ownerships 1IAM permissions 1Insights 1Log explorer 1Logging endpoint errors 1Metrics platform 1Ngwaf agent keys 1Ngwaf simulate 1Observability aggregations for logs 1Observability timeseries 1Origin inspector historical 1Package 1Pop 1Public ip list 1Stats 1Sudo 1TLS CSRS 1TLS domains 1VCL diff 1Whole platform ddos historical 1
This index shows a sample of each area. All 815 actions, with their inputs and prices, are in the catalogue, which a free sandbox key can search.
Questions
The Fastly MCP server, answered.
Is there a Fastly MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 815 Fastly actions across DM routing configs, client side protection, network protect and apisecurity operations, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Fastly.
What do I need to connect Fastly?
Fastly API token (Account > Personal profile > API tokens, or an automation token) with the scope the actions you…. The free call account { op: "connections.requirements", service: "fastly" } lists exactly what to paste.
Can an AI agent delete or change things in Fastly?
Only if its key allows it, and only with an explicit confirmation. 148 Fastly actions are destructive, including delete a user., delete an ACL from the specified service version and delete the uploaded VCL for a particular service and version.. 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 Fastly API limit?
actionlake paces every call to the limits in the Fastly service file: 20 calls a second per connection. Repeated reads are answered from cache (372 Fastly actions can be), which never reaches Fastly.
What does a Fastly action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (815 Fastly actions page). Cache hits, searches, dry runs and calls Fastly 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 Fastly API does it cover?
The Fastly API (api.fastly.com, rt.fastly.com) at api.fastly.com. It is built from Fastly's documentation as read on 23 October 2026. 815 actions in 172 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Fastly 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 Fastly 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 Fastly today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.