Mcp
Model Context Protocol (MCP) server for AI-powered Fastly CDN management.
- Transport
- Not stated
- Package
- —
- Registry id
- —
No install snippet on purpose. A working MCP config is a command, its arguments and an environment block — the last two are where API keys live, so this catalogue never stores them and cannot publish them. Follow the link above for the authors' own instructions.
The Fastly MCP server lets MCP clients work with the Fastly API. Connect it to an assistant such as Claude Desktop, Claude Code, Gemini CLI, Opencode, Qwen Code, Cline, or Swival, give it a Fastly API token, and the assistant can look up services, inspect domains and TLS settings, check traffic and usage, manage dictionaries and ACLs, purge content, and make configuration changes when you ask it to.
This project is actively developed and has Tier 1 Fastly open-source support. The support policy is described in Fastly's open-source documentation. Questions and feedback are welcome on the Fastly developer tools community forum.
How it works
Most MCP servers expose one tool for each operation. Because Fastly's API is large, this server uses a smaller set of tools that an assistant can use together.
- Start with
searchto find API methods by keyword, method name, API class, or HTTP path. - Then use
inspectto get a method's documentation, including its parameters, return type, and an example. - Once you have the details, use
executeto run a short JavaScript snippet with theFastlyclient already set up with your API token.
This keeps the tool list small while still covering every method documented in the bundled Fastly client docs.
Requirements
The examples use Bun and bunx, which downloads and runs the package without a global install.
You can also use Node.js 24.12 or newer.
Use the full command, bunx -p @fastly/mcp fastly-mcp, because the package's command is named fastly-mcp.
This prevents bunx from picking up an unrelated mcp command on your PATH.
If you use npx, run npx -p @fastly/mcp fastly-mcp for the same reason.
You also need a Fastly API token. For everyday use, create the narrowest token that fits the work you expect the assistant to do. Start with a read-only token for investigation and reporting. Use a token with write access only when you actually want the assistant to make changes.
Keep the token in your MCP client configuration or shell environment as FASTLY_API_TOKEN.
Do not paste production tokens into prompts or commit them into a repository.
Installation
Most MCP clients accept a JSON block that describes how to start a server.
For example, this configuration runs the server with bunx and passes the API token through the environment:
{
"mcpServers": {
"fastly": {
"command": "bunx",
"args": ["-p", "@fastly/mcp", "fastly-mcp"],
"env": {
"FASTLY_API_TOKEN": "your-token-here"
}
}
}
}
If you already export FASTLY_API_TOKEN in the shell that starts your MCP client, you can generally omit the env block (some agents may still require it, though).
Keeping the token in the client configuration is often simpler for desktop apps, while shell environment variables are often cleaner for terminal tools.
Claude Code
Run the server through bunx:
claude mcp add fastly -- bunx -p @fastly/mcp fastly-mcp
Then make sure FASTLY_API_TOKEN is available in the environment where Claude Code starts, or configure the token through your normal Claude Code MCP settings.
Claude Desktop
Add the generic JSON block above to Claude Desktop's configuration file.
- On macOS the file is usually
~/Library/Application Support/Claude/claude_desktop_config.json. - On Windows it is usually
%APPDATA%\Claude\claude_desktop_config.json. - On Linux it is usually
~/.config/Claude/claude_desktop_config.json.
Restart Claude Desktop after changing the file.
Gemini CLI
Add the generic JSON block to ~/.gemini/settings.json.
If Gemini CLI is started from a shell that already exports FASTLY_API_TOKEN, you can leave the token out of the JSON.
Opencode
From the project's README.