Ir al contenido principal

Cómo Crear una Service Account en Google Cloud para MCPs con Claude: Tutorial Completo 2026

30 de abril de 2026
14 min

Guía completa para crear una service account en Google Cloud y usarla con Claude vía MCP. Proyecto, APIs, claves JSON y permisos de lectura paso a paso.

Javier Santos

Especialista en IA & Machine Learning

📧¿Te gusta este contenido?

Únete a 547+ profesionales que reciben tips de IA cada semana. Sin spam, cancela cuando quieras.

Cómo Crear una Service Account en Google Cloud para MCPs con Claude: Tutorial Completo [2026]

¿Quieres formar a tu equipo en MCPs y Claude Code? Formación in-company con casos prácticos sobre todo el ecosistema Google.

TL;DR

  • Una service account es la identidad "robot" de Google Cloud que tu agente de IA (Claude) usa para autenticarse contra Analytics, Ads, Search Console, Gmail, Drive o cualquier API de Google
  • Se crea una vez y se reutiliza para múltiples productos: el mismo email funciona en GA4, Search Console, Sheets y Drive a la vez
  • Tiempo total: 10 minutos para la SA básica + 2-3 minutos por cada herramienta de Google donde le des permisos
  • Coste: 0 EUR (la creación de SAs y la habilitación de APIs de productividad son gratuitas)
  • Permisos recomendados: solo lectura por defecto. Da escritura solo si necesitas que Claude modifique recursos
  • Buena práctica agencia: una SA por cliente para evitar que la IA cruce datos en los reportes
  • Lo que sigue: este post es la base reutilizable para los tutoriales de Google Analytics + Claude y Google Ads + Claude


"Las service accounts son la pieza menos glamurosa pero más infravalorada del stack de IA empresarial. Bien configuradas, son la diferencia entre un MCP que funciona y uno que filtra credenciales." — Javier Santos Criado, consultor de IA en Javadex

"En 2026, el 67% de los incidentes de seguridad en stacks con IA agentica vienen por service accounts mal configuradas o con permisos excesivos." — Google Cloud Security Report (Q1 2026)


Qué es una Service Account

Una service account es una cuenta de Google que pertenece a una aplicación o servicio en lugar de a una persona. Tiene un email único (formato nombre@proyecto.iam.gserviceaccount.com), no inicia sesión nunca con contraseña, y se autentica mediante claves criptográficas (archivos JSON).

DiferenciaCuenta de usuarioService account
Quién la usaUna persona físicaUna aplicación o agente
LoginUsuario + contraseña + 2FAClave JSON (privada)
Emailtu@gmail.comnombre@proyecto.iam.gserviceaccount.com
PermisosSobre todo GoogleSolo donde se la invita explícitamente
Ideal para MCP❌ Riesgo si se filtran credenciales✅ Aislamiento y mínimos privilegios

Cuando configuras un MCP de Google Analytics, Ads, Search Console o Drive con Claude Code, siempre va a haber una service account de por medio. Aprende a crearla bien una vez y la reutilizarás para todo.


Por Qué No Usar tu Cuenta de Usuario Directamente

Tres razones de seguridad y operativa:

  1. Aislamiento: si filtras credenciales, perdes acceso solo a recursos donde la SA es usuario, no a toda tu identidad Google
  2. Permisos granulares: puedes dar a la SA acceso de lectura a una sola propiedad GA4 sin tocar ni Gmail ni Drive
  3. Auditoría: en los logs de Google Cloud distingues acciones humanas de acciones automatizadas

Además, la mayoría de MCP servers están diseñados para trabajar con SA: pedirles que usen tu cuenta personal con OAuth interactivo es más complicado y menos estable.


Requisitos Previos

RequisitoCosteTiempo
Cuenta de Google (Gmail personal o Workspace)GratisYa la tienes
Acceso al producto donde quieres dar permisos (GA4, Ads, Search Console, etc.)VariableVariable
Permisos de admin sobre el recurso a conectar
Caso empresarial: si tu cuenta es Workspace y tu organización aplica políticas estrictas, puede que necesites pedir a tu equipo de IT que cree el proyecto y la service account. Es una operación rutinaria.


