# Claude Desktop 看不到你的程式碼庫。給它一個。

Canonical source: https://maguyva.ai/zh-hant/for-claude-desktop

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

很多人會在 Claude Desktop 裡詢問自己此刻沒在編輯的程式碼：程式碼審查、新人到職、事故電話會議。Maguyva 為程式碼庫建立索引並透過 MCP 提供，所以答案引用的是檔案和行號，而不是記憶。

> 不必簽出程式碼。直接問索引。

## 關於 Claude Desktop 你需要知道的

四項 Claude Desktop 專屬事實。

### claude_desktop_config.json

從 Settings → Developer → Edit Config 開啟。在 macOS 上位於 `~/Library/Application Support/Claude/`；在 Windows 上位於 `%APPDATA%\Claude\`。

### 本機橋接

這個檔案用來啟動本機程序，所以本指南透過 `npx` 執行 `@maguyva/mcp`。必須安裝 Node.js。

### 一筆 env 項目

橋接程式從同一個檔案中伺服器的 `env` 區塊讀取 `MAGUYVA_API_KEY`。

### 結束，再重新開啟

Claude Desktop 在啟動時讀取這個檔案。編輯後請完全結束應用程式；伺服器會在下次啟動時執行。

## 專案指示定下基調，儘管用。

Claude 的專案功能可以存放指示和檔案，專案裡的每段對話一開始就會帶上它們。適合放進去的有：

- 答案寫給誰看：審查者、新同事、值班工程師。
- 解說與摘要的內部風格。
- 幾份你希望被引用的文件，例如架構總覽。

上傳的檔案只是快照。你上傳後的隔天，程式碼庫就已經往前走了。

## 貼上程式碼不夠用的地方

少了程式碼本身，關於程式碼的對話會出錯的三種情況。

### // 貼上的片段會過時

上週貼進對話的檔案，描述的是上週的程式碼。Claude 會依據拿到的那個版本，信心滿滿地回答。

### // 片段不是整個系統

單一檔案很少能回答“這裡失敗了會發生什麼事？”處理常式、重試和警示通常分散在三個不同的套件裡。

### // 沒有簽出，就沒有 grep

Claude Desktop 沒有你程式碼庫的工作副本。沒有工具的話，關於結構的每個答案，都取決於你記得貼了什麼。

## 作為 Claude Desktop 中 MCP 伺服器的 Maguyva

一筆 mcpServers 項目讓 Claude 獲得：

- **針對已索引程式碼庫的 11 個工具**: 語意、結構（AST）、圖譜與文字搜尋，外加符號查找、依賴方與檔案擷取。
- **附檔案路徑與行號的答案**: 涵蓋 285+ 種語言，每個說法你都能查證。
- **感知分支的結果**: 讓 Claude 回答你指定的分支，而不是上個月某人上傳的檔案。

> 專案指示告訴 Claude *怎麼回答*。
> Maguyva 給 Claude *作答所依據的程式碼*。

## 兩種工作流程

那些你原本得開 IDE 才能回答的問題。

### 01. 在審查時解說一條程式碼路徑

```text
claude> 付款 Webhook 的簽章檢查失敗後會發生什麼事？

semantic_search("webhook signature verification failure")
  src/payments/webhooks.ts:64   verifySignature()
  src/payments/webhooks.ts:91   rejectAndAlert()

→ Claude 回答時引用了這兩行。
[exit 0]
```

答案的每一步都指向一個你能開啟的檔案和行號。

### 02. 規劃前先估算變更規模

```text
claude> 有幾個地方在讀舊的 plan_code 欄位？

text_pattern_search("plan_code")
  9 個檔案中有 14 筆符合
dependency_search("getPlanCode", dependents)
  6 個呼叫端

→ 估算從一個數字出發，而不是靠猜。
[exit 0]
```

在沒人開著程式碼庫的規劃會議上很好用。

## 在 Claude Desktop 中設定

三個步驟。Free 方案：3 個儲存庫, 最多索引 5 萬行儲存庫程式碼，免信用卡。

### 01. 在 maguyva.ai 索引一個程式碼庫

挑一個你已經熟悉的，這樣你才能評分答案。

### 02. 把 Maguyva 加進 claude_desktop_config.json

`claude_desktop_config.json`

```json
{
  "mcpServers": {
    "maguyva": {
      "command": "npx",
      "args": [
        "-y",
        "@maguyva/mcp"
      ],
      "env": {
        "MAGUYVA_API_KEY": "mgv_xxxx"
      }
    }
  }
}
```

### 03. 替換預留位置、重新啟動，然後問一個問題

把 `mgv_xxxx` 換成你的 API 金鑰，完全結束 Claude Desktop 再重新開啟。如果伺服器沒有出現，請查看 Claude 記錄檔資料夾（macOS 上為 `~/Library/Logs/Claude`）中的 `mcp-server-maguyva.log`。

[MCP 本機伺服器指南](https://modelcontextprotocol.io/docs/develop/connect-local-servers) 更詳細地說明了設定檔及其記錄檔。

## 索引一個你已經熟悉的程式碼庫。

透過 MCP 連接 Claude Desktop，然後問一個你能查證的問題。
