Token导航 LogoToken导航TokenDH.com
sava (Gszep) logo
浏览器工具stdio官方级别未说明来源级核验

sava (Gszep)

MCP Server

Sava是一个MCP服务器,为代理编码工具提供对Google Workspace(包括日历、邮件、任务、文档等)的访问权限,通过API和Playwright浏览器自动化实现文档编辑和交互。

工具数

16

提示词数

0

GitHub Stars

1

资源数

0
浏览器自动化PythonClaude日程管理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

gszep

提供方

gszep

最后核验

2026/5/17 20:21

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

uv run playwright install chromium

详细介绍

萨瓦🦉

MCP服务器 这就提供了代理编码工具,如 克劳德代码 亲自访问您的谷歌工作区——日历、电子邮件、任务、文档以及您信任的其他任何内容。

以欧亚鹰鸮命名。静静地看着你的文档,把建议放在重要的地方,甚至知道如何使用谷歌文档的“暗示”模式——谷歌自己的API 还是做不到 经过十年的礼貌请求。

它做什么

阅读(基于API)

工具说明
read_doc阅读任何文件:谷歌文档、谷歌表格、Word(.docx)、Excel(.xlsx)、PDF
list_files列出Sava在Google云端硬盘上可访问的所有文件
write_sheet写入谷歌表格(A1符号)

文档编辑(基于剧作家)

所有文档交互都经过无头Playwright浏览器自动化。这是唯一一种在原生谷歌文档和 .docx 文件处于兼容模式。

工具说明
suggest_edit创建跟踪建议(建议模式)——绿色添加,红色删除线删除
anchor_comment在特定文本上突出显示评论
list_comments列出UI中可见的所有评论和建议
delete_all_comments删除Sava撰写的所有评论

suggest_edit 是建议更改的首选方式。使用 anchor_comment 仅适用于不能作为文本替换表达的注释、问题或解释。

已知限制

  • Google Docs API无法创建建议自2016年以来已知萨瓦与剧作家合作解决了这个问题。
  • Google Docs API无法锚定评论 --内部 kix.* 段落ID 未暴露萨瓦使用剧作家。
  • 驱动器API注释在上不可见 .docx 文件 -API默默地接受它们,但它们不会在GoogleDocs兼容模式下呈现。Sava使用Playwright进行所有评论/建议交互。
  • 谷歌的教程弹出窗口 (“欢迎使用Office编辑”、“编辑可以查看您的视图历史记录”等)可以阻止Playwright。Sava在页面加载时忽略了这些,但新的弹出窗口类型可能需要更新。
  • 编剧工具速度较慢 (约15-30秒),因为它们启动了无头浏览器。

日历

工具说明
list_calendars列出主要用户可见的所有日历
list_events列出即将发生的事件(默认为接下来的7天)
create_event使用位置、描述、时区创建定时或全天事件
update_event修补现有事件上的特定字段
delete_event按ID删除事件

Gmail(只读)

工具说明
list_emails使用Gmail查询语法搜索电子邮件
read_email按邮件ID读取完整的电子邮件内容

任务(只读)

工具说明
list_task_lists列出所有任务列表
list_tasks在任务列表中列出任务

它要去哪里

capabilities/
  gdocs.py       # ✅ docs, sheets, PDFs, comments, suggestions
  calendar.py    # ✅ events CRUD
  gmail.py       # ✅ read-only search and read
  tasks.py       # ✅ read-only list
  gcp.py         # 🔜
  github.py      # 🔜

一个助理,一个身份(sava@yourdomain.com),逐步获得更多功能的信任。

设置

1.谷歌云

创建GCP项目并启用所需的API:

gcloud projects create sava-the-owl
gcloud services enable docs.googleapis.com drive.googleapis.com sheets.googleapis.com calendar-json.googleapis.com gmail.googleapis.com tasks.googleapis.com --project=sava-the-owl

创建服务帐户:

gcloud iam service-accounts create sava-agent \
  --display-name="Sava" \
  --project=sava-the-owl

gcloud iam service-accounts keys create ~/.config/gcloud/sava-agent.json \
  --iam-account=sava-agent@sava-the-owl.iam.gserviceaccount.com \
  --project=sava-the-owl

chmod 600 ~/.config/gcloud/sava-agent.json

