MCP 工具對照表
CatDesk 有兩種本地工具模式:multi-tools(多工具)暴露 10 個工具,read-only(唯讀)只暴露 3 個。本文是完整對照表,以及長時任務 (long-running job) 的正確使用模式。
multi-tools 模式:10 個工具
| 工具 | 類型 | 行為 |
|---|---|---|
catdesk_instruction |
Guide | 回傳 CatDesk 使用說明,並渲染 Binagotchy |
read |
Read | 讀取 workspace 中一或多個文字檔 |
search |
Read | 用 rg、grep 或內建搜尋器搜尋 workspace 內文字 |
write |
Write | 建立或覆寫檔案 |
edit |
Write | 以原子方式 (atomic) 套用帶防護的 replace/range 編輯 |
delete |
Write | 刪除檔案或目錄 |
run_command |
Shell | 執行短 shell 指令並等待完成 |
start_command |
Job | 啟動長時 shell 指令,立即回傳 job ID |
poll_command |
Job | 讀取背景指令的增量輸出與狀態 |
cancel_command |
Job | 停止背景指令及其整個子程序樹 |
read-only 模式:3 個工具
唯讀模式只開放 3 個工具。上游 README 僅註明「3 個」而未逐一列名,一般理解為 Guide / Read 類工具(catdesk_instruction、read、search),實際清單以 TUI 顯示為準:
catdesk_instructionreadsearch
適合想讓 ChatGPT 只看程式碼、不動檔案的場景。
長時任務模式:start → poll → drain
長時指令刻意與 MCP HTTP 請求的生命週期解耦 (decouple)。建置、編譯、相依套件安裝、長測試套件、開發伺服器,都應該走這條路:
start_command:啟動指令,立即拿到 job ID 與初始 cursorpoll_command:帶著 cursor 輪詢,取得增量輸出與狀態
關鍵細節:poll 回應的輸出量有上限 (bounded)。若回應中 hasMoreOutput 為 true,即使指令已到達終態 (terminal state),也要繼續用 nextCursor 輪詢,把緩衝區裡剩下的輸出排乾 (drain),否則會漏掉結尾日誌。
run_command 的 120 秒上限
run_command 是短指令的簡單路徑,等待完成後直接回傳結果。最長 120 秒逾時 (timeout),超時即失敗。任何可能跑超過 2 分鐘的指令,改用 start_command + poll_command。
瀏覽器模式的額外工具
若啟用瀏覽器模式 (browser mode),CatDesk 會額外暴露瀏覽器 / DevTools 工具。這些工具由 chrome-devtools-mcp 橋接 (bridge) 提供,實際清單取決於你的環境,不是固定集合。
search 的後備鏈
search 工具依以下順序挑選搜尋後端:
rg(ripgrep)— 有裝就用,效能最好grep— 沒有 ripgrep 時退回- 內建掃描器 (built-in scanner) — 最後手段
安裝 ripgrep 是可選的,但對大型 workspace 的搜尋速度幫助明顯。安裝方式見安裝與啟動 CatDesk。