Skip to main content

Google Forms MCP Server

An MCP server for managing Google Forms and form responses, integrating seamlessly with AI assistants using the Model Context Protocol.

Features

  • List Forms: Search and list Google Forms from Drive with optional title filter and pagination.
  • Get Form: Retrieve metadata, items, and settings for a specific form.
  • Create Form: Create a new, empty Google Form by title.
  • Batch Update: Add, move, or delete items and update form info via the Forms batchUpdate API.
  • List Responses: Page through responses for a form, with optional time filter.
  • Get Response: Fetch a single response by responseId.
  • Manage Watches: Create, list, and delete Pub/Sub watches for SCHEMA or RESPONSES events.

Installation

Prerequisites

  • Python 3.9 or higher.
  • A Google Cloud Project with the Google Forms API and Google Drive API enabled.
  • OAuth2 credentials (Client ID and Client Secret).
  • OAuth scopes:
    • https://www.googleapis.com/auth/forms.body
    • https://www.googleapis.com/auth/forms.responses.readonly
    • https://www.googleapis.com/auth/drive.readonly

Configuration

Add the following to your MCP host configuration (e.g., mcp-config.json):

{
  "mcpServers": {
    "barie-google-forms-mcp": {
      "command": "uvx",
      "args": [
        "barie-google-forms-mcp",
        "--access-token",
        "YOUR_ACCESS_TOKEN",
        "--refresh-token",
        "YOUR_REFRESH_TOKEN",
        "--client-id",
        "YOUR_CLIENT_ID",
        "--client-secret",
        "YOUR_CLIENT_SECRET"
      ]
    }
  }
}

Tools

  • list_forms: List Google Forms from Drive (optional query, pageSize, pageToken).
  • get_form: Get form metadata, items, and settings by formId.
  • create_form: Create a new, empty form with a title.
  • batch_update_form: Apply a list of requests (e.g. createItem, updateFormInfo) to a form.
  • list_responses: List responses for a form, with optional filter, pageSize, and pageToken.
  • get_response: Get a single response by formId and responseId.
  • create_watch: Create a Pub/Sub watch on a form (eventType: SCHEMA or RESPONSES).
  • list_watches: List all watches for a form.
  • delete_watch: Delete a watch by formId and watchId.

License

MIT

Metadata

Release files for barie-google-forms-mcp 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for barie-google-forms-mcp 0.1.4
File Size Uploaded Provenance
barie_google_forms_mcp-0.1.4.tar.gz 9.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for barie-google-forms-mcp 0.1.4
File Interpreter ABI Platform
barie_google_forms_mcp-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 18.9 kB

Release files / barie_google_forms_mcp-0.1.4.tar.gz

Download URL barie_google_forms_mcp-0.1.4.tar.gz
Size 9.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3756c501126d05123cfa719d869669c96b1f9aa88aecba7424827f90f421a897
BLAKE2b-256 checksum
How to use checksums
b4c447448fafed8eb494bcc51bc1e4ad5165dd3630580b8e5e1e10ec1766973c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Release files / barie_google_forms_mcp-0.1.4-py3-none-any.whl

Download URL barie_google_forms_mcp-0.1.4-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a4066330d36bb70aa5e0cb0de835c83652a5293b941d3a34c7472ea588c5f6aa
BLAKE2b-256 checksum
How to use checksums
454712f16bd6159d5097a5cf1d02e95cd8bf9dd2ca3445a1f08c496d2d50e4ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.9

Security for barie-google-forms-mcp 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page