エージェントにワークスペースを安全に使わせる
Claude Codeなどのクライアントをワークスペースに接続し、許可する操作を決め、送信を承認し、環境を保護し、シークレットを手の届かない場所に置きます。
Echolotは、ワークスペース用のMCPサーバです。Claude CodeなどのAIエージェントは、リクエストの一覧、送信、レスポンスの読み取りができます。 確認なしで許可する操作、確認が必要な操作、決して許可しない操作は、あなたが決めます。シークレットの値がエージェントに届くことはありません。 このチュートリアルでは、Claude CodeをAlpenglowに接続し、その送信を承認したり拒否したりし、環境を保護し、最後にEcholot内蔵のアシスタントで同じことを行います。
- 所要時間:20分。
- 必要なもの:Alpenglowワークスペースと、MCPクライアント。Claude Code(ターミナルの
claude)、Claude Desktop、Cursor、VS Code、Codexのいずれかです。最後のパートには、モデルプロバイダのAPIキー、またはOllamaのローカルモデルが必要です。 - 学べること:設定 › エージェント、承認、ワークスペースのエージェントルール、保護された環境、シークレットの代わりにエージェントに見えるもの。
1. エージェントをオンにする
- Echolot › 設定…(⌘,)を選んで、エージェントを開きます。
- アクセスで、開いているワークスペースの使用をエージェントに許可をオンにします。
- エージェント用のツールで、リクエストとフローはオンのままにします。リクエストはエージェントによるリクエストの一覧、読み取り、作成、送信を許可し、フローはエージェントに提供したフローを実行します。 それ以外(ワークスペース、環境、仕様、モック、MCPサーバ、履歴、フローの編集)は、オンにするまでオフです。
何をオンにしても、提供されないツールがあります。ポリシー自体、プロキシ、証明書、認証設定、スクリプト、そして提供していないフローの開始です。
2. Claude Codeを接続する
-
Alpenglowのウインドウで、ページ上部のエージェントを選びます。
-
クライアントを接続でClaude Codeを見つけて、コマンドをコピーを選びます。コマンドは次のようになります。
claude mcp add --scope user echolot-alpenglow -- /Applications/Echolot.app/Contents/Helpers/echolot mcp serve /Users/you/Projects/Alpenglow.echolot -
ターミナルにペーストして実行します。
ほかのクライアントにはそれぞれのボタンがあります。Cursorに追加とVS Codeに追加はインストール用リンクを開き、config.tomlのエントリをコピーはCodex用、JSONをコピーはその他のクライアント向けのmcpServersブロックを渡します。Claude DesktopのClaudeに追加は拡張機能をインストールします。
どのクライアントもecholot mcp serveを実行し、その呼び出しは開いているウインドウに渡されます。そのため、あなたの承認とウインドウの環境が適用されます。
Mac App Store版
App Store版には、コマンドラインツールもClaude Desktop拡張機能も含まれていません。先にコマンドラインツールを単体でインストールしてください。コピーするコマンドとスニペットは、それを指します。
エディションを比較
3. 読み取りと送信を許可する
-
ターミナルで
claudeを起動して、次のように頼みます。Using echolot-alpenglow, list the requests in the Catalog folder, send List products, and tell me the most expensive tent in stock.
-
エージェントはリクエストを一覧し、確認なしでList productsを送信します。デフォルトでは、エージェントはワークスペースの読み取りと安全な送信(
GET、GraphQLクエリ、MCPの読み取り)ができます。 -
Echolotでは、エージェントボタンがエージェント · 1に変わります。ポップオーバーの最近の呼び出しにクライアントが一覧され、許可済みのスイッチで遮断できます。
エージェントの送信は、送信者とともに履歴に記録されます(⌘Y)。
4. データを変更する送信を承認する
-
次のように頼みます。
Place an order for one TNT-MH-2P with Create order.
-
Echolotがシートを表示します。Claude Codeがデータを変更する可能性のあるリクエストを送信しようとしていますと、リクエストと送信内容のプレビューが表示されます。
AuthorizationヘッダーはBearer ••••••と表示されます。 -
次のいずれかを選びます。
- 1回だけ許可(↩):この送信だけ。
- このセッションでは許可:ウインドウを閉じるまで、これと同じ送信を許可。
- 拒否(Esc):エージェントに拒否したことが伝えられます。
-
1回だけ許可を選びます。ショップは
201 Createdで応答し、エージェントが新しい注文を報告します。
5. シークレットを手の届かない場所に置く
エージェントに次のように尋ねます。
What is the value of the token variable?
エージェントは答えられません。シークレット変数の値は、エージェントには決して届きません。リクエスト、レスポンス、エラーのどこに現れる場合でも、エージェントには••••••と見えます。書かれたままの値も、JSON、パーセントエンコード、Base64の形式の値も対象です。
レスポンスボディの検索でも、シークレットに一致する件数や位置が明らかになることはありません。
6. ワークスペースのルールを設定する
デフォルトは出発点です。ワークスペースごとに独自のルールを設定でき、ルールはworkspace.tomlに保存されるので、Gitでワークスペースとともに移動します。
- サイドバー下部のワークスペースのメニューを開いてワークスペース設定…を選び、エージェントタブを開きます。
- エージェントにこのワークスペースの使用を許可は、このワークスペースだけエージェントをオフにします。
- エージェントに許可する操作で、操作の種類ごとに許可、確認、拒否(またはデフォルト)を設定します。 リクエストと環境の読み取り、安全な送信(GET、GraphQLクエリ、MCPの読み取り)、その他の送信、保護された環境への送信、新しいホストへの送信、ワークスペースへの変更、削除です。その他の送信を拒否にします。
- ホストと制限で、許可するホストを一覧し、1セッションあたりの送信数または1分あたりの送信数を設定します。
- 完了を選んで、エージェントにもう一度注文を頼みます。シートは表示されずに拒否されます。
デフォルトより厳しいルールは、すぐに適用されます。確認なしで何かを許可するルール(たとえばGitからプルしたワークスペースのもの)は、あなたが信頼するまで有効になりません。エージェントポップオーバーに許可される内容が表示され、ルールを信頼するまでエージェントは確認を求め続けます。これらのルールを信頼を選ぶと、このMacでそれらが受け入れられます。
保護された環境への送信と新しいホストへの送信には、確認と拒否しかありません。確認なしでエージェントにそこへ送信させるルールはありません。エージェントの送信がリダイレクトされても、ワークスペースが知らないホストにシークレットのヘッダーが送られることはありません。
7. 環境を保護する
- ページヘッダーの環境メニューで、Productionを選びます。保護されているため、赤い錠前のマークが付きます。
- エージェントにList productsをもう一度送信させます。シートにClaude Codeが保護された環境に送信しようとしていますと表示されます。このシートでは↩を押しても何も起きません。必ず選ぶ必要があります。拒否を選びます。(AlpenglowのProductionは架空のアドレスなので、送信はどのみち失敗します。)
- 自分でList productsを送信します。ボタンはProductionに送信…になり、アラートにProductionに送信しますか?と表示されます。キャンセルがデフォルトです。環境を切り替えるまで確認しないを選ぶと、別の環境を選ぶまで確認が出なくなります。キャンセルを選びます。
- 環境なしに戻します。
環境を保護するには、環境のページの保護スイッチを使います。保護された環境を参照してください。
8. アプリなしの場合:ポリシー
echolot mcp serveは単独でも動作します。サーバ上やCIのエージェントなど、誰も承認できない場面です。そこではポリシーが決め、確認が必要な操作は拒否されます。
echolot mcp serve Alpenglow.echolot --policy readonly| ポリシー | 実行されるもの | 確認が必要なもの(誰にも確認できない場合は拒否) |
|---|---|---|
standard(デフォルト) | 読み取りと安全な送信 | その他の送信と変更 |
readonly | 読み取り | 送信。変更と削除は拒否 |
permissive | 送信と変更 | 削除、保護された環境、新しいホスト |
アプリなしの場合、起動時にワークスペースにあったスクリプトだけが実行されます。詳しくはエージェントとecholot mcpを参照してください。
9. 内蔵のアシスタント
Echolot自身のアシスタントは、同じツールと同じ承認を通じて、すべてのページの横にあるパネルで動作します。
- Echolot › 設定… › アシスタントを選びます。プロバイダを追加でプロバイダ(Anthropic、OpenAI、Google Gemini、またはOllamaなどのOpenAI互換サーバ)を選び、APIキーまたはアドレスを入力して、追加を選びます。キーはキーチェーンに保存されます。
- Alpenglowのウインドウで⌘Jを押します(またはページヘッダーの端にある魔法の杖を選びます)。
- アシスタントに質問…に、
Send every request in Catalog and tell me which checks fail.と入力します。 - ワークスペースの内容が初めてプロバイダに送られる前に、EcholotはAnthropicに送信しますか?(または選んだプロバイダ)と尋ねます。キャンセルがデフォルトです。許可を選びます。確認はプロバイダごとに1回で、設定 › アシスタントで取り消せます。Mac上のモデルやローカルサーバのモデルでは、確認されません。
- アシスタントの送信も同じシートを通り、シートにはエージェントが…しようとしていますと表示されます。
パネルのヘッダーのモデルに見える内容には、モデルに送られた内容がそのまま表示されます。アシスタントを参照してください。
直接ダウンロード版のみ
直接ダウンロード版では、アシスタントはMac上のコマンドラインのエージェントも使えます(CLIエージェント(ACP):Claude Code、Codex、Gemini CLI)。
エディションを比較次のステップ
- エージェント:すべての設定、ツールセット、その他のクライアント。
- フローで自動化する:フローを1つのツールとしてエージェントに提供します。人に確認する承認ブロックを使います。
- プライバシーとセキュリティ:Macから外に出る内容とその時期。
