fastly-mcp
fastly-mcp
Сервер Node.js Model Context Protocol для Fastly REST API. Он поддерживает транспорты stdio и Streamable HTTP, идентичности пользователей или учетных записей в рамках тенанта, постоянную конфигурацию Postgres и постоянные секреты Vault.
Гарантии
Каждый запрос Fastly использует пользовательский
Fastly-Keyвызывающего; в процессе не настраивается общий токен Fastly.Материал токена записывается только в Vault по пути
fastly/tenants/<tenant>/{users|accounts}/<principal>/http/auth/token-index/fastly.Несекретная конфигурация использует таблицу Postgres
fastly_config, ключами которой являются тенант, тип субъекта, идентификатор субъекта и ключ.Мутации требуют
MCP_ADMIN_AUTH_KEYчерез параметр инструментаauthorizationKey, если эта переменная окружения установлена.service_api_requestподдерживает все документированные методы и пути Fastly, включая API, добавленные после выпуска этого сервера.
Related MCP server: Terros MCP Server
Инструменты
service_query_suggestion — это доступное только для чтения обнаружение схемы. Используйте его, когда намерение или правильный маршрут Fastly неясны; он возвращает рекомендуемые предварительные условия, проверки безопасности, схемы инструментов и примеры.
service_connection_info и service_scope_info — это инструменты обнаружения среды выполнения и тенанта/учетной записи, доступные только для чтения. Используйте их перед операционным рабочим процессом.
service_health_check вызывает GET /tokens/self с пользовательским токеном. fastly_list_services вызывает GET /service. fastly_list_versions вызывает GET /service/:service_id/version.
service_api_request — это запасной вариант с полным покрытием. Он принимает method, path, необязательные query, body, headers и обязательный fastlyToken. GET/HEAD доступны только для чтения; POST/PUT/PATCH/DELETE являются мутациями и требуют authorizationKey, если он настроен.
fastly_purge_service — это операция высокого риска, вызывающая POST /service/:service_id/purge_all. Подтвердите идентификатор службы и используйте ключ администратора. fastly_update_user_token — это операция высокого риска, сохраняющая заменяющий токен в Vault; укажите ровно одно из userId или accountId, а также tenantId, fastlyToken и ключ администратора.
Все ответы содержат JSON-текст вида { "ok": true, "status": 200, "data": {} }; при сбоях устанавливается MCP isError и возвращается { "ok": false, "status": 4xx, "error": "..." }. Поля, похожие на секреты, по умолчанию редактируются.
Конфигурация
Скопируйте .env.example в .env. Установите POSTGRES_*, VAULT_ADDR, VAULT_TOKEN или настройки Vault Agent, а также MCP_ADMIN_AUTH_KEY. TARGET_SERVICE_BASE_URL по умолчанию равен https://api.fastly.com. Используйте MCP_TRANSPORT_MODE=stdio, http или both.
Запустите локальные зависимости с помощью docker compose up -d postgres vault, затем инициализируйте Vault в соответствии с vault-production/README.md. Запустите сервер с помощью npm start или используйте npm run start:http для HTTP. HTTP-конечная точка по умолчанию — http://127.0.0.1:3000/mcp и требует токен носителя.
Режим внешних служб
Используйте docker-compose.external.yml, когда Fastly MCP подключается к внешним службам Vault и Postgres. Установите POSTGRES_HOST, VAULT_ADDR и соответствующие учетные данные перед запуском службы Compose только для приложения.
Инвентаризация и тесты
npm run inventory:generate получает индекс справочника API Fastly или JSON-документ OpenAPI, предоставленный FASTLY_OPENAPI_URL, и записывает artifacts/fastly-openapi-endpoints.json. Артефакт фиксируется, и CI завершается ошибкой, если генерация его изменяет.
npm test запускает тесты клиента Fastly, авторизации MCP, инфраструктуры поддержки персистентности, HTTP и Vault. GitHub Actions запускает генерацию инвентаря перед заданием тестов.
Регистрация MCP-клиента
{
"mcpServers": {
"fastly-mcp": {
"command": "npm",
"args": ["run", "start:stdio"],
"cwd": "/Users/{user}/Documents/GitHub/fastly-mcp"
}
}
}Заметки по разработке
Fastly API использует TLS 1.2 или более позднюю версию и применяет отдельные лимиты на чтение, запись и очистку. Избегайте одновременных записей в одну и ту же службу. Никогда не регистрируйте и не фиксируйте значения fastlyToken. Этот проект выпущен под лицензией MIT; см. LICENSE.
Maintenance
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables interaction with Slack workspaces as a user, supporting channel listing, message posting, threading, reactions, and user management via the Slack API.811MIT
- FlicenseAqualityNot gradedmaintenanceEnables interaction with the Terros platform's User API to manage and retrieve user profiles. Users can fetch authenticated account details, list users with filters, and lookup specific user information by ID.6
- FlicenseNot gradedqualityDmaintenanceProvides tools to interact with the Attio API, enabling management of resources in an Attio workspace.5
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Vercel API to manage deployments, domains, projects, and environment variables.1,774MIT
Related MCP Connectors
Access the Notra API for managing posts, brand identities, integrations, and schedules.
Issue, rotate and revoke scoped API-key passes for 25+ providers — the agent never sees a real key
34 production API tools over one hosted MCP endpoint.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/LesterAJohn/fastly-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server