{
  "markdown": "# mcp-google-forms\n\n<!-- mcp-name: io.github.KamaruSama/mcp-google-forms -->\n\n**MCP server for managing Google Forms — quizzes, grading, images, responses.**\n\nExposes 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.\n\n📖 **[อ่านภาษาไทย →](README.th.md)**\n\n---\n\n## Tools at a glance\n\n| Section | Tool | Purpose |\n|---|---|---|\n| Auth | [`auth_status`](docs/en/tools/auth_status.md) | Check OAuth credential state |\n| Create / metadata | [`create_quiz_form`](docs/en/tools/create_quiz_form.md) | New form in quiz mode |\n| | [`rename_form`](docs/en/tools/rename_form.md) | Change title/description |\n| | [`set_quiz_mode`](docs/en/tools/set_quiz_mode.md) | Toggle quiz on/off |\n| Read | [`get_form`](docs/en/tools/get_form.md) | Full form JSON |\n| | [`list_questions`](docs/en/tools/list_questions.md) | Concise item list |\n| | [`verify_answer_keys`](docs/en/tools/verify_answer_keys.md) | Diff current vs expected answer keys |\n| Add | [`add_true_false_question`](docs/en/tools/add_true_false_question.md) | Single T/F question |\n| | [`batch_add_true_false`](docs/en/tools/batch_add_true_false.md) | Bulk T/F |\n| | [`add_multiple_choice_question`](docs/en/tools/add_multiple_choice_question.md) | Radio / checkbox / dropdown |\n| | [`add_text_question`](docs/en/tools/add_text_question.md) | Short or paragraph text |\n| | [`add_section_header`](docs/en/tools/add_section_header.md) | Page break / section |\n| Edit | [`update_question_title`](docs/en/tools/update_question_title.md) | Rename question |\n| | [`update_true_false_answer`](docs/en/tools/update_true_false_answer.md) | Re-key a T/F answer |\n| | [`delete_question`](docs/en/tools/delete_question.md) | Remove item |\n| | [`move_question`](docs/en/tools/move_question.md) | Reorder |\n| Responses | [`list_responses`](docs/en/tools/list_responses.md) | All submitted responses |\n| | [`get_response`](docs/en/tools/get_response.md) | One response by ID |\n| Escape hatch | [`raw_batch_update`](docs/en/tools/raw_batch_update.md) | Raw Forms API calls |\n\n---\n\n## Install\n\n### 1. Enable API + get credentials\n\n1. Go to https://console.cloud.google.com → create/select a project\n2. **APIs & Services → Library** → enable **Google Forms API**\n3. **OAuth consent screen** → External → add yourself as test user\n4. **Credentials → Create Credentials → OAuth client ID → Desktop app**\n5. Download JSON → save as:\n   ```\n   ~/.config/google-forms-mcp/credentials.json\n   ```\n\n### 2. Register with Claude Code\n\n```bash\nclaude mcp add google-forms -s user -- \\\n  uv run --directory /path/to/mcp-google-forms python server.py\n```\n\n### 3. First use\n\nOn the first tool call, the server opens a browser for OAuth consent. Token is cached at `~/.config/google-forms-mcp/token.json`.\n\n---\n\n## Scopes\n\n- `forms.body` — create/edit form structure\n- `forms.responses.readonly` — read responses\n- `drive.file` — attach images via Drive\n\n---\n\n## Support the project ❤\n\nIf this tool helps your workflow, consider supporting development:\n\n- **Ko-fi:** https://ko-fi.com/kamaru\n\n---\n\n## Contact\n\n- **Portfolio / general:** k.kamarux@gmail.com\n- **Commercial / licensing:** contact@likezara.com\n\n---\n\nCopyright © 2026 **likezara™**. All rights reserved.\nDeveloped by **Kamaru** (pen name).\n",
  "bytes": 3350,
  "sha": "ac79246743a6874bbd6b0e383ea94c4e2a29f60e35722e48e511756ea1267268",
  "repo_slug": "kamarusama/mcp-google-forms",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_kamarusama_mcp_google_forms_b6ba9a8e/readme"
}