# Warpのエージェントはターミナルに住む。リポジトリの地図を渡そう。

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

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

Warpのエージェントはコマンドを実行し、その出力を読みます。Maguyvaはリポジトリ全体をインデックス化してMCPで返すので、エージェントは何かが一致するまでgrepとcatを繰り返す代わりに、コードの場所を尋ねられます。

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

## Warpについて知っておくこと

Warp特有の4つの事実。

### ~/.warp/.mcp.json

Warpはこのグローバルファイルにあるサーバーを自動で起動します。同じJSONをSettings → Agents → MCP servers → + Addに貼り付けることもできます。

### URLでリモート接続

`url`エントリはStreamable HTTPまたはSSEで接続します。ローカルでは何も動かず、Node.jsも不要です。

### ヘッダーにそのまま記述

キーは`Authorization`ヘッダーに直接書きます。コミットするプロジェクトの`.warp/.mcp.json`ではなく、グローバルファイルに置いてください。

### 自動起動しない

Warpはクローンしたリポジトリの`.warp/.mcp.json`を検出しますが、各サーバーの起動はあなたを待ちます。設定を有効にすれば、Claude CodeやCodexの設定にあるサーバーも読み込めます。

## プロジェクトルールは作業の取り決め。活用しましょう。

```text
# AGENTS.md
- 変更を完了とする前に make test を実行する。
- その場しのぎのコマンドではなく bin/ のスクリプトを使う。
```

Warpはプロジェクトルールを`AGENTS.md`(両方あれば`WARP.md`が優先)から読み込み、グローバルルールをどこでも適用します。用途は次のとおりです。

- ビルド、テスト、デプロイのコマンド。
- エージェントが何度も間違える規約。
- エージェントに絶対に実行させないコマンド。

ルールはエージェントに働き方を伝えます。これから削除する環境変数を、どのサービスがまだ読んでいるかは教えられません。

## ターミナルのgrepが尽きるところ

シェルのセッションが安く学べない3つのこと。

### // 出力は流れていく

エージェントが実行するgrepやcatの結果は、すべて会話に入ります。200行を出力する検索は、本題に入る前にコンテキストを使い切っていきます。

### // 一致は呼び出し元ではない

grepには、本物の呼び出しと、コメント、フィクスチャ、別クラスの同名メソッドを区別できません。

### // シェルは毎回ゼロから始まる

新しいセッションはリポジトリについて何も知りません。Maguyvaのインデックスはすでにできているので、最初の質問からランク付きの答えが返ります。

## WarpのMCPサーバーとしてのMaguyva

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

- **インデックス済みリポジトリに対する11個のツール**: セマンティック、構造（AST）、グラフ、テキスト検索に加え、シンボル検索、依存元、ファイル取得。
- **ファイルパスと行番号付きの回答**: 285以上の言語に対応。ターミナルのペインで読める短さです。
- **読み取りだけのツール**: Maguyvaのツールはインデックスを照会するだけです。ファイルの編集もコマンドの実行もしません。

> Warpはエージェントに*ターミナル*を与える。
> Maguyvaはエージェントに*コードの地図*を与える。

## 2つのワークフロー

まず地図に聞き、それからコマンドを実行する。

### 01. 失敗するスクリプトを原因までたどる

```text
warp agent> deploy.shが失敗: BUILD_IDが未設定。どこで設定している?

text_pattern_search("BUILD_ID=")
  ci/env.sh:9   export BUILD_ID=...
  docs/deploy.md:31   ← 説明文

→ エージェントはci/env.shを読み込んで、デプロイを再実行します。
[exit 0]
```

インデックス済みの検索1回が、リポジトリ全体への再帰grepとその出力を置き換えます。

### 02. 起動処理を変える前に呼び出し元を確かめる

```text
warp agent> 起動時にマイグレーションを実行するのをやめられる?

dependency_search("runMigrations", dependents)
  呼び出し元3件: server.ts, worker.ts, scripts/seed.ts

→ エージェントは3件ともリリース手順に移します。
[exit 0]
```

呼び出し元が変更の前に届くので、ワーカーが古いスキーマのまま起動することはありません。

## Warpでのセットアップ

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

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

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

### 02. ~/.warp/.mcp.jsonにMaguyvaを追加

`~/.warp/.mcp.json`

```json
{
  "mcpServers": {
    "maguyva": {
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer mgv_xxxx"
      }
    }
  }
}
```

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

`mgv_xxxx`をあなたのAPIキーに置き換えて保存します。Settings → Agents → MCP serversでサーバーが動いていることを確かめ、答えをすでに知っている質問を1つしてみましょう。

Warp公式の[MCPドキュメント](https://docs.warp.dev/agents/capabilities/mcp/)に、ファイルベースのサーバー、共有、認証の説明があります。

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

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