19 tools for Google Forms: create quizzes, add questions, set answer keys, read responses.
MCP server for managing Google Forms — quizzes, grading, images, responses.
Exposes 19 tools for creating, editing, inspecting, and managing Google Forms through the Model Context Protocol. Built for use with Claude Code, Claude Desktop, or any MCP-compatible client.
| Section | Tool | Purpose |
|---|---|---|
| Auth | auth_status | Check OAuth credential state |
| Create / metadata | create_quiz_form | New form in quiz mode |
rename_form | Change title/description | |
set_quiz_mode | Toggle quiz on/off | |
| Read | get_form | Full form JSON |
list_questions | Concise item list | |
verify_answer_keys | Diff current vs expected answer keys | |
| Add | add_true_false_question | Single T/F question |
batch_add_true_false | Bulk T/F | |
add_multiple_choice_question | Radio / checkbox / dropdown | |
add_text_question | Short or paragraph text | |
add_section_header | Page break / section | |
| Edit | update_question_title | Rename question |
update_true_false_answer | Re-key a T/F answer | |
delete_question | Remove item | |
move_question | Reorder | |
| Responses | list_responses | All submitted responses |
get_response | One response by ID | |
| Escape hatch | raw_batch_update | Raw Forms API calls |
~/.config/google-forms-mcp/credentials.json
claude mcp add google-forms -s user -- \
uv run --directory /path/to/mcp-google-forms python server.py
On the first tool call, the server opens a browser for OAuth consent. Token is cached at ~/.config/google-forms-mcp/token.json.
forms.body — create/edit form structureforms.responses.readonly — read responsesdrive.file — attach images via DriveIf this tool helps your workflow, consider supporting development:
Copyright © 2026 likezara™. All rights reserved. Developed by Kamaru (pen name).
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
uvx mcp-google-formsMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-kamarusama-mcp-google-forms": {
"command": "uvx",
"args": [
"mcp-google-forms"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referencemcp-google-formspypiio.github.KamaruSama/mcp-google-forms works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.