Paso 1: Crear el Proyecto en Google Cloud

El proyecto es el contenedor donde viven la service account, las APIs habilitadas y las claves. Un proyecto puede tener varias SAs y dar acceso a varios productos.

  1. Entra en console.cloud.google.com
  2. Acepta los términos de servicio si es tu primera vez
  3. En la barra superior, pulsa el selector de proyecto → Proyecto nuevo
  4. Nombre del proyecto: usa algo descriptivo como mcp-google-2026 o mcp-cliente-acme-2026
  5. Organización: déjalo "Sin organización" si es Gmail personal
  6. Ubicación: si tienes Workspace, selecciona tu organización
  7. Pulsa Crear y espera ~30 segundos

Tip: pon nombres claros. Cuando tengas 5 proyectos, agradecerás haber escrito mcp-cliente-acme en lugar de proyecto-test-2.

Estructura recomendada

EstructuraCuándo usarlaVentaja
1 proyecto, 1 SA, varios productosUso personal o agencia pequeñaSimple, todo centralizado
1 proyecto por clienteAgencia con varios clientesAislamiento y facturación clara
1 proyecto por productoEmpresa con stacks separadosPermisos granulares por equipo

Paso 2: Habilitar las APIs que Necesites

Cada producto de Google requiere su API habilitada en el proyecto. Es gratis y se hace en segundos.

  1. Menú lateral → APIs y servicios → Biblioteca
  2. Busca el nombre de la API
  3. Pulsa el resultado → Habilitar
  4. Repite para cada API que necesites

Tabla de APIs por producto

Producto GoogleAPI(s) a habilitar
Google Analytics 4Google Analytics Data API + Google Analytics Admin API
Google AdsGoogle Ads API
Google Search ConsoleGoogle Search Console API
Google SheetsGoogle Sheets API + Google Drive API
Google DriveGoogle Drive API
GmailGmail API (requiere Workspace + domain-wide delegation)
Google CalendarGoogle Calendar API
YouTube DataYouTube Data API v3
Cloud Storage (buckets)Cloud Storage API
BigQueryBigQuery API
Atención: habilitar una API no expone tus datos. Solo permite que las SAs del proyecto puedan llamar esa API. Los permisos de acceso a datos los das en el producto destino (paso 5).


Paso 3: Crear la Service Account

  1. Menú lateral → IAM y administración → Cuentas de servicio
  2. Pulsa Crear cuenta de servicio
  3. Nombre: descriptivo como mcp-claude-readonly o mcp-cliente-acme-ga4
  4. ID (se autocompleta): mcp-claude-readonly
  5. Descripción: Acceso de lectura para MCPs con Claude Code
  6. Pulsa Crear y continuar
  7. Roles del proyecto: déjalo vacío. Daremos permisos directamente en cada producto (mínimos privilegios)
  8. Pulsa Continuar y luego Listo

Te queda una SA con email único. Cópialo:

code
1mcp-claude-readonly@mcp-google-2026.iam.gserviceaccount.com

Nomenclatura recomendada

PatrónEjemploCuándo usar
mcp-claude-readonlyPara todo en lecturaSetup personal simple
mcp-{cliente}-{producto}mcp-acme-ga4Agencia, granularidad por producto
mcp-{cliente}-readonlymcp-acme-readonlyAgencia, una SA por cliente todo en lectura
mcp-{producto}-rwmcp-sheets-rwCuando das escritura, deja claro en el nombre

Paso 4: Descargar la Clave JSON

La clave JSON es la "llave privada" que demuestra a Google que el proceso (Claude) que se autentica es realmente esta service account. Trátala como una contraseña.

  1. En la lista de cuentas de servicio, pulsa la que acabas de crear
  2. Pestaña Claves
  3. Agregar clave → Crear clave nueva
  4. Tipo: JSON
  5. Pulsa Crear — se descarga automáticamente

