MCP server for Google Forms that enables creating forms, adding questions, and managing form responses
Critical gaps across all dimensions. Tool 'addTwo' is a placeholder with no description and trivial functionality. Three Google Forms tools (create_form, add_question, submit_form_response) have descriptions but lack parameter type definitions in visible schema, only inferred from docstrings. No output schemas documented. Parameter descriptions are present but incomplete (e.g., 'choices' lacks format/constraint details). No error handling guidance. Credentials hardcoded in source (CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN) violates secret injection pattern. Tool composition is reasonable but descriptions do not guide LLM selection or explain when to use each tool.
Add a question to an existing Google Form. question_type can be: TEXT, PARAGRAPH, MULTIPLE_CHOICE, CHECKBOX, DROPDOWN choices: Required for MULTIPLE_CHOICE, CHECKBOX, and DROPDOWN question types
Create a new Google Form with the specified title and description.
Submit a response to a Google Form. answers: Dictionary where keys are question IDs and values are the answers
Placeholder tool 'addTwo' has no description and no business purpose. Violates single-responsibility principle.
Credentials (CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN) hardcoded in source code. Must use server-side secret injection via environment variables or vault.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., form_id returned by create_form).
Parameter 'choices' in add_question lacks format constraints. Description says 'Required for MULTIPLE_CHOICE, CHECKBOX, DROPDOWN' but does not specify list length, string length, or character restrictions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
No error handling guidance. Tools return raw exception strings (e.g., 'Error creating form: {str(e)}') instead of actionable recovery hints.