# Copilotはワークスペースを見る。Maguyvaはリポジトリを地図にする。

Canonical source: https://maguyva.ai/ja/for-vscode

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).

VS Codeのエージェントが読むのは、あなたが添付したファイルと、自分で検索したファイルだけです。Maguyvaはリポジトリ全体をインデックス化してMCPで返すので、エージェントは編集の前に、シンボルがどこにあり誰が呼んでいるかを尋ねられます。

> .vscode/mcp.jsonにserversエントリを1つ。URLとAuthorizationヘッダーだけです。

## VS Codeについて知っておくこと

VS Code特有の4つの事実。

### .vscode/mcp.json

サーバーは`mcpServers`ではなく`servers`の下に置きます。すべてのワークスペースで使うには、`MCP: Open User Configuration`を実行し、プロファイルの`mcp.json`に同じエントリを追加します。

### type: http

VS CodeはMaguyvaのエンドポイントにStreamable HTTPで接続し、サーバーが対応していない場合に限りSSEにフォールバックします。ローカルでは何も動きません。

### 環境変数の参照

ヘッダーは`Bearer ${env:MAGUYVA_API_KEY}`です。VS Codeは起動時の環境からこれを解決するので、キーはコミットするファイルに入りません。入力を求められる方式がよければ、入力変数を使うと一度だけ尋ねてキーを保存します。

### ワークスペースの信頼

ワークスペースを信頼すると、`.vscode/mcp.json`のサーバーは別の確認なしで起動します。制限モードでは起動しません。チャット入力のConfigure Toolsで、ツールを1つずつオン・オフできます。

## カスタム指示は作業上の取り決めです。活用しましょう。

```text
# .github/copilot-instructions.md
- 変更を完了とする前に npm test を実行する。
- src/gen/ 以下の生成ファイルは編集しない。
```

VS Codeはプロジェクト全体の指示を`.github/copilot-instructions.md`または`AGENTS.md`から、対象を絞った指示を`applyTo`パターン付きの`.github/instructions/*.instructions.md`ファイルから読み込みます。用途は次のとおりです。

- ビルド、テスト、lintのコマンド。
- エージェントが何度も間違える規約。
- エージェントに触らせたくないフォルダー。

指示はエージェントに働き方を伝えます。これから名前を変える型を4,000ファイルのうちどれがインポートしているかは、教えられません。

## ワークスペースの視界が尽きるところ

開いているファイルからは、エージェントが学べない3つのこと。

### // 添付がすべてではない

エージェントは、あなたが添付したものと検索結果をもとに動きます。変更後に壊れる別パッケージの呼び出し元は、どちらのリストにも入っていませんでした。

### // 文字列一致は参照ではない

ワークスペース検索は文字列を見つけます。本物の呼び出しと、コメント、モック、別クラスの同名メソッドを区別することはできません。

### // 読むたびにコンテキストを消費する

状況把握のためにエージェントが開くファイルは、変更に必要なコンテキストを削っていきます。file:line付きのランク済み回答1つは、探索的な読み込み10回より安く済みます。

## VS CodeのMCPサーバーとしてのMaguyva

serversエントリ1つで、エージェントが得るもの:

- **インデックス済みリポジトリに対する11個のツール**: セマンティック、構造（AST）、グラフ、テキスト検索に加え、シンボル検索、依存元、ファイル取得。
- **ファイルパスと行番号付きの回答**: 285以上の言語に対応。エージェントは最初から正しいファイルを開けます。
- **読み取りだけのツール**: Maguyvaのツールはインデックスを照会するだけです。ファイルを編集するツールはないので、承認するのは常に読み取りで、書き込みではありません。

> VS Codeはエージェントに*ワークスペース*を与える。
> Maguyvaはエージェントに*リポジトリの地図*を与える。

## 2つのワークフロー

まず地図に聞き、それから編集する。

### 01. パーサーを変える前にテストを見つける

```text
vscode agent> parseConfigを通るテストはどれ?

dependency_search("parseConfig", dependents)
  tests/config/parse.test.ts:12
  tests/cli/flags.test.ts:88

→ エージェントは編集後、スイート全体ではなくこの2ファイルを実行します。
[exit 0]
```

回答がパーサーに届く2つのテストファイルを名指しするので、エージェントは壊れうる場所で変更を確かめます。

### 02. 最初の編集の前にリネームの規模を測る

```text
vscode agent> OrderStatus.PENDINGをOrderStatus.QUEUEDにリネームして

find_symbol("OrderStatus", references)
  9ファイルに23件の参照

→ エージェントは9ファイルを1回で処理する計画を立てます。
[exit 0]
```

参照の数は、型チェックが失敗した後ではなく、編集の前に届きます。

## VS Codeでのセットアップ

3ステップ。Freeプラン:リポジトリ3個, インデックス済みリポジトリ行数、最大5万行、カード不要。

### 01. maguyva.aiでリポジトリをインデックス化

回答を評価できるよう、すでによく知っているリポジトリを選びましょう。

### 02. .vscode/mcp.jsonにMaguyvaを追加

`.vscode/mcp.json`

```json
{
  "servers": {
    "maguyva": {
      "type": "http",
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer ${env:MAGUYVA_API_KEY}"
      }
    }
  }
}
```

### 03. キーを設定してサーバーを起動する

VS Codeを起動する環境で`MAGUYVA_API_KEY`を設定し、エントリの上のコードレンズからサーバーを起動します。答えをすでに知っている質問をエージェントに1つしてみましょう。

VS Code公式の[MCPドキュメント](https://code.visualstudio.com/docs/agent-customization/mcp-servers)に、入力変数、ポータブルな.mcp.json形式、サーバーの信頼の説明があります。

## すでに知っているリポジトリを1つインデックス化。

VS CodeをMCPで接続し、確かめられる質問を1つしてみましょう。
