Skip to main content

Google Forms MCP Server for managing forms and responses via the Model Context Protocol

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

barie_google_forms_mcp-0.1.3.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

barie_google_forms_mcp-0.1.3-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file barie_google_forms_mcp-0.1.3.tar.gz.

File metadata

  • Download URL: barie_google_forms_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for barie_google_forms_mcp-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f32eee7e22017225a31451737db7b6e7247e0502b0d1199b560359b9cbf42fef
MD5 f64b85bb4706fecc189ab803adf6b55c
BLAKE2b-256 5a39bc2321a11dad76d79c3e39e0392b07339c2ca83cd0f423f8a0f0790ba40c

See more details on using hashes here.

File details

Details for the file barie_google_forms_mcp-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for barie_google_forms_mcp-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6f7535417a203ee1854fd343a997916c7ef0f7ed9a5e11e08648c6e82872b476
MD5 119bc8cca24ab62baaa2547914cd2fab
BLAKE2b-256 6edd3c852653ef410f2132d9dba24050c285f38587c987475bbeee9fd46d68eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page