Guía de conector14 minutos de lectura46 herramientas MCP7 idiomas

Cómo conectar Tailscale a Microsoft Copilot vía MCP

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.

HCPor el equipo de HelpCodeActualizado 14 min de lectura Código abierto en GitHub

Sin tarjeta de crédito · 7 días de prueba · Alternativa self-host disponible

Tailscale

Tailscale

Tailscale tailnet administration through the API v2: devices with routes, tags, approval and posture attributes, users and roles, auth keys, the policy file (read, validate, preview, replace), DNS and MagicDNS, tailnet settings, configuration audit logs and network flow logs, log streaming, webhooks, Services and posture integrations. Signs in with an OAuth client.

herramientas

46

Región

INTL

Categoría

Infraestructura

Autenticación

OAuth 2.0

Env vars requeridas

TAILSCALE_OAUTH_CLIENT_IDTAILSCALE_OAUTH_CLIENT_SECRET
Instalar con un clic en Cloud

7 días de prueba gratis · Sin tarjeta de crédito

  • Prueba gratis de 7 días
    Sin tarjeta de crédito
  • RGPD y SOC 2 ready
    Datos en la UE, registros de auditoría
  • Código abierto en GitHub
    Open source · AGPL-3.0
  • Funciona con ChatGPT, Claude, Gemini
    Cualquier cliente compatible con MCP

Sáltate la instalación. Funcionando en menos de 2 minutos.

Inicia una prueba gratuita en cloud.anythingmcp.com, añade Tailscale con un clic y apunta tu cliente de IA (Claude, ChatGPT, Copilot o Cursor) al endpoint MCP generado. Sin Docker, sin git clone, sin experiencia de desarrollo.

Empezar prueba gratis

Resumen

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.

Prueba a pedir

Prompts de ejemplo para Tailscale

Haz clic en un prompt para copiarlo. Pégalo en Claude, ChatGPT, Cursor, Gemini, Copilot u OpenClaw para ejecutarlo contra este conector.

Tailscale · live vía MCP
Compartir
Opus 4.7

Claude es IA y puede equivocarse. Verifica siempre las respuestas.

💡 ¿Sin instalación? Usa cloud.anythingmcp.com directamente. Inicia sesión, pulsa Connectors → Tailscale, pega tus credenciales, genera una MCP API key y listo. Sin Docker, sin git clone, sin servidor local.

Tailscale + Microsoft Copilot

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.

Requisitos previos

Las instrucciones de configuración completas están incluidas en el conector (visibles en el store al seleccionarlo). Las variables de entorno requeridas:

TAILSCALE_OAUTH_CLIENT_ID, TAILSCALE_OAUTH_CLIENT_SECRET

Paso 1 — Obtener credenciales

La configuración lleva unos 5 minutos y necesita un usuario de la tailnet con el rol Owner, Admin, Network admin o IT admin. El conector accede con un cliente OAuth de Tailscale (OAuth2 client credentials): no hay inicio de sesión en el navegador ni una cuenta de usuario detrás.

  1. Abre https://login.tailscale.com/admin/settings/trust-credentials (Settings, Trust credentials; consolas antiguas: Settings, OAuth clients) y pulsa Credential y luego OAuth.
  2. Elige los scopes. Para solo lectura basta con all:read. Para las herramientas de escritura añade los scopes correspondientes: devices:core (necesita una o más etiquetas, por ejemplo tag:server), devices:routes, users, auth_keys (también necesita etiquetas), policy_file, dns, feature_settings, webhooks. all lo concede todo.
  3. Copia el Client ID (por ejemplo kAbCdEf1CNTRL) en TAILSCALE_OAUTH_CLIENT_ID y el Client secret (tskey-client-..., se muestra una sola vez) en TAILSCALE_OAUTH_CLIENT_SECRET. Un API access token (tskey-api-...) no sirve aquí.
  4. Instala el conector y ejecuta tailscale_list_devices: lista los dispositivos de la tailnet y confirma el cliente.

