Installation überspringen. In unter 2 Minuten einsatzbereit.
Starte eine kostenlose Testphase auf cloud.anythingmcp.com, füge Tailscale mit einem Klick hinzu und richte deinen KI-Client (Claude, ChatGPT, Copilot oder Cursor) auf den erzeugten MCP-Endpoint. Kein Docker, kein git clone, keinerlei Entwicklungserfahrung nötig.
Zusammenfassung
Verwaltung eines Tailscale-Tailnets über die API v2: Geräte mit Routen, Tags, Freigabe und Posture-Attributen, Nutzer und Rollen, Auth Keys, die Policy-Datei (lesen, validieren, Vorschau), DNS und MagicDNS, Tailnet-Einstellungen, Konfigurations-Audit-Logs und Network Flow Logs, Log-Streaming, Webhooks, Services und Posture-Integrationen. Anmeldung mit einem OAuth-Client, ohne Browser-Login.
Frag einfach
Beispiel-Prompts für Tailscale
Klick auf einen Prompt, um ihn zu kopieren. In Claude, ChatGPT, Cursor, Gemini, Copilot oder OpenClaw einfügen — und gegen diesen Connector laufen lassen.
Claude ist KI und kann Fehler machen. Bitte Antworten gegenprüfen.
💡 Keine Installation? Nutze cloud.anythingmcp.com direkt. Einloggen, Connectors → Tailscale klicken, Zugangsdaten einfügen, MCP-API-Key erzeugen, fertig. Kein Docker, kein
git clone, kein lokaler Server.
Tailscale + Cursor
Verwaltung eines Tailscale-Tailnets über die API v2: Geräte mit Routen, Tags, Freigabe und Posture-Attributen, Nutzer und Rollen, Auth Keys, die Policy-Datei (lesen, validieren, Vorschau), DNS und MagicDNS, Tailnet-Einstellungen, Konfigurations-Audit-Logs und Network Flow Logs, Log-Streaming, Webhooks, Services und Posture-Integrationen. Anmeldung mit einem OAuth-Client, ohne Browser-Login.
Voraussetzungen
Die vollständige Setup-Anleitung ist in den Connector eingebaut (im Store sichtbar, wenn du den Connector auswählst). Benötigte Umgebungsvariablen für diesen Connector:
TAILSCALE_OAUTH_CLIENT_ID, TAILSCALE_OAUTH_CLIENT_SECRET
Schritt 1 — Zugangsdaten holen
Die Einrichtung dauert etwa 5 Minuten und braucht einen Tailnet-Nutzer mit der Rolle Owner, Admin, Network admin oder IT admin. Der Connector meldet sich mit einem Tailscale-OAuth-Client an (OAuth2 Client Credentials): Es gibt keinen Browser-Login und kein Nutzerkonto dahinter.
- Öffne https://login.tailscale.com/admin/settings/trust-credentials (Settings, Trust credentials; ältere Konsolen: Settings, OAuth clients) und klicke auf Credential, dann OAuth.
- Wähle die Scopes. Nur zum Lesen reicht
all:read. Für die Schreib-Tools kommen die passenden Schreib-Scopes dazu:devices:core(braucht einen oder mehrere Tags, zum Beispieltag:server),devices:routes,users,auth_keys(braucht ebenfalls Tags),policy_file,dns,feature_settings,webhooks.allerlaubt alles. - Kopiere die Client ID (zum Beispiel
kAbCdEf1CNTRL) inTAILSCALE_OAUTH_CLIENT_IDund das Client secret (tskey-client-..., nur einmal angezeigt) inTAILSCALE_OAUTH_CLIENT_SECRET. Ein API Access Token (tskey-api-...) funktioniert hier nicht. - Installiere den Connector und führe
tailscale_list_devicesaus: Es listet die Geräte des Tailnets und bestätigt den Client.
Der Connector tauscht den Client unter https://api.tailscale.com/api/v2/oauth/token gegen ein Access Token mit einer Stunde Laufzeit und erneuert es selbst. Anders als API Access Tokens, die höchstens 90 Tage gelten, läuft ein OAuth-Client nicht ab. Jeder Aufruf geht an das Tailnet, dem der Client gehört (- im Pfad). Ein Schreibzugriff ohne passenden Scope antwortet mit 403.
Secrets in Antworten: Die KI sieht alles, was ein Tool zurückgibt. tailscale_create_auth_key liefert einen neuen Auth Key (tskey-auth-...) und tailscale_create_webhook ein Webhook-Signing-Secret, beide nur dieses eine Mal; beide landen in der Unterhaltung und beim KI-Anbieter. Die KI gibt sie nur der Person, die danach gefragt hat, nie an andere Tools, Dateien oder Nachrichten. tailscale_list_user_invites zeigt Einladungslinks, mit denen jeder beitreten kann, der sie hat. tailscale_list_keys und tailscale_get_key liefern nie Schlüsselwerte, und bei tailscale_list_webhooks, tailscale_get_webhook und tailscale_get_log_streaming_configuration sind Signing-Secrets, Tokens und Cloud-Zugangsdaten entfernt.
Geräte: tailscale_list_devices mit filter (zum Beispiel hostname=web-1, tags=tag:prod, authorized=false) und fields=all für Routen und Konnektivität; tailscale_get_device, tailscale_get_device_routes und tailscale_get_device_posture_attributes. Änderungen: tailscale_authorize_device (Gerätefreigabe erteilen oder zurücknehmen), tailscale_set_device_routes (Subnet-Routen und Exit Nodes freigeben), tailscale_set_device_tags, tailscale_set_device_name (der neue Name wird sofort zum MagicDNS-Namen) und tailscale_set_device_key_expiry (Key-Ablauf aus, eher für Server als für Laptops).
Nutzer: tailscale_list_users nach Rolle oder Typ, tailscale_get_user, tailscale_list_user_invites; tailscale_update_user_role, tailscale_approve_user sowie tailscale_suspend_user und tailscale_restore_user (eine Sperre wird durch Wiederherstellen aufgehoben).
Schlüssel: tailscale_list_keys (all=true nimmt Auth Keys und API Access Tokens dazu), tailscale_get_key und tailscale_create_auth_key, um Server, Container oder CI-Runner hinzuzufügen: wiederverwendbar oder einmalig, ephemer, vorautorisiert, höchstens 90 Tage gültig. Mit dem OAuth-Client dieses Connectors muss der Key Tags tragen, die des Clients oder Tags, die ihnen gehören.
Zugriffsregeln: tailscale_get_policy_file liest die Policy-Datei (grants und acls, groups, hosts, tagOwners, autoApprovers, ssh, nodeAttrs, postures, tests) mit ihrem etag. tailscale_preview_policy_rules zeigt, welche Regeln für einen Nutzer oder eine IP:Port greifen, und tailscale_validate_policy_file prüft einen Entwurf und führt seine Tests aus; beide ändern nichts.
DNS und Einstellungen: tailscale_get_dns_configuration zeigt Nameserver, Split DNS, Suchpfade und MagicDNS in einem Aufruf. Änderungen laufen über tailscale_set_dns_nameservers, tailscale_set_dns_preferences (MagicDNS an oder aus; an braucht einen globalen Nameserver), tailscale_set_dns_search_paths und tailscale_update_split_dns (nur die übergebenen Domains ändern sich). tailscale_get_tailnet_settings und tailscale_update_tailnet_settings decken Geräte- und Nutzerfreigabe, Key-Ablauf, Auto-Updates, Network Flow Logging, HTTPS-Zertifikate und mehr ab; tailscale_get_contacts zeigt die Konto-, Support- und Sicherheitskontakte.
Logs und Integrationen: tailscale_list_configuration_audit_logs (wer was geändert hat, 90 Tage aufbewahrt, gefiltert nach Akteur, Ziel oder Ereignis), tailscale_list_network_flow_logs (Verkehr zwischen Geräten, in den Tarifen Premium und Enterprise mit eingeschaltetem Flow Logging; die KI fragt nach Minuten, nicht Tagen, weil die Antworten schnell wachsen), tailscale_get_log_streaming_status und tailscale_get_log_streaming_configuration für das Streaming an ein SIEM, Webhooks (tailscale_list_webhooks, tailscale_get_webhook, tailscale_create_webhook), Tailscale Services (tailscale_list_services, tailscale_get_service, tailscale_list_service_hosts) und Posture-Integrationen (tailscale_list_posture_integrations).
Änderungen ersetzen Listen: Routen, Tags, Nameserver und Suchpfade werden als vollständige Liste gesendet. Die KI liest zuerst den aktuellen Wert und schickt die alten Einträge plus den neuen; eine weggelassene Route wird deaktiviert.
Bei der Installation deaktiviert: tailscale_expire_device_key, tailscale_delete_device, tailscale_delete_user und tailscale_delete_key, weil sie sich nicht rückgängig machen lassen, und tailscale_set_policy_file, weil es die ganze Zugriffsrichtlinie des Tailnets in einem Aufruf ersetzt und eine falsche Regel Nutzer und Geräte aussperrt. Ein Workspace-Admin schaltet sie bewusst ein, wenn das Team sie braucht.
Datenformate: Die nodeId eines Geräts (zum Beispiel nAbCdEf1CNTRL) ist die bevorzugte Geräte-ID; die numerische id geht auch. name ist der MagicDNS-Name (web-1.tailnet-name.ts.net), addresses sind die Tailscale-IPs (100.x.y.z und fd7a:115c:a1e0::/48). Zeiten sind RFC 3339 in UTC; lastSeen ist leer, solange ein Gerät verbunden ist (connectedToControl: true). Ein expires von 0001-01-01 heißt, der Key-Ablauf ist aus. Tags sehen aus wie tag:name.
Blättern: Listen kommen in einer Antwort, ohne Blättern. Die Log-Tools nehmen stattdessen eine start- und end-Zeit.
Häufige Fehler: 401 heißt, der OAuth-Client wurde gelöscht oder das Secret ist falsch. 403 heißt, dem Client fehlt der Scope oder die Tags für diesen Aufruf, oder der Tarif hat die Funktion nicht. 404 heißt, die ID gibt es in diesem Tailnet nicht. 400 kommt mit einer message bei ungültigen Eingaben, auch bei Policy-Dateien mit fehlschlagenden Tests. 412 heißt, die Richtlinie hat sich seit deinem etag geändert. 429 heißt Rate Limit: eine Minute warten und erneut versuchen.
Der Connector legt keine OAuth-Clients oder API Access Tokens an, kündigt keine Routen an und meldet keine Geräte an (das passiert auf dem Gerät), und mit den bei der Installation aktiven Tools löscht er keine Geräte, Nutzer oder Schlüssel und ersetzt die Policy-Datei nicht.
Schritt 2 — Adapter installieren
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Schritt 3 — Connector in Cursor hinzufügen
Deine Server-URL: Öffne in AnythingMCP MCP Servers → den Server, auf dem dieser Connector liegt, und kopiere seine URL (
https://cloud.anythingmcp.com/mcp/…). Setze sie überall ein, wo diese AnleitungYOUR_SERVER_IDzeigt.
Cursor liest MCP-Server aus ~/.cursor/mcp.json. Füge diesen Eintrag hinzu:
{
"mcpServers": {
"anythingmcp": {
"url": "https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- Erstelle in AnythingMCP unter MCP Servers → dein Server → API keys einen MCP-API-Key und setze ihn anstelle von
YOUR_MCP_API_KEYein. - Speichere die Datei und starte Cursor neu.
- Öffne Cursor → Settings → MCP und prüfe, ob
anythingmcpaufgeführt und verbunden ist. - Leg los: Der Agent kann jetzt die
Tailscale-Tools aufrufen.
Verfügbare Tools
| Tool | What it does |
|---|---|
tailscale_list_devices | List the devices (machines) of the tailnet: nodeId, numeric id, name (MagicDNS name), hostname, user, OS, client version, Tailscale IP… |
tailscale_get_device | One device with its details: name, hostname, user, OS, addresses, tags, authorized, key expiry, lastSeen, connectedToControl and, with… |
tailscale_get_device_routes | The subnet routes a device advertises (advertisedRoutes) and the ones that are approved for it (enabledRoutes) |
tailscale_set_device_routes | Replace the list of approved (enabled) subnet routes of a device |
tailscale_authorize_device | Approve a device that waits for device approval (authorized=true), or take the approval back (authorized=false), which cuts it off from the… |
tailscale_set_device_name | Rename a device: the new name becomes its MagicDNS name at once, so links and scripts that use the old name stop working |
tailscale_set_device_tags | Replace the tags of a device |
tailscale_set_device_key_expiry | Switch key expiry off (key_expiry_disabled=true) or back on for a device |
tailscale_expire_device_key | Expire the node key of a device now |
tailscale_delete_device | Remove a device from the tailnet |
tailscale_get_device_posture_attributes | The posture attributes of a device as key-value pairs: those Tailscale collects (node:os, node:tsVersion, ...), those from posture… |
tailscale_list_users | List the users of the tailnet: id, displayName, loginName (e-mail), role, status (active, idle, suspended, needs-approval… |
tailscale_get_user | One user: displayName, loginName, role, status, type, created, lastSeen, deviceCount |
tailscale_update_user_role | Change the role of a user |
tailscale_approve_user | Approve a user whose status is needs-approval (when user approval is on in the tailnet settings) |
tailscale_suspend_user | Suspend a user: their devices lose access to the tailnet until the user is restored with tailscale_restore_user |
tailscale_restore_user | Restore a suspended user, giving their devices access to the tailnet again |
tailscale_delete_user | Delete a user from the tailnet, together with their devices |
tailscale_list_user_invites | Open (not yet accepted) invitations to join the tailnet: id, e-mail, role, inviter and when the e-mail was last sent. inviteUrl lets… |
tailscale_list_keys | List the keys of the tailnet: auth keys, API access tokens, OAuth clients and federated identities, with id, keyType, description, created… |
tailscale_get_key | One key by id: keyType, description, created, expires, revoked, invalid, capabilities (reusable, ephemeral, preauthorized, tags for auth… |
tailscale_create_auth_key | Create an auth key to add devices to the tailnet |
tailscale_delete_key | Revoke a key by id: an auth key, an API access token or a trust credential |
tailscale_get_policy_file | The tailnet policy file (access rules) as JSON: grants and acls, groups, hosts, tagOwners, autoApprovers, ssh, nodeAttrs, postures and… |
tailscale_validate_policy_file | Check a policy file without saving it: Tailscale parses it and runs its tests (and sshTests) |
tailscale_preview_policy_rules | Which rules of a policy file would apply to one user or one IP:port, without saving it |
tailscale_set_policy_file | Replace the whole tailnet policy file |
tailscale_get_dns_configuration | The full DNS setup of the tailnet in one call: global nameservers, split DNS routes (domain to nameservers), search paths and preferences… |
tailscale_set_dns_nameservers | Replace the global DNS nameservers of the tailnet |
tailscale_set_dns_preferences | Switch MagicDNS on or off for the tailnet |
tailscale_set_dns_search_paths | Replace the DNS search domains of the tailnet |
tailscale_update_split_dns | Change split DNS for some domains: only the domains you pass are changed, the others stay |
tailscale_get_tailnet_settings | The tailnet settings: device approval, device auto-updates, key expiry in days, user approval, who may join external tailnets, network flow… |
tailscale_update_tailnet_settings | Change one or more tailnet settings; fields you leave out keep their value |
tailscale_get_contacts | The account, support and security contact e-mails of the tailnet, each with its fallback and whether it still needs verification |
tailscale_list_configuration_audit_logs | Configuration audit log: who changed what in the tailnet (devices, users, keys, policy file, DNS, settings) between start and end, in time… |
tailscale_list_network_flow_logs | Network flow logs between start and end: which devices talked to which addresses and ports, with packet and byte counts per sample period… |
tailscale_get_log_streaming_status | Whether streaming of a log type to a SIEM works: last activity, last error, bytes and entries sent, rate |
tailscale_get_log_streaming_configuration | Where a log type is streamed: destination type (splunk, elastic, datadog, s3, ...), URL, upload period, compression, S3 bucket and region |
tailscale_list_webhooks | The webhook endpoints of the tailnet: endpointId, URL, provider type, the events they receive and who created them |
tailscale_get_webhook | One webhook endpoint by id: URL, provider type, subscribed events, creator, created and lastModified |
tailscale_create_webhook | Create a webhook that sends tailnet events to a URL |
tailscale_list_services | Tailscale Services of the tailnet (virtual services hosted by one or more devices): name (svc:...), addresses, ports, tags and comment |
tailscale_get_service | One Tailscale Service by name: its addresses, ports, tags and comment |
tailscale_list_service_hosts | The devices that host a Tailscale Service, with whether each one is approved to serve it |
tailscale_list_posture_integrations | The device posture integrations of the tailnet (CrowdStrike Falcon, Intune, Jamf Pro, Kandji, Kolide, SentinelOne): provider, cloud id… |
Beispiel-Prompts
- „Welche Geräte wurden seit mehr als 30 Tagen nicht mehr gesehen? Zeig Name, Nutzer und zuletzt gesehen.“
- „Welche Subnet-Routen kündigt router-1 an, und welche davon sind noch nicht freigegeben?“
- „Erstelle einen wiederverwendbaren, vorautorisierten Auth Key mit dem Tag tag:ci, der in 7 Tagen abläuft.“
- „Wer hat in der letzten Woche die Policy-Datei oder die DNS-Einstellungen geändert?“
- „Welche Regeln unserer Policy-Datei gelten für [email protected]?“
FAQ
Unterstützt Cursor eigene MCP-Server im kostenlosen Tarif? Ja, MCP gibt es in den Tarifen Hobby, Pro und Business.
Nächste Schritte
- Connector-Startseite
- Mit Claude verbinden
- Mit ChatGPT verbinden
- Mit Gemini verbinden
- Mit Meta Muse verbinden
- Mit Microsoft Copilot verbinden
War dieser Guide hilfreich?