El archivo tendrá un nombre como mcp-google-2026-a1b2c3d4e5f6.json.

Buenas prácticas con la clave JSON

  • Renómbrala: gsa-mcp-readonly.json (más fácil de identificar)
  • Guárdala fuera de Descargas: muévela a ~/.config/gcp/ o ~/keys/
  • Permisos restrictivos: en macOS/Linux: chmod 600 ~/.config/gcp/gsa-mcp-readonly.json
  • Nunca la subas a Git: añade el patrón *.json a tu .gitignore global o ten una carpeta keys/ siempre fuera del repo
  • No la pegues en chats ni la mandes por email
  • Si se filtra: vuelve a Google Cloud Console → cuenta de servicio → Claves → eliminar la comprometida (revoca el acceso en segundos)


Paso 5: Dar Permisos en el Producto Destino

Aquí es donde la SA pasa de existir a poder hacer cosas. Cada producto tiene su propia interfaz para añadir usuarios externos.

Google Analytics 4

  1. analytics.google.com → propiedad → Administrar
  2. Gestión de accesos a la propiedad+Añadir usuarios
  3. Email: el de la SA. Rol: Lector

Tutorial completo de GA4 + Claude vía MCP →

  1. ads.google.com → MCC → Configuración → Centro de API
  2. Vincula el cliente OAuth y obtén un refresh token (más complejo que GA4)

Tutorial completo de Google Ads + Claude vía MCP →

Google Search Console

  1. search.google.com/search-console
  2. Selecciona la propiedad → Configuración → Usuarios y permisos
  3. Añadir usuario → email de la SA → permisos: Restringido (lectura)

Google Sheets / Drive

  1. Abre la hoja o carpeta en Drive
  2. Botón Compartir
  3. Email de la SA → permiso: Lector (o Editor si necesita escritura)
  4. Desmarca "Notificar a personas" (no recibirá email, es una SA)

Gmail

Gmail requiere domain-wide delegation y solo se puede configurar con Google Workspace. No es viable con cuenta personal de Gmail. Documentación: Google Workspace — Domain-Wide Delegation.


Paso 6: Configurar el MCP en Claude

Una vez creada la SA y dados los permisos, conecta el MCP en Claude:

code
1Instala el MCP de [producto Google] desde [URL del repositorio oficial]
2y configúralo con la cuenta de servicio del archivo
3~/.config/gcp/gsa-mcp-readonly.json

Claude:

  1. Lee el README del MCP
  2. Detecta el método de instalación correcto
  3. Genera/actualiza ~/.claude/mcp.json apuntando al JSON de la SA
  4. Configura la variable de entorno GOOGLE_APPLICATION_CREDENTIALS

Ejemplo de mcp.json final con varios MCPs Google compartiendo la misma SA:

json
1{
2 "mcpServers": {
3 "google-analytics": {
4 "command": "uvx",
5 "args": ["google-analytics-mcp"],
6 "env": {
7 "GOOGLE_APPLICATION_CREDENTIALS": "/Users/tunombre/.config/gcp/gsa-mcp-readonly.json"
8 }
9 },
10 "google-search-console": {
11 "command": "uvx",
12 "args": ["search-console-mcp"],
13 "env": {
14 "GOOGLE_APPLICATION_CREDENTIALS": "/Users/tunombre/.config/gcp/gsa-mcp-readonly.json"
15 }
16 }
17 }
18}

Cierra Claude Desktop y vuelve a abrirlo. Verifica con:

code
1¿Qué MCPs tienes activos? Lista las herramientas disponibles de cada uno.


Paso 7: Verificar y Probar

Antes de fiarte de un MCP en producción, verifica que solo accede a lo que esperas.

Pruebas mínimas:

  1. Lectura: pide un dato simple (muéstrame las 5 páginas más vistas en GA4 últimos 7 días)
  2. Escritura intencional: pide algo que NO debería poder hacer si está en lectura. Debe responder con error de permisos
  3. Aislamiento: confirma que no ve recursos donde no le diste acceso explícito

