mcp-google-forms
Servidor MCP para la API de Google Forms: crea formularios, gestiona preguntas, publica, lee respuestas y observa nuevas presentaciones. Para Claude, Cursor, Codex y otros clientes de IA.
Documentación
Google Forms MCP
Español | Русский
A1 Google Forms MCP permite que una aplicación de IA cree y gestione Google Forms en lenguaje natural. Crea una encuesta, elige sus preguntas, publícala cuando esté lista, lee las respuestas y usa notificaciones para nuevas respuestas.
Utiliza la API de Google Forms con tu cuenta de Google. Distingue un formulario en borrador de un formulario publicado y hace explícitos los límites de la API de Forms en lugar de dar a entender que cualquier tarea de formularios es posible.
- 19 herramientas. Inspecciona la estructura del formulario y las respuestas, crea y edita formularios y preguntas, gestiona la publicación y configura vigilancias de Pub/Sub.
- Se conecta desde la conversación. Di "conectar Google Forms": el servidor te guía a través del cliente OAuth, captura la redirección de Google en
127.0.0.1con PKCE y guarda los tokens él mismo — sin archivos de configuración, sin reinicios. - Publica deliberadamente. Los formularios creados a través de la API comienzan sin publicar, por lo que no pueden recopilar respuestas hasta que los publiques.
- Las respuestas permanecen intactas. La API puede leer respuestas pero no puede crearlas ni editarlas; el servidor no tiene ninguna herramienta que envíe respuestas.
- Ámbitos de Google mínimos. Utiliza
forms.bodyyforms.responses.readonly, sin acceso amplio a Drive.
Comienza con una pregunta de solo lectura:
Muéstrame las respuestas de ayer al formulario de comentarios de clientes y resume las respuestas de texto libre.
Conectar el servidor · Explorar casos de uso · Abrir documentación técnica
Véalo funcionar en un minuto
Tú: Muéstrame las preguntas y la configuración de respuestas del formulario de comentarios de clientes.
Asistente: Muestra el formulario, sus elementos, si está publicado y si acepta respuestas. No cambia nada.
Tú: Prepara una pregunta de calificación obligatoria del 1 al 5 llamada "¿Cómo fue tu experiencia?" después de la primera pregunta.
Asistente: Muestra el formulario de destino, la posición y la pregunta propuesta, y luego pide confirmación antes de añadirla.
Tú: Confirmar.
Asistente: Añade la pregunta al formulario. No publica ni cierra el formulario a menos que lo pidas por separado.
Contenido
- Inicio rápido
- Qué puedes pedirle que haga
- Cómo cambia un formulario
- Qué puede cambiar
- Obtener acceso
- Configuración
- Datos, límites y trabajo en segundo plano
- Documentación técnica
- Soporte
Inicio rápido
Necesitas Node.js 20+ y una cuenta de Google. No se requieren credenciales en el momento de la instalación — el servidor se conecta desde la conversación.
- Añade el servidor a tu aplicación de IA.
- Di "conectar Google Forms": el asistente te guía a través de la creación del cliente OAuth y la aprobación del acceso sin editar archivos de configuración.
- Haz la pregunta de solo lectura anterior.
Codex
En la aplicación: abre Configuración → Servidores MCP, selecciona Añadir servidor, elige STDIO, introduce el comando npx -y mcp-google-forms@latest y las variables de entorno GOOGLE_FORMS_CLIENT_ID, GOOGLE_FORMS_CLIENT_SECRET, GOOGLE_FORMS_REFRESH_TOKEN, luego selecciona Guardar y Reiniciar.
Desde la línea de comandos:
codex mcp add google-forms \
-- npx -y mcp-google-forms@latest
codex mcp list
Claude Code
claude mcp add \
--transport stdio --scope user google-forms \
-- npx -y mcp-google-forms@latest
claude mcp list
Claude Desktop
La ruta oficial actual es Configuración → Extensiones. Para una extensión de escritorio personalizada, abre Configuración avanzada → Desarrollador de extensiones → Instalar extensión…, selecciona un archivo .mcpb y sigue las indicaciones.
Este repositorio publica actualmente un paquete npm stdio y no contiene un paquete .mcpb. Para las versiones de Claude Desktop que aún admiten configuración local, usa la siguiente configuración JSON stdio como alternativa:
{
"mcpServers": {
"google-forms": {
"command": "npx",
"args": ["-y", "mcp-google-forms@latest"]
}
}
}
En esas versiones, guárdalo en ~/Library/Application Support/Claude/claude_desktop_config.json en macOS o %APPDATA%\Claude\claude_desktop_config.json en Windows.
Cursor
Añade esto a ~/.cursor/mcp.json en macOS/Linux o %USERPROFILE%\.cursor\mcp.json en Windows:
{
"mcpServers": {
"google-forms": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-google-forms@latest"]
}
}
}
VS Code
Ejecuta MCP: Abrir configuración de usuario y añade:
{
"servers": {
"google-forms": {
"type": "stdio",
"command": "npx",
"args": ["-y", "mcp-google-forms@latest"]
}
}
}
Compruébalo con MCP: Listar servidores.
Qué puedes pedirle que haga
Inspeccionar una encuesta y sus respuestas
- Muestra las preguntas de este formulario, la configuración de respuestas y el enlace para los encuestados.
- ¿Cuántas respuestas han llegado desde el lunes? Resume los comentarios de texto libre.
- Muestra una respuesta por ID.
Crear y mejorar un formulario
- Crea un formulario RSVP con nombre, preferencia de comida y fecha de llegada.
- Añade una pregunta obligatoria de calificación, lista desplegable, fecha, hora, opción múltiple o texto.
- Reordena una pregunta o actualiza un título, descripción, modo de examen o recopilación de correos electrónicos.
Publicar y conectar notificaciones
- Publica un formulario preparado y muestra su URL para encuestados.
- Deja de aceptar nuevas respuestas sin eliminar el formulario.
- Crea, renueva o elimina una vigilancia de Cloud Pub/Sub para nuevas respuestas.
Cómo cambia un formulario
create_formcrea un formulario, que comienza sin publicar por defecto.- Las preguntas son elementos, identificados por su posición en el formulario.
- Publicar hace que un formulario esté disponible para los encuestados; cerrar la recopilación de respuestas lo deja publicado pero detiene nuevas respuestas.
- Las respuestas son un registro separado de solo lectura. La API no puede enviar, editar ni eliminar la respuesta de un encuestado.
Las preguntas de carga de archivos no se pueden crear a través de la API de Forms, aunque los elementos de carga de archivos existentes se pueden leer. Los formularios heredados creados antes del modelo de publicación de Google pueden no admitir la configuración de publicación.
Qué puede cambiar
| Operación | Qué sucede | Límite de confirmación |
|---|---|---|
| Leer un formulario y sus respuestas | Lee la estructura del formulario y las respuestas | Sin cambios |
| Crear un formulario | Añade un formulario sin publicar | Cambia Google Forms |
| Añadir o mover una pregunta | Cambia los elementos del formulario | Cambia un formulario |
| Actualizar información, configuración o un elemento del formulario | Cambia el título, la configuración o una pregunta seleccionada | Cambia un formulario |
| Publicar, despublicar, abrir o cerrar respuestas | Cambia quién puede usar el formulario | Cambia la disponibilidad pública de un formulario |
| Eliminar un elemento | Elimina una pregunta seleccionada | Destructivo |
| Gestionar una vigilancia de Pub/Sub | Crea, renueva o elimina la entrega de notificaciones | Potencialmente destructivo |
| Solicitud de API sin procesar | Puede llamar a métodos de la API sin una herramienta dedicada | Potencialmente destructivo |
El cliente de IA controla los mensajes de confirmación. El servidor marca las herramientas de lectura, escritura y destructivas para que el cliente pueda distinguir una inspección de un cambio en vivo.
Obtener acceso
Google Forms requiere OAuth 2.0; una clave de API no es suficiente. Hay dos formas de acceder, y la primera no necesita archivos de configuración.
Conectar desde el chat (recomendado)
Di "conectar Google Forms" y el asistente ejecutará el flujo contigo:
setup_instructionsimprime la lista de verificación: crea o selecciona un proyecto de Google Cloud, habilita Google Forms API, configura la pantalla de consentimiento y crea un cliente OAuth de Aplicación de escritorio.- Descarga el JSON de ese cliente ("Descargar JSON") y dale al asistente su ruta —
set_clientlo almacena solo para el propietario. El secreto nunca pasa por la conversación. start_logindevuelve un enlace de consentimiento de Google. Ábrelo en esta máquina y aprueba; el código vuelve a un listener de un solo uso en127.0.0.1(PKCE), nunca a través del chat.finish_loginintercambia el código y guarda los tokens en~/.config/mcp-google-forms/credentials.json(modo 0600).
Los tokens se releen en cada llamada, por lo que la conexión funciona de inmediato — sin reiniciar la aplicación de IA. auth_status muestra lo que está conectado, logout revoca y elimina.
Variables de entorno (CI, instalaciones desatendidas)
-
Crea o selecciona un proyecto de Google Cloud y habilita Google Forms API.
-
Configura la pantalla de consentimiento de OAuth y crea un cliente OAuth de Aplicación de escritorio.
-
Autoriza la cuenta de Google que posee o puede editar los formularios. El OAuth 2.0 Playground puede obtener el token de actualización cuando Usar tus propias credenciales OAuth está habilitado.
-
Solicita ambos ámbitos:
https://www.googleapis.com/auth/forms.body https://www.googleapis.com/auth/forms.responses.readonly
Los tokens de actualización de OAuth en modo de prueba pueden caducar después de siete días. Publica la aplicación OAuth, o usa una aplicación Interna en un dominio de Workspace, cuando necesites acceso de larga duración. Trata el secreto del cliente y el token de actualización como contraseñas.
Configuración
Cada variable es opcional — sin ninguna de ellas el servidor se conecta desde el chat.
| Variable | Requerida | Descripción |
|---|---|---|
GOOGLE_FORMS_CLIENT_ID | No* | ID del cliente OAuth. |
GOOGLE_FORMS_CLIENT_SECRET | No* | Secreto del cliente OAuth. |
GOOGLE_FORMS_REFRESH_TOKEN | No* | Token de actualización de OAuth. |
GOOGLE_FORMS_ACCESS_TOKEN | No* | Alternativa de corta duración al trío OAuth. |
GOOGLE_FORMS_OAUTH_PORT | No | Puerto de loopback fijo para el inicio de sesión en el chat; útil con reenvío de puertos SSH. |
GOOGLE_FORMS_API_BASE | No | Anulación de la URL base de la API de Google Forms. |
GOOGLE_FORMS_TIMEOUT_MS | No | Tiempo de espera por solicitud; predeterminado 60000 ms. |
GOOGLE_FORMS_MAX_RETRIES | No | Reintentos de errores temporales; predeterminado 3. |
* Proporciona el trío OAuth o un token de acceso.
Datos, límites y trabajo en segundo plano
- Las solicitudes van a Google Forms. El servidor local actualiza los tokens OAuth de Google y llama a la API de Forms. Su telemetría anónima contiene un ID de instalación, versión del paquete, cliente de IA y versiones de plataforma, y nombres de herramientas — nunca tokens OAuth, datos de formularios, argumentos de herramientas o indicaciones. Establece
ASKADS_TELEMETRY=0para optar por no participar. - Google aplica cuotas por minuto. Los límites documentados son 975 lecturas por proyecto, 450 llamadas
list_responsesy 375 escrituras. En429, el servidor usa retroceso; las lecturas también se reintentan después de errores de red y5xx, mientras que las escrituras no se reproducen después de una falla incierta. - No hay sondeo en segundo plano. El servidor solo se ejecuta cuando se le llama. Las vigilancias de Pub/Sub pueden notificar a tu propia infraestructura sobre nuevas respuestas; si tu aplicación de IA admite tareas programadas, también puede verificar respuestas periódicamente.
Documentación técnica
- Catálogo de capacidades de MCP — páginas orientadas a tareas para cada herramienta.
- Todas las herramientas y entradas
- Documentación de desarrollo
- Documentación de publicación
- Referencia de la API de Google Forms
Soporte
¿Encontraste un error o necesitas un escenario? Crea un problema o escribe en Telegram.
¡Llegaste al final!