github TypeScript analyzed e3e049b

MatthewWolff/google-forms-mcp

github

Comprehensive MCP server for the Google Forms API. Full coverage of form creation, management, responses, and built-in analytics

maintainer
MatthewWolff
license
MIT
first seen
2026-06-16
last seen
2026-06-18
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 27 tools
transport stdio · http counts 27 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • add_question
  • add_section
  • add_text_item
  • analyze_frequency
  • build_form
  • clone_form
  • create_form
  • create_watch
  • cross_tabulate
  • delete_form
  • delete_item
  • delete_watch
  • export_responses_csv
  • generate_sankey_data
  • get_form
  • get_form_summary
  • get_response
  • get_responses_table
  • list_forms
  • list_responses
  • list_watches
  • move_item
  • renew_watch
  • response_summary
  • update_form_info
  • update_form_settings
  • update_item
code evidence vv1.0.2 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 46

shell / exec 1

  • shell MatthewWolff-google-forms-mcp-e3e049b/src/get-refresh-token.ts :4 import { execFileSync } from 'child_process';

network 2

  • net MatthewWolff-google-forms-mcp-e3e049b/src/get-refresh-token.ts :3 import * as http from 'http';
  • net MatthewWolff-google-forms-mcp-e3e049b/src/tools/composite/export_responses_csv.ts :13 .describe('Max responses to fetch (1-5000, default all)'),

secrets 3

  • secrets MatthewWolff-google-forms-mcp-e3e049b/src/auth.ts :8 const clientSecret = process.env.GOOGLE_CLIENT_SECRET;
  • secrets MatthewWolff-google-forms-mcp-e3e049b/src/get-refresh-token.ts :7 const CLIENT_SECRET = process.env.GOOGLE_CLIENT_SECRET;
  • secrets (weak) MatthewWolff-google-forms-mcp-e3e049b/tests/integration/helpers.ts :8 const clientSecret = process.env.GOOGLE_CLIENT_SECRET;

tool registrations 27

  • cross_tabulate MatthewWolff-google-forms-mcp-e3e049b/src/tools/analytics/cross_tabulate.ts :13
  • analyze_frequency MatthewWolff-google-forms-mcp-e3e049b/src/tools/analytics/frequency_counts.ts :12
  • generate_sankey_data MatthewWolff-google-forms-mcp-e3e049b/src/tools/analytics/sankey_data.ts :16
  • response_summary MatthewWolff-google-forms-mcp-e3e049b/src/tools/analytics/summary_stats.ts :11
  • build_form MatthewWolff-google-forms-mcp-e3e049b/src/tools/composite/build_form.ts :73
  • clone_form MatthewWolff-google-forms-mcp-e3e049b/src/tools/composite/clone_form.ts :74
  • export_responses_csv MatthewWolff-google-forms-mcp-e3e049b/src/tools/composite/export_responses_csv.ts :46
  • get_form_summary MatthewWolff-google-forms-mcp-e3e049b/src/tools/composite/get_form_summary.ts :60
  • get_responses_table MatthewWolff-google-forms-mcp-e3e049b/src/tools/composite/get_responses_table.ts :35
  • create_form MatthewWolff-google-forms-mcp-e3e049b/src/tools/forms/create_form.ts :11
  • delete_form MatthewWolff-google-forms-mcp-e3e049b/src/tools/forms/delete_form.ts :11
  • get_form MatthewWolff-google-forms-mcp-e3e049b/src/tools/forms/get_form.ts :12
  • list_forms MatthewWolff-google-forms-mcp-e3e049b/src/tools/forms/list_forms.ts :19
  • update_form_info MatthewWolff-google-forms-mcp-e3e049b/src/tools/forms/update_form_info.ts :12
  • update_form_settings MatthewWolff-google-forms-mcp-e3e049b/src/tools/forms/update_form_settings.ts :17
  • add_question MatthewWolff-google-forms-mcp-e3e049b/src/tools/items/add_question.ts :118
  • add_section MatthewWolff-google-forms-mcp-e3e049b/src/tools/items/add_section.ts :18
  • add_text_item MatthewWolff-google-forms-mcp-e3e049b/src/tools/items/add_text_item.ts :18
  • delete_item MatthewWolff-google-forms-mcp-e3e049b/src/tools/items/delete_item.ts :11
  • move_item MatthewWolff-google-forms-mcp-e3e049b/src/tools/items/move_item.ts :12
  • update_item MatthewWolff-google-forms-mcp-e3e049b/src/tools/items/update_item.ts :13
  • get_response MatthewWolff-google-forms-mcp-e3e049b/src/tools/responses/get_response.ts :11
  • list_responses MatthewWolff-google-forms-mcp-e3e049b/src/tools/responses/list_responses.ts :23
  • create_watch MatthewWolff-google-forms-mcp-e3e049b/src/tools/watches/create_watch.ts :19
  • delete_watch MatthewWolff-google-forms-mcp-e3e049b/src/tools/watches/delete_watch.ts :11
  • list_watches MatthewWolff-google-forms-mcp-e3e049b/src/tools/watches/list_watches.ts :10
  • renew_watch MatthewWolff-google-forms-mcp-e3e049b/src/tools/watches/renew_watch.ts :11

install hooks 2

  • prepare MatthewWolff-google-forms-mcp-e3e049b/package.json :49 npm run build
  • prepublishOnly MatthewWolff-google-forms-mcp-e3e049b/package.json :50 npm run build

declared dependencies 8

  • @modelcontextprotocol/sdk@^1.29.0
  • googleapis@^148.0.0
  • zod@^3.25.0
  • @types/node@^22.14.0
  • dotenv@^17.4.2
  • shx@^0.3.4
  • typescript@^5.8.3
  • vitest@^4.1.0