Si todo cuadra, ya está operativo. Si algo falla, revisa los errores comunes abajo.


Buenas Prácticas de Seguridad

1. Principio de mínimos privilegios

No le des roles globales a la SA en Google Cloud (Editor, Owner). Da permisos solo a los recursos exactos que necesita en cada producto.

2. Una SA por entorno

EntornoSA recomendada
Personal/devmcp-claude-personal
Cliente Amcp-cliente-a-readonly
Producción equipomcp-prod-readonly (en proyecto separado)

3. Rota las claves periódicamente

Cada 90 días: ve a la SA → Claves → genera una nueva → actualiza el mcp.json → elimina la antigua. Reduce el blast radius si una clave se filtró sin que te enteres.

4. Audita los accesos

Google Cloud Console → IAM y administración → Auditoría muestra qué SA accedió a qué recurso y cuándo. Revísalo mensualmente.

5. Activa Workload Identity Federation (avanzado)

Si despliegas el MCP server en infra (no en tu portátil), evita pasar archivos JSON. Configura Workload Identity Federation: la app se autentica desde el cluster sin claves estáticas.


Errores Comunes

Error 1: política de organización bloquea la creación de claves

Problema: Constraint constraints/iam.disableServiceAccountKeyCreation enforced. Solución: tu admin de Workspace bloqueó la creación de claves JSON por seguridad. Pídele excepción para tu proyecto o que cree la SA por ti.

Error 2: la SA no aparece al añadirla al producto

Problema: Analytics/Drive te dicen usuario no encontrado. Solución: la propagación tarda 1-2 minutos tras crear la SA. Espera y reintenta. Si sigue sin aparecer, revisa que copiaste el email completo (incluido .iam.gserviceaccount.com).

Error 3: 403 al consultar datos pese a tener la SA configurada

Problema: Claude conecta el MCP pero las llamadas devuelven PERMISSION_DENIED. Solución: la API correcta no está habilitada en el proyecto. Vuelve a APIs y servicios → APIs habilitadas y verifica.

Error 4: archivo JSON con saltos de línea raros

Problema: el MCP server falla al parsear el JSON. Solución: descarga el JSON limpio desde Google Cloud (no lo edites a mano). Si lo abriste con un editor que cambió saltos de línea (CRLF/LF), regenera la clave.

Error 5: cuota de claves por SA excedida

Problema: Maximum number of keys exceeded. Solución: cada SA admite hasta 10 claves. Borra las que ya no uses (Google Cloud → SA → Claves → eliminar).

Error 6: ruta del JSON con espacios

Problema: el MCP no encuentra el archivo si la ruta tiene espacios. Solución: muévelo a una ruta sin espacios (~/keys/gsa.json) o entrecomilla la ruta en el mcp.json.


Preguntas Frecuentes

¿Cuánto cuesta crear una service account?

Es gratis. Las SAs en sí no cobran. Las APIs de productividad (Analytics, Search Console, Sheets, Drive, Gmail) tienen cuotas gratuitas generosas. Solo APIs de cómputo (Compute Engine, Cloud Run, Vertex AI) requieren cuenta de facturación activa.

¿Necesito cuenta de facturación en Google Cloud para crear la SA?

No, para SAs y APIs de Workspace/Analytics/Ads/Search Console no. Solo si vas a usar APIs como Vertex AI, Cloud Run o BigQuery con datos extensos.

¿Puedo usar la misma service account para varios productos?

Sí, y es lo recomendado para uso personal. Una SA puede tener acceso a GA4, Search Console, Sheets y Drive a la vez. En agencias, separa una SA por cliente para evitar mezclas.

¿Cuántas service accounts puedo crear?

Hasta 100 por proyecto y miles de proyectos por organización. Para 99% de los casos, sobra.

¿La service account aparece en mi Google Workspace como usuario?

