MCP server for Google Forms — create and publish forms, manage questions and read responses from an AI app
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add google-forms --env GOOGLE_FORMS_CLIENT_SECRET='<GOOGLE_FORMS_CLIENT_SECRET>' --env GOOGLE_FORMS_REFRESH_TOKEN='<GOOGLE_FORMS_REFRESH_TOKEN>' --env GOOGLE_FORMS_ACCESS_TOKEN='<GOOGLE_FORMS_ACCESS_TOKEN>' -- npx -y mcp-google-forms~/.codex/config.toml
[mcp_servers.google-forms]
command = "npx"
args = ["-y", "mcp-google-forms"]
env = { GOOGLE_FORMS_CLIENT_SECRET = "<GOOGLE_FORMS_CLIENT_SECRET>", GOOGLE_FORMS_REFRESH_TOKEN = "<GOOGLE_FORMS_REFRESH_TOKEN>", GOOGLE_FORMS_ACCESS_TOKEN = "<GOOGLE_FORMS_ACCESS_TOKEN>" }
# codex mcp add google-forms --env GOOGLE_FORMS_CLIENT_SECRET='<GOOGLE_FORMS_CLIENT_SECRET>' --env GOOGLE_FORMS_REFRESH_TOKEN='<GOOGLE_FORMS_REFRESH_TOKEN>' --env GOOGLE_FORMS_ACCESS_TOKEN='<GOOGLE_FORMS_ACCESS_TOKEN>' -- npx -y mcp-google-forms~/.cursor/mcp.json
{
"mcpServers": {
"google-forms": {
"command": "npx",
"args": [
"-y",
"mcp-google-forms"
],
"env": {
"GOOGLE_FORMS_CLIENT_SECRET": "<GOOGLE_FORMS_CLIENT_SECRET>",
"GOOGLE_FORMS_REFRESH_TOKEN": "<GOOGLE_FORMS_REFRESH_TOKEN>",
"GOOGLE_FORMS_ACCESS_TOKEN": "<GOOGLE_FORMS_ACCESS_TOKEN>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"google-forms": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-google-forms"
],
"env": {
"GOOGLE_FORMS_CLIENT_SECRET": "<GOOGLE_FORMS_CLIENT_SECRET>",
"GOOGLE_FORMS_REFRESH_TOKEN": "<GOOGLE_FORMS_REFRESH_TOKEN>",
"GOOGLE_FORMS_ACCESS_TOKEN": "<GOOGLE_FORMS_ACCESS_TOKEN>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"google-forms": {
"command": "npx",
"args": [
"-y",
"mcp-google-forms"
],
"env": {
"GOOGLE_FORMS_CLIENT_SECRET": "<GOOGLE_FORMS_CLIENT_SECRET>",
"GOOGLE_FORMS_REFRESH_TOKEN": "<GOOGLE_FORMS_REFRESH_TOKEN>",
"GOOGLE_FORMS_ACCESS_TOKEN": "<GOOGLE_FORMS_ACCESS_TOKEN>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"google-forms": {
"command": "npx",
"args": [
"-y",
"mcp-google-forms"
],
"env": {
"GOOGLE_FORMS_CLIENT_SECRET": "<GOOGLE_FORMS_CLIENT_SECRET>",
"GOOGLE_FORMS_REFRESH_TOKEN": "<GOOGLE_FORMS_REFRESH_TOKEN>",
"GOOGLE_FORMS_ACCESS_TOKEN": "<GOOGLE_FORMS_ACCESS_TOKEN>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"google-forms": {
"command": "npx",
"args": [
"-y",
"mcp-google-forms"
],
"env": {
"GOOGLE_FORMS_CLIENT_SECRET": "<GOOGLE_FORMS_CLIENT_SECRET>",
"GOOGLE_FORMS_REFRESH_TOKEN": "<GOOGLE_FORMS_REFRESH_TOKEN>",
"GOOGLE_FORMS_ACCESS_TOKEN": "<GOOGLE_FORMS_ACCESS_TOKEN>"
}
}
}
}Environment variables
GOOGLE_FORMS_CLIENT_SECRETGOOGLE_FORMS_REFRESH_TOKENGOOGLE_FORMS_ACCESS_TOKEN
Replace the placeholders with your own credentials and keep them out of version control.