fastly-mcp
fastly-mcp
Ein Node.js Model Context Protocol Server für die Fastly REST API. Er unterstützt stdio- und Streamable-HTTP-Transports, mandantenbezogene Benutzer- oder Kontenidentitäten, persistente Postgres-Konfiguration und persistente Vault-Geheimnisse.
Garantien
Jede Fastly-Anfrage verwendet den benutzerbezogenen
Fastly-Keydes Aufrufers; es wird kein gemeinsames Fastly-Token im Prozess konfiguriert.Token-Material wird nur in Vault unter
fastly/tenants/<tenant>/{users|accounts}/<principal>/http/auth/token-index/fastlygeschrieben.Nicht-geheime Konfiguration verwendet die Postgres-Tabelle
fastly_config, die nach Mandant, Prinzipaltyp, Prinzipal-ID und Schlüssel indiziert ist.Mutationen erfordern
MCP_ADMIN_AUTH_KEYüber den Tool-ParameterauthorizationKey, wenn diese Umgebungsvariable gesetzt ist.service_api_requestunterstützt jede dokumentierte Fastly-Methode und jeden Pfad, einschließlich APIs, die nach dieser Serverversion hinzugefügt wurden.
Related MCP server: Terros MCP Server
Werkzeuge
service_query_suggestion ist eine schreibgeschützte Schemaerkennung. Verwenden Sie es, wenn die Absicht oder die korrekte Fastly-Route unklar ist; es gibt empfohlene Voraussetzungen, Sicherheitsprüfungen, Tool-Schemas und Beispiele zurück.
service_connection_info und service_scope_info sind schreibgeschützte Laufzeit- und Mandanten-/Konten-Erkennungswerkzeuge. Verwenden Sie sie vor einem operativen Workflow.
service_health_check ruft GET /tokens/self mit einem Benutzertoken auf. fastly_list_services ruft GET /service auf. fastly_list_versions ruft GET /service/:service_id/version auf.
service_api_request ist die Notluke für vollständige Abdeckung. Es akzeptiert method, path, optional query, body, headers und das erforderliche fastlyToken. GET/HEAD sind schreibgeschützt; POST/PUT/PATCH/DELETE sind Mutationen und erfordern authorizationKey, wenn konfiguriert.
fastly_purge_service ist mit hohem Risiko verbunden und ruft POST /service/:service_id/purge_all auf. Bestätigen Sie die Service-ID und verwenden Sie den Admin-Schlüssel. fastly_update_user_token ist mit hohem Risiko verbunden und speichert ein Ersatztoken in Vault; geben Sie genau eines von userId oder accountId sowie tenantId, fastlyToken und den Admin-Schlüssel an.
Alle Antworten enthalten JSON-Text in der Form { "ok": true, "status": 200, "data": {} }; Fehler setzen MCP isError und geben { "ok": false, "status": 4xx, "error": "..." } zurück. Geheimnisartige Felder werden standardmäßig geschwärzt.
Konfiguration
Kopieren Sie .env.example nach .env. Setzen Sie POSTGRES_*, VAULT_ADDR, VAULT_TOKEN oder Vault-Agent-Einstellungen und MCP_ADMIN_AUTH_KEY. TARGET_SERVICE_BASE_URL ist standardmäßig https://api.fastly.com. Verwenden Sie MCP_TRANSPORT_MODE=stdio, http oder both.
Führen Sie lokale Abhängigkeiten mit docker compose up -d postgres vault aus, initialisieren Sie dann Vault gemäß vault-production/README.md. Starten Sie den Server mit npm start oder verwenden Sie npm run start:http für HTTP. Der HTTP-Endpunkt ist standardmäßig http://127.0.0.1:3000/mcp und erfordert ein Bearer-Token.
Modus für externe Dienste
Verwenden Sie docker-compose.external.yml, wenn Fastly MCP eine Verbindung zu externen Vault- und Postgres-Diensten herstellt. Setzen Sie POSTGRES_HOST, VAULT_ADDR und die entsprechenden Anmeldeinformationen, bevor Sie den nur-App-Compose-Dienst starten.
Inventar und Tests
npm run inventory:generate ruft den API-Referenzindex von Fastly ab oder ein JSON-OpenAPI-Dokument, das von FASTLY_OPENAPI_URL bereitgestellt wird, und schreibt artifacts/fastly-openapi-endpoints.json. Das Artefakt wird committet und CI schlägt fehl, wenn die Generierung es ändert.
npm test führt die Fastly-Client-, MCP-Autorisierungs-, Persistenz-unterstützende Infrastruktur-, HTTP- und Vault-Tests aus. GitHub Actions führt die Inventargenerierung vor dem Test-Job aus.
MCP-Client-Registrierung
{
"mcpServers": {
"fastly-mcp": {
"command": "npm",
"args": ["run", "start:stdio"],
"cwd": "/Users/{user}/Documents/GitHub/fastly-mcp"
}
}
}Entwicklungshinweise
Die Fastly API verwendet TLS 1.2 oder höher und wendet separate Lese-, Schreib- und Purge-Limits an. Vermeiden Sie gleichzeitige Schreibvorgänge auf denselben Dienst. Protokollieren oder committen Sie niemals fastlyToken-Werte. Dieses Projekt ist unter der MIT-Lizenz veröffentlicht; siehe 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