Google服务MCP服务器

一个基于Rust的MCP服务器,提供对个人Google服务(如Classroom、Drive等)的访问,支持课程、作业、资料等管理功能。

  • by sinh-x
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 sinh-x/google-classroom-mcp

使用说明

个人谷歌MCP服务器

铁锈 主控程序 该服务器提供对个人谷歌服务的访问,目前包括课堂、云端硬盘、日历等。

工具

工具 参数 说明
courses -- 列出经过身份验证的用户的所有课程
course_details course_id 获取课程信息+最新公告(最多20条)
assignments course_id 获得前5个作业的课程作业+学生提交的作业
course_materials course_id 发布的资源(文档、链接、视频)
course_topics course_id 组织内容的主题(模块/部分)
read_material file_id_or_url 读取Google Drive文件内容(文档、表格、CSV)

先决条件

  1. 启用了所需API的Google Cloud项目
  2. OAuth 2.0凭据(桌面应用程序类型)

谷歌云设置

  1. 首选 谷歌云控制台
  2. 创建项目(或选择现有项目)
  3. 在API和服务下启用所需的API→ 图书馆:
    • 谷歌课堂API
    • Google Drive API
  4. 转到API和服务→ 凭证→ 创建凭据→ OAuth客户端ID
  5. 选择 桌面应用程序 作为应用程序类型
  6. 下载JSON并将其另存为 ~/.config/personal-google-mcp/credentials.json

构建

# With Nix (recommended)
direnv allow   # or: nix develop
pgm-build      # or: cargo build --release

# Without Nix
cargo build --release

验证

运行auth命令一次即可登录谷歌:

cargo run -- auth
# or in nix shell: pgm-auth

这将打开一个谷歌登录浏览器,并将令牌保存到 ~/.config/personal-google-mcp/tokens.json.Tokens在后续运行时自动刷新。

用法

独立(stdio)

cargo run -- run

克劳德桌面版

添加到您的Claude桌面配置(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "personal-google": {
      "command": "/path/to/personal-google-mcp",
      "args": ["run"]
    }
  }
}

MCP检验员测试

npx @modelcontextprotocol/inspector cargo run -- run

发展

nix develop   # or: direnv allow
pgm-dev       # cargo run -- run
pgm-auth      # cargo run -- auth
pgm-test      # cargo test
pgm-build     # cargo build --release

许可证

麻省理工学院