
Arezzo
io.github.ConvergentMethods由 GitHub 帳號 ConvergentMethods 發布v0.1.1更新於 Oct 27, 2026
Deterministic Google Docs API compiler. Your agent stops silently corrupting documents.
概覽
本機 MCP 伺服器,以語意化操作讀取與編輯 Google 文件,並編譯成正確的 batchUpdate 請求。
- 可以做什麼
- 讀取文件結構:標題階層、命名範圍、表格與分節邊界
- 編輯文件:插入、刪除或取代文字,設定格式、連結與標題
- 插入表格與列欄、清單、圖片、頁首頁尾、註腳與命名範圍
- 試跑操作,在實際執行前檢視編譯出的請求
- 適用情境
- 適合需要可靠修改 Google 文件的情境,尤其是多步驟編輯,手動計算索引很容易損壞文件。README 建議編輯前先讀取文件,結構性變更後再讀取一次。
- 執行需求
- 以 Python 套件透過 pip 安裝在本機,再用初始化指令寫入 MCP 用戶端設定檔。需要已啟用 Google Docs API 的 Google Cloud 專案,以及 OAuth 2.0 桌面應用程式類型的用戶端憑證檔,透過 GOOGLE_APPLICATION_CREDENTIALS 環境變數指定;首次須在瀏覽器完成一次 OAuth 授權。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Arezzo,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Arezzo
Deterministic compiler for Google Docs API operations.
You cannot safely modify a Google Doc by constructing batchUpdate requests yourself. The API uses UTF-16 code units with cascading index shifts — insert 10 characters at position 50, and every subsequent index in your batch is now wrong. A single miscalculation silently corrupts the document with no error message.
Arezzo compiles semantic intent into a correct request sequence. Tell it what you want to do; it handles the index arithmetic.
For AI agents (MCP tools)
Arezzo exposes three tools via the Model Context Protocol:
Operation format
Address modes:
{"heading": "Section Name"}— by heading text{"named_range": "range_name"}— by named range{"bookmark": "bookmark_id"}— by bookmark ID{"start": true}— document start{"end": true}— document end{"index": 42}— absolute UTF-16 index
Operation types:
insert_text, delete_content, replace_all_text, replace_section,
update_text_style, update_paragraph_style, insert_bullet_list,
insert_table, insert_table_row, insert_table_column,
delete_table_row, delete_table_column, insert_image,
create_header, create_footer, create_footnote,
create_named_range, replace_named_range_content, insert_page_break
Recommended workflow
Always read before editing. After inserting structural elements (tables, headers, footers), read again to get the new element indices before adding content inside them.
Installation
arezzo init walks through Google OAuth setup and writes platform config files for your MCP client.
Setup
Prerequisites: A Google Cloud project with the Google Docs API enabled and an OAuth 2.0 client ID (Desktop application type).
The wizard:
- Copies your
credentials.jsonto~/.config/arezzo/ - Runs the OAuth consent flow (browser opens once)
- Generates config files for Claude Code, Cursor, and VS Code
For Claude Desktop, arezzo init prints the config block to add manually.
Platform configs
After arezzo init, config files are written to your project directory:
Claude Code / Cursor (.mcp.json):
VS Code (.vscode/mcp.json):
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Why Arezzo exists
The Google Docs batchUpdate API operates on UTF-16 code units with absolute index positions. Every character insertion or deletion shifts all subsequent indices. In a batch with multiple mutations, each request's indices must account for the effect of every prior request in the same batch.
Getting this right requires:
- UTF-16 length calculation (not Python
len()— surrogate pairs count differently) - Reverse-order execution for same-type mutations (delete from end to start)
- Two-phase compilation (content mutations before format mutations)
- Cascading offset tracking across multi-step operations
Arezzo handles this deterministically. The same input always produces the same output. No reasoning, no guessing, no "usually works."
Architecture
The engine is a pure function: compile_operations(doc, operations) → requests. Deterministic. No side effects. No API calls.
The MCP server (arezzo.server) wraps the engine with Google Docs API I/O and behavioral guidance fields (next_step, present_to_user, document_reality).
License
MIT — Convergent Methods, LLC
來源:README.md,提交 8a458d7
工具
0版本歷史
1- v0.1.1最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分