// 設定檔
settings.json
遠端伺服器放在 context_servers 底下。用 zed: open settings file 開啟檔案,或從 Settings → AI → MCP Servers 新增伺服器。
給 Zed 使用者
Zed 代理依據你開啟的檔案和你給的指示工作。Maguyva 為整個程式碼庫建立索引並透過 MCP 回傳,所以代理會直接問某個符號在哪裡,而不是用猜的。
Free 方案:3 個儲存庫, 最多索引 5 萬行儲存庫程式碼,免信用卡。
一筆 context_servers 項目:一個 URL,加一個 Authorization 標頭。 四項 Zed 專屬事實,沒有一項困難。
// 設定檔
遠端伺服器放在 context_servers 底下。用 zed: open settings file 開啟檔案,或從 Settings → AI → MCP Servers 新增伺服器。
// 傳輸方式
Zed 透過 HTTP 直接連到 Maguyva 的遠端端點。不需要本機程序,也不需要 Node.js。
// 金鑰
本指南沒有驗證 Zed 標頭中的環境變數展開,所以金鑰直接寫進 Authorization 標頭。請把它放在使用者設定裡,而不是會提交的檔案裡。
// 核准
Zed 預設在每次呼叫工具前都會詢問。可以在 agent.tool_permissions.tools 底下,用 mcp:maguyva:find_symbol 這類鍵,逐一允許 Maguyva 的工具。
# .rules
- 宣告變更完成前,先執行程式碼庫的測試指令。
- 只在被要求修改的套件內編輯。Zed 只載入一個專案指示檔:在一份以 .rules 開頭、包含 AGENTS.md 與 CLAUDE.md 的固定清單中,第一個符合的那個。個人指示放在 ~/.config/zed/AGENTS.md。適合寫進去的有:
指示檔告訴代理該怎麼工作。它沒辦法告訴代理,四千個檔案裡有哪些在呼叫它正要修改的那個函式。
Zed 代理無法從眼前檔案學到的三件事。
代理只看得到你開啟的和它 grep 到的。另一個套件裡同名的輔助函式看起來一模一樣,直到錯的那個被出貨。
“改了這個簽章會壞掉什麼?”是圖譜的問題。沒有索引,代理只能一個檔案一個檔案地讀,直到回合數或脈絡用完。
代理為了摸清狀況而開啟的每個檔案,都在消耗原本能用在變更本身的 token。一個附 file:line 的排序答案,比十次試探性讀取更省。
一筆 context_servers 項目讓 Zed 代理獲得:
Zed 給代理一個快速的編輯器。
Maguyva 給代理一張程式碼地圖。
先問地圖,再動手編輯。
// workflow 01
zed agent> 對外 Webhook 的重試策略在哪裡? find_symbol("retryPolicy") src/webhooks/dispatch.ts:41 retryPolicy() ← 實作 src/webhooks/__mocks__/dispatch.ts:9 ← 測試替身 → 代理開啟的是 dispatch.ts:41,而不是測試替身。 [exit 0]
一次排序查詢取代一輪 grep。答案以代理能直接開啟的路徑和行號回傳。
// workflow 02
zed agent> 幫 fetchInvoice 加一個 timeout 參數 dependency_search("fetchInvoice", dependents) 分布在 4 個套件中的 7 個呼叫端 → 代理一次更新全部七個呼叫點。 [exit 0]
影響範圍在第一次編輯前就到手,而不是在建置失敗之後。
三個步驟。Free 方案:3 個儲存庫, 最多索引 5 萬行儲存庫程式碼,免信用卡。
// step 01
挑一個你已經熟悉的,這樣你才能評分答案。
// step 02
~/.config/zed/settings.json
{
"context_servers": {
"maguyva": {
"url": "https://maguyva.tools/mcp",
"headers": {
"Authorization": "Bearer mgv_xxxx"
}
}
}
} // step 03
把 mgv_xxxx 換成你的 API 金鑰並儲存。問代理一個你已經知道答案的問題,再開啟它引用的檔案。