No. Las SAs son entidades de Cloud, no usuarios de Workspace. No consumen licencias. No aparecen en el directorio. Solo se ven cuando las invitas explícitamente a un recurso.

¿Puedo usar la misma SA en producción y desarrollo?

Técnicamente sí, pero no es buena práctica. Crea SAs separadas por entorno: mcp-dev-readonly, mcp-prod-readonly. Si filtras la de dev, no compromete producción.

¿Cómo revoco el acceso de una SA si sospecho que la clave se filtró?

Dos opciones:

  1. Eliminar la clave (Google Cloud → SA → Claves → eliminar): la SA sigue existiendo pero esa clave deja de funcionar
  2. Eliminar la SA entera: revoca todos los accesos en todos los productos

La opción 1 es lo habitual: generas nueva clave y borras la vieja.

¿Puedo automatizar la creación de SAs con Terraform o gcloud CLI?

Sí. El comando gcloud iam service-accounts create y el recurso google_service_account de Terraform funcionan perfectamente. Útil si gestionas decenas de SAs en una agencia o empresa.


¿Merece la Pena el Esfuerzo?

Si vas a conectar más de un producto de Google con MCPs, la SA es obligatoria de facto. No hay alternativa viable. Y si solo conectas uno, sigue siendo más seguro y mantenible que OAuth interactivo. ROI: tiempo de configuración 10 min, tiempo ahorrado por sesión de trabajo con Claude 1-3 horas según el caso.


Plan de Acción

CuándoAcciónResultado
AhoraCrea proyecto Google Cloud mcp-google-2026Proyecto listo
En 5 minCrea SA mcp-claude-readonly y descarga JSONIdentidad reutilizable
En 10 minHabilita APIs (GA4, Search Console, Sheets)APIs activas
En 15 minDa permisos de lectura en cada productoAccesos granulares listos
En 25 minPide a Claude que instale los MCPsStack completo activo
Mes 1Rota la clave JSONBuenas prácticas de seguridad

Recursos para Seguir Aprendiendo

Documentación oficial

Posts complementarios


Fuentes


Posts Relacionados


Actualización abril 2026: Google sigue empujando Workload Identity Federation como alternativa a las claves JSON estáticas. Si despliegas MCP servers en GKE, Cloud Run o GitHub Actions, valora migrar.


En Resumen

  • Service account = identidad robot de Google Cloud que la IA usa para autenticarse contra cualquier API de Google
  • Una sola SA puede tener acceso a múltiples productos (GA4, Ads, Search Console, Sheets, Drive)
  • Coste: 0 EUR. Tiempo de creación: 10 minutos
  • Permisos por defecto: solo lectura. Da escritura solo si Claude debe modificar recursos
  • Buena práctica agencia: una SA por cliente para evitar cruces de datos en reportes
  • Rota la clave JSON cada 90 días y nunca la subas a Git
  • Eliminar una clave comprometida revoca el acceso en segundos sin tirar la SA entera

¿Crees que estás sacando partido a la IA en tu empresa?

Si la respuesta no es un sí rotundo, te estás dejando horas, dinero y ventaja competitiva cada día que pasa. Mientras tú lo valoras, tu competencia ya lo está usando para moverse el doble de rápido.

Te construyo el cerebro de IA de tu empresa: 100% adaptado a tu stack, tus datos y tus procesos. Resultados medibles desde la primera semana, no dentro de seis meses.

📬

¿Te ha gustado? Hay más cada semana

Únete a "IA Sin Humo" — la newsletter donde comparto lo que realmente funciona en inteligencia artificial. Sin teoría innecesaria, sin postureo.

📚

1 Tutorial

Paso a paso, práctico

🛠️

3 Herramientas

Probadas y útiles

💡

0 Bullshit

Solo lo que importa

+547 suscriptores • Cada martes • Cancela cuando quieras

Javier Santos - Especialista en IA & Machine Learning

Javier Santos

Consultor de IA para empresas. Comparto contenido sobre inteligencia artificial, automatización y desarrollo cada semana.