El conector cambia el cliente por un access token de una hora en https://api.tailscale.com/api/v2/oauth/token y lo renueva solo. A diferencia de los API access tokens, que duran como mucho 90 días, un cliente OAuth no caduca. Cada llamada va a la tailnet propietaria del cliente (- en la ruta). Una escritura para la que el cliente no tiene scope responde 403.

Secretos en las respuestas: la IA ve todo lo que devuelve una herramienta. tailscale_create_auth_key devuelve una auth key nueva (tskey-auth-...) y tailscale_create_webhook un signing secret del webhook, cada uno visible solo esta vez; ambos acaban en la conversación y en el proveedor de IA. La IA solo se los da a quien los pidió, nunca a otras herramientas, archivos o mensajes. tailscale_list_user_invites muestra enlaces de invitación con los que puede unirse cualquiera que los tenga. tailscale_list_keys y tailscale_get_key nunca devuelven los valores de las claves, y en tailscale_list_webhooks, tailscale_get_webhook y tailscale_get_log_streaming_configuration se eliminan signing secrets, tokens y credenciales de nube.

Dispositivos: tailscale_list_devices con filter (por ejemplo hostname=web-1, tags=tag:prod, authorized=false) y fields=all para rutas y conectividad; tailscale_get_device, tailscale_get_device_routes y tailscale_get_device_posture_attributes. Cambios: tailscale_authorize_device (aprobar un dispositivo o retirar la aprobación), tailscale_set_device_routes (aprobar subnet routes y exit nodes), tailscale_set_device_tags, tailscale_set_device_name (el nombre nuevo pasa a ser al instante el nombre MagicDNS) y tailscale_set_device_key_expiry (caducidad de la clave desactivada, para servidores más que para portátiles).

Usuarios: tailscale_list_users por rol o tipo, tailscale_get_user, tailscale_list_user_invites; tailscale_update_user_role, tailscale_approve_user, y tailscale_suspend_user y tailscale_restore_user (una suspensión se deshace restaurando).

Claves: tailscale_list_keys (all=true añade auth keys y API access tokens), tailscale_get_key y tailscale_create_auth_key para añadir servidores, contenedores o runners de CI: reutilizable o de un solo uso, efímera, preautorizada, válida como mucho 90 días. Con el cliente OAuth de este conector la clave debe llevar etiquetas, las del cliente o etiquetas que les pertenezcan.

Reglas de acceso: tailscale_get_policy_file lee el policy file (grants y acls, groups, hosts, tagOwners, autoApprovers, ssh, nodeAttrs, postures, tests) con su etag. tailscale_preview_policy_rules muestra qué reglas afectan a un usuario o a una IP:puerto, y tailscale_validate_policy_file comprueba un borrador y ejecuta sus tests; ninguna de las dos cambia nada.

DNS y ajustes: tailscale_get_dns_configuration muestra nameservers, split DNS, dominios de búsqueda y MagicDNS en una llamada. Los cambios pasan por tailscale_set_dns_nameservers, tailscale_set_dns_preferences (MagicDNS activado o no; activarlo requiere un nameserver global), tailscale_set_dns_search_paths y tailscale_update_split_dns (solo cambian los dominios indicados). tailscale_get_tailnet_settings y tailscale_update_tailnet_settings cubren la aprobación de dispositivos y usuarios, la caducidad de claves, las actualizaciones automáticas, el network flow logging, los certificados HTTPS y más; tailscale_get_contacts muestra los contactos de cuenta, soporte y seguridad.

Logs e integraciones: tailscale_list_configuration_audit_logs (quién cambió qué, se guarda 90 días, filtrable por autor, objetivo o evento), tailscale_list_network_flow_logs (tráfico entre dispositivos, en los planes Premium y Enterprise con flow logging activado; la IA pide minutos, no días, porque las respuestas crecen rápido), tailscale_get_log_streaming_status y tailscale_get_log_streaming_configuration para el streaming a un SIEM, webhooks (tailscale_list_webhooks, tailscale_get_webhook, tailscale_create_webhook), Tailscale Services (tailscale_list_services, tailscale_get_service, tailscale_list_service_hosts) e integraciones de posture (tailscale_list_posture_integrations).

