Google Form Mcp Server

Google Form Mcp Server

🚀 谷歌表单与CamelAIOrg集成项目

本项目展示了如何借助Model Context Protocol(MCP)协议,将谷歌表单与CamelAIOrg代理服务进行集成。用户能够通过自然语言发起创建表单的请求,系统内部则利用MCP协议完成交互,为表单创建提供了便捷、高效的方式。

🚀 快速开始

安装与运行

使用Docker运行

docker-compose up --build

此命令将启动MCP服务器(监听5000端口)和代理服务(监听5001端口)。

环境配置

创建项目根目录下的.env文件:

# 谷歌API凭证
GOOGLE_CLIENT_ID=你的_client_id
GOOGLE_CLIENT_SECRET=你的_client_secret
GOOGLE_REFRESH_TOKEN=你的_refresh_token

# 服务器配置
FLASK_ENV=development
PORT=5000
DEBUG=True

# CamelAIOrg代理配置
AGENT_ENDPOINT=http://agents:5001/process
AGENT_API_KEY=你的代理API密钥

获取刷新令牌步骤:

  1. 使用OAuth 2.0 Playground工具:https://developers.google.com/oauthplayground/
  2. 配置项目凭证
  3. 筛选所需权限:
    • https://www.googleapis.com/auth/forms
    • https://www.googleapis.com/auth/drive
    • https://www.googleapis.com/auth/drive.file

Web界面访问

访问地址:http://localhost:5000 界面功能:

  1. 输入自然语言请求
  2. 查看组件间交互流程
  3. 查看生成的表单信息和链接
  4. 查看MCP协议包交换记录

✨ 主要特性

功能说明

  1. 用户界面
    • 支持提交自然语言请求,例如:"创建一个包含3个问题的客户反馈表单"。
    • 可查看组件间请求流程。
    • 能查看生成的表单详细信息和链接。
  2. 内部交互
    • 代理服务可解析自然语言并生成MCP请求。
    • MCP服务器处理表单创建请求,并与谷歌API通信。
    • 请求结果通过MCP协议返回给代理服务。
  3. 支持场景
    • 客户反馈收集
    • 市场调研问卷
    • 活动RSVP表单
    • 任意自定义问题类型

📚 详细文档

项目架构

google-form-mcp-server/
├── server/                 # MCP服务器实现
│   ├── app.py              # 主Flask应用程序
│   ├── config.py           # 配置管理
│   ├── forms_api.py        # 谷歌表单API集成
│   ├── mcp_handler.py      # MCP协议处理逻辑
│   ├── requirements.txt    # Python依赖项
│   ├── static/             # 静态资源文件
│   ├── templates/          # HTML模板
│   └── utils/              # 工具函数
├── agents/                 # CamelAIOrg代理服务
│   ├── agent_integration.py # 代理集成实现
│   ├── agent_server.py     # 代理API服务器
│   └── requirements.txt    # Python依赖项
├── Dockerfile              # MCP服务器Docker镜像配置
├── docker-compose.yml      # 多容器部署配置
├── .env.example            # 环境变量示例文件
└── README.md               # 项目文档

API接口说明

MCP服务器接口(5000端口)

  • GET /api/health:健康检查
  • GET /api/swagger:查看API文档
  • POST /api/create-form:创建新表单
    • 支持JSON格式请求体,如:
      {
      "form_name": "客户反馈表单",
      "questions": [
      { "type": "文本", "prompt": "您的姓名" },
      { "type": "邮箱", "prompt": "您的邮箱地址" }
      ]
      }
      

代理服务接口(5001端口)

  • POST /process:处理自然语言请求
    • 支持HTTP POST请求,如:
      curl -X POST http://localhost:5001/process \
      -H "Content-Type: application/json" \
      -d '{"command": "创建表单", "details": {"question_count": 3}}'
      

🔧 技术细节

项目依赖

  • Python 3.8+
  • Flask框架
  • google-auth库
  • requests库

贡献指南

  1. 提交代码前请先格式化(black .
  2. 提交PR时需包含单元测试
  3. 现有功能不足之处请在Issues中提出

📄 许可证

项目采用MIT许可证,具体条款参见LICENSE文件。

👏 致谢

感谢以下项目的支持:

  • Model Context Protocol(MCP)社区
  • CamelAIOrg开发团队
  • 谷歌开发者服务
  • 0 关注
  • 0 收藏,29 浏览
  • system 提出于 2025-10-02 02:39

相似服务问题

相关AI产品