本文へスキップ

Zedユーザー向け

Zedは速い。それでもエージェントはコードを探す必要がある。

Zedのエージェントは、あなたが開いたファイルと与えた指示をもとに作業します。Maguyvaはリポジトリ全体をインデックス化してMCP経由で返すので、エージェントは推測する代わりにシンボルの場所を尋ねられます。

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

context_serversのエントリは1つ。URLとAuthorizationヘッダーだけ。

Zedについて知っておくこと

Zed特有の4つの事実。どれも難しくありません。

// 設定ファイル

settings.json

リモートサーバーはcontext_serversの下に置きます。zed: open settings fileでファイルを開くか、Settings → AI → MCP Serversからサーバーを追加します。

// トランスポート

URLでリモート接続

ZedはMaguyvaのリモートエンドポイントにHTTPで直接接続します。ローカルプロセスもNode.jsも不要です。

// キー

ヘッダーにそのまま記述

Zedのヘッダーでの環境変数展開はこのガイドでは検証していないため、キーはAuthorizationヘッダーに直接書きます。コミットするファイルではなく、ユーザー設定に置いてください。

// 承認

ツールの権限

Zedはデフォルトでツール呼び出しのたびに確認します。agent.tool_permissions.toolsの下で、mcp:maguyva:find_symbolのようなキーを使い、Maguyvaのツールを1つずつ許可できます。

プロジェクトの指示は作業上の取り決めです。使いましょう。

# .rules
- 変更を完了とする前に、リポジトリのテストコマンドを実行する。
- 依頼されたパッケージの中だけを編集する。

Zedが読み込むプロジェクト指示ファイルは1つだけです。.rulesで始まりAGENTS.mdやCLAUDE.mdを含む固定リストの中で、最初に見つかったものです。個人の指示は~/.config/zed/AGENTS.mdに置きます。用途は次のとおり:

  • ビルド、テスト、lintのコマンド。
  • エージェントが何度も間違える規約。
  • エージェントが触れてはいけないディレクトリ。

指示ファイルはエージェントに作業の仕方を教えます。しかし、これから変更する関数を4,000個のファイルのうちどれが呼んでいるかは教えられません。

開いたバッファの限界

Zedのエージェントが目の前のファイルからは学べない3つのこと。

// 開いたファイルはリポジトリではない

エージェントに見えるのは、あなたが開いたものとgrepした結果だけです。別パッケージにある同名のヘルパーは、間違った方が出荷されるまで見分けがつきません。

// 呼び出し元は画面にない

“このシグネチャを変えたら何が壊れる?”はグラフの問いです。インデックスがなければ、エージェントはターンかコンテキストが尽きるまでファイルを1つずつ読み続けます。

// コンテキストには予算がある

状況把握のためにエージェントが開くファイルは、変更そのものに使えたはずのトークンを消費します。file:line付きのランク付けされた回答1つは、手探りの読み込み10回より安く済みます。

ZedのコンテキストサーバーとしてのMaguyva

context_serversのエントリ1つで、Zedのエージェントが得られるもの:

  • インデックス済みリポジトリに対する11個のツール セマンティック、構造(AST)、グラフ、テキスト検索に加え、シンボル検索、依存元、ファイル取得。
  • ファイルパスと行番号付きの回答 285以上の言語に対応。エージェントは最初から正しいファイルを開けます。
  • 常に最新のツール一覧 サーバーが変更を通知すると、Zedは再起動なしでそのサーバーのツールを再読み込みします。

Zedはエージェントに速いエディタを与える。

Maguyvaはエージェントにコードの地図を与える。

2つのワークフロー

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

// 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]

ランク付けされた検索1回が、grepの往復を置き換えます。回答はエージェントがそのまま開けるパスと行で返ってきます。

// workflow 02

シグネチャ変更の前に依存元を確認する

zed agent> fetchInvoiceにtimeout引数を追加して

dependency_search("fetchInvoice", dependents)
  4パッケージにまたがる7つの呼び出し元

→ エージェントは7つの呼び出し箇所を一度に更新します。
[exit 0]

影響範囲は、ビルドが失敗した後ではなく、最初の編集の前に分かります。

Zedでのセットアップ

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

  1. // step 01

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

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

  2. // step 02

    Zedの設定のcontext_serversにMaguyvaを追加

    ~/.config/zed/settings.json

    {
      "context_servers": {
        "maguyva": {
          "url": "https://maguyva.tools/mcp",
          "headers": {
            "Authorization": "Bearer mgv_xxxx"
          }
        }
      }
    }
  3. // step 03

    プレースホルダーを置き換えて、質問を1つしてみる

    mgv_xxxxをあなたのAPIキーに置き換えて保存します。答えをすでに知っている質問をエージェントに1つして、引用されたファイルを開いてみましょう。