Los cambios sustituyen listas: rutas, etiquetas, nameservers y dominios de búsqueda se envían como lista completa. La IA lee primero el valor actual y envía las entradas existentes más la nueva; una ruta que se omite queda desactivada.

Desactivadas al instalar: tailscale_expire_device_key, tailscale_delete_device, tailscale_delete_user y tailscale_delete_key, porque no se pueden deshacer, y tailscale_set_policy_file, porque sustituye en una sola llamada toda la política de acceso de la tailnet y una regla equivocada deja fuera a usuarios y dispositivos. Un administrador del espacio de trabajo las activa a conciencia cuando el equipo las necesita.

Formatos de datos: el nodeId de un dispositivo (por ejemplo nAbCdEf1CNTRL) es el id preferido; el id numérico también sirve. name es el nombre MagicDNS (web-1.tailnet-name.ts.net), addresses son las IP de Tailscale (100.x.y.z y fd7a:115c:a1e0::/48). Las horas son RFC 3339 en UTC; lastSeen está vacío mientras un dispositivo está conectado (connectedToControl: true). Un expires de 0001-01-01 significa que la caducidad de la clave está desactivada. Las etiquetas tienen la forma tag:name.

Paginación: las listas llegan en una respuesta, sin paginación. Las herramientas de logs aceptan en su lugar una hora start y end.

Errores comunes: 401 significa que el cliente OAuth se borró o que el secreto es incorrecto. 403 significa que al cliente le falta el scope o las etiquetas para esta llamada, o que el plan no incluye la función. 404 significa que el id no existe en esta tailnet. 400 llega con un message para entradas no válidas, incluidos policy files cuyos tests fallan. 412 significa que la política cambió desde tu etag. 429 significa límite de peticiones: espera un minuto y reintenta.

El conector no crea clientes OAuth ni API access tokens, no anuncia rutas ni registra dispositivos (eso ocurre en el dispositivo), y con las herramientas activas al instalar no borra dispositivos, usuarios ni claves ni sustituye el policy file.

Paso 2 — Instalar el adapter

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

Paso 3 — Añadir el conector en Microsoft Copilot

