Comprehensive MCP server for the Google Forms API. Full coverage of form creation, management, responses, and built-in analytics
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
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
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