mcp-google-forms
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.
Tools at a glance
| 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 |
Install
1. Enable API + get credentials
- Go to https://console.cloud.google.com → create/select a project
- APIs & Services → Library → enable Google Forms API
- OAuth consent screen → External → add yourself as test user
- Credentials → Create Credentials → OAuth client ID → Desktop app
- Download JSON → save as:
~/.config/google-forms-mcp/credentials.json
2. Register with Claude Code
claude mcp add google-forms -s user -- \
uv run --directory /path/to/mcp-google-forms python server.py
3. First use
On the first tool call, the server opens a browser for OAuth consent. Token is cached at ~/.config/google-forms-mcp/token.json.
Scopes
forms.body— create/edit form structureforms.responses.readonly— read responsesdrive.file— attach images via Drive
Support the project ❤
If this tool helps your workflow, consider supporting development:
- Ko-fi: https://ko-fi.com/kamaru
Contact
- Portfolio / general: k.kamarux@gmail.com
- Commercial / licensing: contact@likezara.com
Copyright © 2026 likezara™. All rights reserved. Developed by Kamaru (pen name).
Metadata
Release files for mcp-google-forms 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mcp_google_forms-1.0.1.tar.gz | 7.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mcp_google_forms-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 16.2 kB
Release files / mcp_google_forms-1.0.1.tar.gz
| Download URL | mcp_google_forms-1.0.1.tar.gz |
|---|---|
| Size | 7.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
94d92fc3a3882e6bb5def443e12a7c6680ac407cbae4a9a852470b63dc2a6d8b
|
|
BLAKE2b-256 checksum How to use checksums |
47b08e8063a6b24766418d8d776eb6c090162aa2faf67a06eb5cc79765f7b97c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mcp_google_forms-1.0.1-py3-none-any.whl
| Download URL | mcp_google_forms-1.0.1-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
254b7b7752183f6cc8836e85a69c11c517ef3028d24c87e3a2a8efbb1f5c64e5
|
|
BLAKE2b-256 checksum How to use checksums |
b04e0278347fc0547672e39328f73015e942502ebcaf44b357b2abda10b1e893
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|