This MCP server uses the Google Forms API to provide functions such as creating, editing, and retrieving responses for forms.
After cloning the repository, install dependencies
cd google-forms-mcp
# Build the main MCP server
npm run build
# Build the refresh token acquisition script
npm run build:token
# Run the server directly
node build/index.js
# Or, use npm script
npm run start
-
Create a project in Google Cloud Console and enable the Google Forms API.
- https://console.cloud.google.com/
- Search for "Google Forms API" from APIs & Services > Library and enable it.
-
Obtain OAuth 2.0 Client ID and Secret.
- APIs & Services > Credentials > Create Credentials > OAuth client ID
- Select Application type: "Desktop app"
-
Set environment variables and obtain the refresh token.
export GOOGLE_CLIENT_ID="YOUR_CLIENT_ID" export GOOGLE_CLIENT_SECRET="YOUR_CLIENT_SECRET" cd google-forms-mcp npm run build node build/get-refresh-token.js
Note: If an error occurs when running get-refresh-token.js, execute the following command:
cd google-forms-mcp npm run build:token node build/get-refresh-token.js -
Copy the displayed refresh token.
-
Update the Claude desktop app's configuration file.
- Open
~/Library/Application Support/Claude/claude_desktop_config.json. - Add environment variables to the
google-forms-mcpin themcpServerssection:
"google-forms-mcp": { "command": "node", "args": [ "/path/to/your/google-forms-mcp/build/index.js" # Update this path ], "env": { "GOOGLE_CLIENT_ID": "YOUR_CLIENT_ID", "GOOGLE_CLIENT_SECRET": "YOUR_CLIENT_SECRET", "GOOGLE_REFRESH_TOKEN": "YOUR_REFRESH_TOKEN" } }
- Open
-
Restart the Claude desktop app.
This MCP server provides the following tools:
create_form- Create a new Google Formadd_text_question- Add a text question to the formadd_multiple_choice_question- Add a multiple choice question to the formget_form- Get form detailsget_form_responses- Get form responses
Create a form and add some questions.
Claude uses MCP tools like the following to create the form:
- Use the
create_formtool to create a new form - Use
add_text_questionoradd_multiple_choice_questiontools to add questions - Display the URL of the created form