La URL de tu servidor: en AnythingMCP abre MCP Servers → el servidor donde está este conector y copia su URL (https://cloud.anythingmcp.com/mcp/…). Úsala donde esta guía muestra YOUR_SERVER_ID.

Microsoft Copilot usa servidores MCP a través de agentes creados en Copilot Studio: añades AnythingMCP a un agente como herramienta y luego publicas el agente en Microsoft 365 Copilot y Teams. Copilot Studio se conecta desde la nube de Microsoft por Streamable HTTP, que AnythingMCP admite.

  1. En Copilot Studio, abre tu agente (o crea uno), ve a Tools y elige Add a tool → New tool → Model Context Protocol.
  2. Escribe un Server name (por ejemplo AnythingMCP), una Server description que diga qué hace el conector y la Server URL https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio usa la descripción para decidir cuándo llamar al servidor.
  3. En la autenticación, elige API key, pon Type en Header y X-API-Key como nombre de la cabecera, y selecciona Create.
  4. En Add tool, elige Create a new connection, pega una clave de API MCP de AnythingMCP (MCP Servers → tu servidor → API keys) y selecciona Add to agent.
  5. Pruébalo en el panel Test del agente: pide algo que necesite las herramientas de Tailscale.
  6. Selecciona Publish y luego Channels → Microsoft 365 and Microsoft Teams, deja marcada Make agent available in Microsoft Copilot y elige Add channel. See agent in Teams lo instala para ti; en Microsoft 365 Copilot, escribe @ y elige el agente.

¿Prefieres que cada persona inicie sesión? En lugar de la clave de API elige OAuth 2.0 → Dynamic discovery: cada usuario inicia sesión en AnythingMCP la primera vez que el agente lo llama.

¿Lo alojas tú mismo? Usa la dirección HTTPS pública de tu instancia en lugar de https://cloud.anythingmcp.com. Copilot Studio se conecta desde la nube de Microsoft, así que localhost no funciona.

Herramientas disponibles

ToolWhat it does
tailscale_list_devicesList the devices (machines) of the tailnet: nodeId, numeric id, name (MagicDNS name), hostname, user, OS, client version, Tailscale IP…
tailscale_get_deviceOne device with its details: name, hostname, user, OS, addresses, tags, authorized, key expiry, lastSeen, connectedToControl and, with…
tailscale_get_device_routesThe subnet routes a device advertises (advertisedRoutes) and the ones that are approved for it (enabledRoutes)
tailscale_set_device_routesReplace the list of approved (enabled) subnet routes of a device
tailscale_authorize_deviceApprove 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_nameRename 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_tagsReplace the tags of a device
tailscale_set_device_key_expirySwitch key expiry off (key_expiry_disabled=true) or back on for a device
tailscale_expire_device_keyExpire the node key of a device now
tailscale_delete_deviceRemove a device from the tailnet
tailscale_get_device_posture_attributesThe posture attributes of a device as key-value pairs: those Tailscale collects (node:os, node:tsVersion, ...), those from posture…
tailscale_list_usersList the users of the tailnet: id, displayName, loginName (e-mail), role, status (active, idle, suspended, needs-approval…
tailscale_get_userOne user: displayName, loginName, role, status, type, created, lastSeen, deviceCount
tailscale_update_user_roleChange the role of a user
tailscale_approve_userApprove a user whose status is needs-approval (when user approval is on in the tailnet settings)
tailscale_suspend_userSuspend a user: their devices lose access to the tailnet until the user is restored with tailscale_restore_user
tailscale_restore_userRestore a suspended user, giving their devices access to the tailnet again
tailscale_delete_userDelete a user from the tailnet, together with their devices
tailscale_list_user_invitesOpen (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_keysList the keys of the tailnet: auth keys, API access tokens, OAuth clients and federated identities, with id, keyType, description, created…
tailscale_get_keyOne key by id: keyType, description, created, expires, revoked, invalid, capabilities (reusable, ephemeral, preauthorized, tags for auth…
tailscale_create_auth_keyCreate an auth key to add devices to the tailnet
tailscale_delete_keyRevoke a key by id: an auth key, an API access token or a trust credential
tailscale_get_policy_fileThe tailnet policy file (access rules) as JSON: grants and acls, groups, hosts, tagOwners, autoApprovers, ssh, nodeAttrs, postures and…
tailscale_validate_policy_fileCheck a policy file without saving it: Tailscale parses it and runs its tests (and sshTests)
tailscale_preview_policy_rulesWhich rules of a policy file would apply to one user or one IP:port, without saving it
tailscale_set_policy_fileReplace the whole tailnet policy file
tailscale_get_dns_configurationThe full DNS setup of the tailnet in one call: global nameservers, split DNS routes (domain to nameservers), search paths and preferences…
tailscale_set_dns_nameserversReplace the global DNS nameservers of the tailnet
tailscale_set_dns_preferencesSwitch MagicDNS on or off for the tailnet
tailscale_set_dns_search_pathsReplace the DNS search domains of the tailnet
tailscale_update_split_dnsChange split DNS for some domains: only the domains you pass are changed, the others stay
tailscale_get_tailnet_settingsThe tailnet settings: device approval, device auto-updates, key expiry in days, user approval, who may join external tailnets, network flow…
tailscale_update_tailnet_settingsChange one or more tailnet settings; fields you leave out keep their value
tailscale_get_contactsThe account, support and security contact e-mails of the tailnet, each with its fallback and whether it still needs verification
tailscale_list_configuration_audit_logsConfiguration 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_logsNetwork 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_statusWhether streaming of a log type to a SIEM works: last activity, last error, bytes and entries sent, rate
tailscale_get_log_streaming_configurationWhere a log type is streamed: destination type (splunk, elastic, datadog, s3, ...), URL, upload period, compression, S3 bucket and region
tailscale_list_webhooksThe webhook endpoints of the tailnet: endpointId, URL, provider type, the events they receive and who created them
tailscale_get_webhookOne webhook endpoint by id: URL, provider type, subscribed events, creator, created and lastModified
tailscale_create_webhookCreate a webhook that sends tailnet events to a URL
tailscale_list_servicesTailscale Services of the tailnet (virtual services hosted by one or more devices): name (svc:...), addresses, ports, tags and comment
tailscale_get_serviceOne Tailscale Service by name: its addresses, ports, tags and comment
tailscale_list_service_hostsThe devices that host a Tailscale Service, with whether each one is approved to serve it
tailscale_list_posture_integrationsThe device posture integrations of the tailnet (CrowdStrike Falcon, Intune, Jamf Pro, Kandji, Kolide, SentinelOne): provider, cloud id…

Ejemplos de prompts

  • "¿Qué dispositivos llevan más de 30 días sin verse? Muestra nombre, usuario y última conexión."
  • "¿Qué subnet routes anuncia router-1, y cuáles aún no están aprobadas?"
  • "Crea una auth key reutilizable y preautorizada con la etiqueta tag:ci que caduque en 7 días."
  • "¿Quién cambió el policy file o los ajustes de DNS durante la última semana?"
  • "¿Qué reglas de nuestro policy file se aplican a [email protected]?"

FAQ

¿Para qué Copilot es? Para Microsoft 365 Copilot en el trabajo, mediante agentes de Copilot Studio. La app de Microsoft Copilot para cuentas personales no permite añadir tu propio servidor MCP.

¿Qué necesito? Una cuenta de trabajo con acceso a Copilot Studio (licencia o prueba) para crear el agente. Quien lo use en Microsoft 365 Copilot o Teams necesita acceso al agente: compártelo o pide a un administrador que lo publique para la organización. Si tu organización aplica directivas de datos a los conectores de Power Platform, también cubren los servidores MCP.

El agente no llama a las herramientas. Comprueba que el nombre de la cabecera sea exactamente X-API-Key y que la clave pertenezca al mismo servidor MCP que la URL, y escribe una Server description concreta: Copilot Studio la usa para decidir cuándo llamar al servidor. Vuelve a publicar el agente después de cada cambio; en un chat abierto, escribe "start over" para usar la nueva versión.

Siguientes pasos

¿Te ha sido útil esta guía?

Tu agente de Tailscale está a un clic.

Instala el conector, pega la clave y pregunta a Microsoft Copilot. 7 días gratis, sin tarjeta de crédito.

Guías relacionadas

Conectores

Cómo conectar Tailscale a ChatGPT vía MCP

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.

Conectores

Cómo conectar Tailscale a Claude vía MCP

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.

Conectores

Cómo conectar Tailscale a Cursor vía MCP

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.

Conectores

Cómo conectar Tailscale a Gemini vía MCP

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.

Conectores

Cómo conectar Tailscale a Meta Muse vía MCP

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.

Conectores

Tailscale a MCP: dispositivos, usuarios, auth keys, política de acceso, DNS y registros de auditoría en cualquier agente de IA

Administración de una tailnet de Tailscale mediante la API v2: dispositivos con rutas, etiquetas, aprobación y atributos de posture, usuarios y roles, auth keys, el policy file (leer, validar, previsualizar), DNS y MagicDNS, ajustes de la tailnet, registros de auditoría de configuración y network flow logs, streaming de logs, webhooks, Services e integraciones de posture. Accede con un cliente OAuth, sin inicio de sesión en el navegador.