使用说明
谷歌表单MCP
Google Forms MCP是一个工具,允许LLM通过Model Context Protocol(MCP)管理Google表单。
机会
- 获取所有用户表单的列表
- 通过ID获取特定表单的信息
- 创造新形式
- 更新现有表格
- 截止新答复的表格
- 将更新应用于表单元素(问题、字段等)
依赖
fastmcp与MCP一起工作的库google-api-python-clientGoogle API客户端库google-auth,google-auth-httplib2,google-auth-oauthlib-使用Google进行身份验证的库
设置
-
建立依赖关系:
紫外线:
uv syncpip:
pip install -r requirements.txt -
获取文件
credentials.json通过OAuth 2.0设置 谷歌云控制台:- 创建新项目或使用现有项目
- 启用Google Forms API和Google Drive API
- 创建OAuth 2.0凭据
- 下载JSON文件并将其重命名为
credentials.json
-
要测试工具导入并获取token.json,请运行MCP服务器:
python server.py第一次启动时,将打开用于身份验证的网页,并在成功连接后创建一个文件
token.json用于存储访问令牌。
可用工具
get_form(form_id)
通过ID元数据和元素(问题/字段)获取有关表单的所有信息。
- 参数:
form_id(STR)-Google Forms中的表单ID - 返回:表单对象,包含表单信息、设置、问题列表等。
list_forms()
通过Google Drive获取所有用户表单的列表。
- 返回:表单对象数组-每个对象至少包含“id”和“name”
upsert_form(form_id, title, description)
创建新表单或更新现有表单(通过Formu ID)。
- 参数:
form_id(str,optional)-用于更新的表单ID或用于创建新表单的nonetitle(str)-表单标题description(str,optional)表单描述
- 返回:有关创建/更新表单的信息
close_form(form_id)
关闭新的回复表单-停止接收新的提交。调用后,表单将保留,其结构将保留,但不会接受新的响应。
- 参数:
form_id(str)-要“关闭”的表单ID - 返回:更新的表单设置
apply_questions_patch(form_id, requests)
通过BatchUpdate将一组操作(补丁)应用于表单的问题/元素。 允许:
- 添加/创建问题/项目(CreateItem)
- 删除项目(deleteitem)
- 移动项目(MoveItem)
- 修改现有项目(updateitem)
- 任何组合在同一时间-所有操作都将应用于同一事务
- 参数:
form_id(str) - 表单IDrequests(List[dict])–Google Forms API格式的操作列表
- 返回:更新的API响应
使用Claude Desktop
要在Claude Desktop上使用MCP服务器:
-
验证服务器.py文件中的mcp.run(…)是否安装在
stdio:mcp.run(transport="stdio") -
配置Claude Desktop以连接到MCP服务器: 设置->开发人员->编辑配置
claude_desktop_config json
{ "mcpServers": { "GoogleFormsMCP": { "command": "uv", "args": [ "--directory", "/Путь/к/директории/проекта/", "run", "server.py" ] } } }
授权
该应用程序使用OAuth 2.0访问Google Forms API。第一次启动时,将打开浏览器进行用户身份验证。令牌存储在文件中 token.json.