在中的服务帐户上启用全域委派 谷歌云控制台 → IAM和管理员→ 服务账户→ 高级设置。

2.谷歌工作区

为Sava创建工作区用户(例如。 sava@yourdomain.com)in admin.google.com。这给了Sava一个真实的身份——建议和评论在谷歌文档中显示为“Sava”。

设置域范围的委派,以便服务帐户可以充当此用户:

  1. 首选 admin.google.com/ac/owl/domainwidedelegation
  2. 添加服务帐户 客户端ID (找到它 gcloud iam service-accounts describe sava-agent@sava-the-owl.iam.gserviceaccount.com --format="value(uniqueId)")
  3. 为设置OAuth作用域 Sava用户 (文档编辑):
   https://www.googleapis.com/auth/documents,https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/spreadsheets
  1. 为设置OAuth作用域 主要用户 (日历、电子邮件、任务——授权访问人员帐户):
   https://www.googleapis.com/auth/calendar,https://www.googleapis.com/auth/gmail.readonly,https://www.googleapis.com/auth/tasks.readonly

共享您希望Sava访问的任何文档 sava@yourdomain.com 作为编辑(不是服务帐户电子邮件)。

3.安装

git clone https://github.com/gszep/sava.git
cd sava && uv sync
uv run playwright install chromium

4.浏览器登录(一次性)

基于Playwright的工具需要保存浏览器会话。运行登录脚本,在打开的浏览器窗口中以Sava用户身份登录,然后关闭它:

uv run python -c "
from playwright.sync_api import sync_playwright
with sync_playwright() as pw:
    browser = pw.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto('https://accounts.google.com/')
    page.wait_for_event('close', timeout=300000)
    context.storage_state(path='$HOME/.config/gcloud/sava-playwright-state.json')
    browser.close()
"

5.用克劳德代码注册

claude mcp add -s user \
  -e GOOGLE_SERVICE_ACCOUNT_FILE=$HOME/.config/gcloud/sava-agent.json \
  -e GOOGLE_IMPERSONATE_USER=sava@yourdomain.com \
  -e GOOGLE_PRIMARY_USER=you@yourdomain.com \
  -- sava uv run --directory /path/to/sava sava

6.创建斜线命令

创建 ~/.claude/commands/sava.md:

You are Sava — a personal AI assistant with access to Google Workspace.

When making changes to documents, always use `suggest_edit` to create inline diffs (green additions, red strikethrough deletions) in the document body. This is Google Docs' "Suggesting" mode — the same as a human switching to Suggesting mode and typing edits.

Only use `anchor_comment` when you need to leave a note, ask a question, or explain something that cannot be expressed as a text replacement.

Never make direct edits to documents (Editing mode). All changes must go through `suggest_edit` (Suggesting mode) so that AI modifications are tracked and reviewable by humans.

Available tools: read_doc, list_files, list_comments, suggest_edit, anchor_comment, delete_all_comments, write_sheet, list_calendars, list_events, create_event, update_event, delete_event, list_emails, read_email, list_task_lists, list_tasks.

$ARGUMENTS

重新启动克劳德代码。然后使用 /sava 从任何项目中调用Sava。

用法

/sava read the research plan summary
/sava review the English consent form and suggest corrections
/sava list comments on the ethics application
/sava update cell A1 in the feedback spreadsheet

/sava 前缀在正常的Claude Code会话(编码、文件编辑、git)和Sava的功能层(Google Workspace)之间创建了一个清晰的边界。没有 /sava,MCP工具将不会被调用。

安全

  • 服务帐户密钥 (~/.config/gcloud/sava-agent.json)--皇冠上的宝石。 chmod 600,永远不要承诺。
  • 剧作家会议 (~/.config/gcloud/sava-playwright-state.json)像饼干罐一样对待。包含的浏览器会话 sava@yourdomain.com.
  • 全域授权 --范围包括文档、驱动器、表格(作为Sava用户)和日历、Gmail、任务(作为主要用户)。服务帐户只能模拟委托用户,Sava只能访问与其显式共享的文件。
  • 无管理员角色 --Sava Workspace用户应该没有管理员权限。只是一个普通用户。

目录标签

目录标签

浏览器自动化PythonClaude日程管理GoogleWorkspace本地部署文档编辑日历管理邮件读取

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

16

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP