Skip to content

MCP、REST、アプリ内エージェント ​

Eidograph はエージェント向けに 3 つの経路を提供しており、いずれも同じツール群に行き着きます。

経路適した用途利用できる環境
アプリ内エージェント現在のプロジェクトを自然言語で変更するWindows と Android のアプリ
MCP Streamable HTTPリモート HTTP MCP に対応するエージェントプラットフォームWindows アプリ
JSON REST APIスクリプト、ワークフロー、独自のエージェントWindows アプリ

ツールがスクリプトを変更する前に、Eidograph は変更候補をコンパイルします。コンパイラーエラーやスキップされたコマンドの警告がある編集は拒否され、現在のスクリプトは変更されません。成功した編集は、ただちに保存、再描画され、通常の元に戻す履歴に入ります。

ネイティブサーバーを有効にする ​

  1. インストール済みのアプリで、設定 › MCP / REST サーバーを開きます。
  2. サーバーを有効にして、ステータスが実行中であることを確認します。既定のポートは 14159 です。
  3. クライアントが必要とするツールだけを有効にします。
  4. 図形パネルで、各図形の横にある公開ドットを確認します。塗りつぶされたドットは、外部クライアントがアクセスできることを意味します。
  5. 信頼できるネットワークでない限り、既定のループバックバインドのままにしてください。

既定のエンドポイント:

txt
MCP   http://127.0.0.1:14159/mcp
REST  http://127.0.0.1:14159/api/v1

DANGER

LAN モードは 0.0.0.0 にバインドされ、インターネット中継はありません。そのネットワーク上のネイティブクライアントは、有効にしたツールを呼び出せます。LAN モードをオンにする前にアクセストークンを有効にし、信頼できるネットワークでのみ使用して、使い終わったらオフにしてください。

アクセストークンを必須にする ​

サーバーは既定では認証なしで動作します。ループバックに留まっている間は、PC 上で既に動作しているプログラムしかアクセスできないため、十分に安全です。設定 › MCP / REST サーバー › アクセストークンを必須にするをオンにすると(LAN モードを有効にする前に必ず行ってください)、Eidograph が、すべてのリクエストに付与しなければならないシークレットを生成します。

txt
Authorization: Bearer <token>

これがないリクエストには 401 が返されます。設定画面にはトークンがコピーボタンとともに表示され、トークンを置き換えるでローテーションでき、オフにするとトークンは消去されます。どちらも即座に有効になるため、設定済みのすべてのクライアントを更新してください。

別のプログラムからサーバーを見つける ​

ポートは設定で変えられるため、アプリの外部から前提にすることはできません。リスナーが起動している間、Eidograph は検出ファイルを公開し、サーバーが停止するかアプリを終了すると削除します。

プラットフォームパス
Windows%LOCALAPPDATA%\eidograph.metaphor.projects\server.json
macOS~/Library/Application Support/eidograph.metaphor.projects/server.json
Linux$XDG_DATA_HOME/eidograph.metaphor.projects/server.json
json
{
  "version": "0.2.19",
  "pid": 24680,
  "updatedAt": 1757000000000,
  "bindAddress": "127.0.0.1",
  "port": 14159,
  "mcp": "http://127.0.0.1:14159/mcp",
  "api": "http://127.0.0.1:14159/api/v1",
  "token": "3f9c…",
  "lanAddresses": []
}

mcp または api を読み取り、token をベアラートークンとして送信します。不要な場合、token は null です。このファイルを読むのはすべて同じマシン上のプログラムなので、LAN モードでも公開される URL はループバックのままです。設定 › MCP / REST サーバーには、正確なパスが表示され、コピーもできます。ファイルがない場合は、推測したポートにフォールバックせず、「サーバーが動作していない」ものとして扱ってください。

Claude Desktop ​

Claude Desktop は MCP サーバーをローカルの stdio プロセスとしてインストールするため、HTTP の URL を直接貼り付けることはできません。両者を橋渡しするために、eidograph-mcpb 拡張機能をインストールしてください。設定は不要で、ポートとアクセストークンを自動的に見つけ、リクエストのたびに読み直します。スクリーンショット付きの詳しいインストール手順や、別のデバイスで動作している Eidograph に接続する方法は、Claude Desktop を参照してください。

MCP プラットフォームに接続する ​

Streamable HTTP に対応するクライアント(アプリがコピーする Trae / WorkBuddy の設定を含む)には、次のサーバーを追加します。

json
{
  "mcpServers": {
    "Eidograph": {
      "url": "http://127.0.0.1:14159/mcp",
      "transport": "streamable-http",
      "disabled": false
    }
  }
}

設定ファイルの場所や外側のスキーマはプラットフォームによって異なりますが、重要な値は、サーバー名、URL、Streamable HTTP のトランスポートです。ローカルの stdio MCP プロセスにしか対応しないプラットフォームでは、この URL を command フィールドに入れないでください。そのプラットフォームが対応している HTTP コネクターまたはブリッジを使用してください。

接続後は、クライアントにツールを検出させ、現在のスクリプトまたはコマンドレジストリを読み取ります。確実なエージェントの手順は次のとおりです。

  1. list_figures で対象を確認する。
  2. get_script と list_objects で現在の図形を把握する。
  3. list_commands で、アクティブな 2D/3D 方言で有効な構文を調べる。
  4. 追加の変更には append_commands を使い、既存の行を書き換える必要があるときだけ set_script を使う。
  5. list_diagnostics で結果を検証し、問題があれば修正する。

REST API を呼び出す ​

エンドポイントの仕様、すべてのツールのスキーマ、書き出しのエンコード、エラーの挙動、JavaScript/Python/PowerShell の例については、REST API Reference を参照してください。

まずステータスとツールの検出を確認します。

bash
curl http://127.0.0.1:14159/api/v1/status
curl http://127.0.0.1:14159/api/v1/tools

2 つの点と線分を作成します。

bash
curl -X POST http://127.0.0.1:14159/api/v1/tools/append_commands \
  -H "Content-Type: application/json" \
  -H "X-Eidograph-Client: my-agent" \
  -d '{"commands":"point A -2 0\npoint B 2 0\nsegment s A B"}'

レスポンスは 1 つのエンベロープを使います。成功時は {"ok":true,"result":...}、失敗時は {"ok":false,"error":...} です。省略可能な X-Eidograph-Client ヘッダーを付けると、設定のアクティビティに呼び出し元の分かりやすい名前が表示されます。

現在のインターフェースでは、図形の読み取りと一覧表示、図形の作成、スクリプトの追記または置換、オブジェクト/診断/コマンドの一覧表示、キャンバス上のオブジェクトの選択、公開されている図形の SVG、PNG、GIF、MP4 での書き出しができます。ツールの権限と図形の公開状態は、呼び出しのたびに強制されます。

アプリ内エージェントを設定する ​

設定 › エージェントで複数のモデルを保存し、エージェントのヘッダーから切り替えます。Eidograph は 3 つのプロトコル系統に対応しています。

  • OpenAI 互換の Chat Completions エンドポイント。
  • Anthropic Messages。
  • Google Gemini / Vertex の generateContent。

保存した各モデルには、表示名、プロバイダー、ベース URL、API キー、モデル ID があります。モデルの検出に失敗した場合は、ID を手動で入力できます。Ollama や LM Studio などのローカルエンドポイントも使えますが、エンドポイントはアプリの WebView からのクロスオリジンリクエスト (CORS) を許可している必要があります。

アプリ内エージェントは、添付または貼り付けた画像を受け付けます。教科書の写真やスケッチを作図に変換するのに便利です。画像認識への対応はモデルのエンドポイントによって決まり、非対応のリクエストは会話内にエラーとして表示されます。

Windows と Android のアプリでは、エージェントは Web での調査もできます。web_search は DuckDuckGo で定理、作図、参考図を検索し、web_fetch はページをテキストとして読み取り、または URL で指定した画像(たとえば再現したい図)を確認します。アクセスできるのは公開ウェブサイトのみです。この 2 つのツールはアプリ内エージェント専用で、MCP/REST のインターフェースには含まれません。

権限とデータの境界 ​

  • アプリ内エージェントと外部エージェントに隠れた特権経路はなく、どちらも同じツール定義を使います。
  • 外部からの編集はアクティブなプロジェクトを対象とし、各図形の公開状態に従います。
  • API キーが .eido に書き込まれることはありません。Windows と Android のアプリは、OS が保護する資格情報ストレージを使用します。
  • エージェントのチャットは既定では .eido に含まれず、エージェントのチャットを含めるを明示的に有効にした場合にのみ共有されます。