# Devin Desktop (formerly Windsurf)

XMEMO_KEY と安定したインスタンス帰属を使用して、直接接続の Devin Desktop（旧 Windsurf）MCP クライアントを構成します。

- Canonical: https://docs.xmemo.dev/ja/docs/mcp/windsurf
- Locale: ja-JP
- Content-Locale: ja-JP
- Canonical-Content-Digest: 5e5cb3cd0b8eb84a3637bb84424ecc107ee13595a609a88d8d53d2f712799031
- Edition-Digest: bfdb56d59311b74d3d10646362d23b4e658b4705b32d522ad02beed58b7bdb6b
- Source-Revision: sha256:117e4921d1aa58f84dd035761b8310480f5d3f9e14e829bf87df7418a810cafd

## 前提条件

直接 MCP 構成サポートを備えた Devin Desktop（旧 Windsurf）を使用します。Devin Desktop は、serverUrl 経由で構成された Streamable HTTP トランスポート上で、XMEMO_KEY を含む環境ベースのベアラートークンを使用して直接接続します。

- Endpoint: https://xmemo.dev/mcp。
- Transport: Streamable HTTP (serverUrl を使用して構成)。
- Auth mode: XMEMO_KEY からの直接ベアラートークン。
- Config file: ~/.config/devin/mcp_config.json (Windows では %APPDATA%\devin\mcp_config.json。名前変更前のインストールでは ~/.codeium/windsurf/mcp_config.json を使用していました)。
- Client ID: windsurf (互換性のために windsurf のままです)。
- 準備状況ステータス: 証拠が必要（マーケットプレイス計画中、未認定）。

## インストール / セットアップ

手動で構成：mcpServers の下にある ~/.config/devin/mcp_config.json（Windows では %APPDATA%\devin\mcp_config.json）に XMemo サーバーブロックを追加します。注意：npx @xmemo/client mcp add windsurf は現在、名前変更前の場所である ~/.codeium/windsurf/mcp_config.json に書き込みます（名前変更前のインストールでのみ有用です）。そのため、Devin Desktop ユーザーは手動で構成するかファイルを移動する必要があります。クライアント ID は互換性のために windsurf のままです。

- 直接クライアント：環境内に XMEMO_KEY を指定して、~/.config/devin/mcp_config.json（Windows では %APPDATA%\devin\mcp_config.json）で手動で構成します。
- 注意：npx @xmemo/client mcp add windsurf は現在、名前変更前の場所である ~/.codeium/windsurf/mcp_config.json に書き込みます（名前変更前のインストールでのみ有用です）。そのため、Devin Desktop ユーザーは手動で構成するかファイルを移動する必要があります。

```json
{
  "mcpServers": {
    "XMemo": {
      "serverUrl": "https://xmemo.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${env:XMEMO_KEY}",
        "X-Memory-OS-Agent-ID": "windsurf",
        "X-Memory-OS-Agent-Instance-ID": "${env:XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}
```

## 認証情報を設定する

Devin Desktop を起動する前に環境に XMEMO_KEY を設定します。トークンを設定ファイルにハードコードするのではなく、環境内に保持してください。

```bash
export XMEMO_KEY='<your-xmemo-token>'
```

## XMEMO_AGENT_INSTANCE_ID を生成 / 確認する

ローカルの Devin Desktop インストールごとに安定した非シークレットのインスタンス識別子を生成し、再起動後も帰属が一貫して保たれるようにします。

```bash
export XMEMO_AGENT_INSTANCE_ID='<stable-local-devin-desktop-instance-id>'
# Persist and reuse this value for the same local install
```

## 既存の構成ブロックを保持する

このページに表示された構成ブロックを使用します。~/.config/devin/mcp_config.json（Windows では %APPDATA%\devin\mcp_config.json）で手動で構成してください。クライアント ID は互換性のために windsurf のままです。

## クライアントを再起動する

~/.config/devin/mcp_config.json または環境を更新した後に Devin Desktop を再起動して、MCP サーバー接続を確立します。

## 実際の recall 呼び出しでテストする

最初の MCP 呼び出しは読み取り専用にします。これはヘルスチェック用のプレースホルダーではなく実際のリコール呼び出しであり、メモリへの書き込みは行いません。

```text
recall({ query: "connection check", limit: 1 })
```

## 期待される応答（リテラル形式）

成功した呼び出しは、以下の公開されたランク付けされたテキスト形式を返します。参照とコンテンツは、承認されたメモリ空間からの実際の値です。

```text
### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>
```

## よくあるエラー

Devin Desktop は直接ベアラークライアントです。接続の問題が発生した場合は環境変数を確認してください。

- 401 invalid_token — XMEMO_KEY が欠落しているか、期限切れ、取り消されているか、または無効です: 環境内の XMEMO_KEY を確認し、Devin Desktop を再起動してください。
- 403 insufficient_scope — トークンで memory:read が許可されていません: 必要なスコープを持つトークンを発行してください。
- 無効な XMEMO_AGENT_INSTANCE_ID 値は、認証エラーを発生させるのではなくインスタンス帰属なしとして正規化されます。

## 認定と準備状況

認定ステータス: 証拠が必要。マーケットプレイスステータス: 計画中。完全な認定が付与される前に統合の証拠が必要です。

- 認定ステータス: 証拠が必要。
- マーケットプレイスステータス: 計画中。
- 準備状況に関する注意: /product/docs#client-capability-matrix を参照してください。~/.config/devin/mcp_config.json で手動で構成します。

## Devin Desktop (formerly Windsurf)

Direct client: configure manually in ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json on Windows) with XMEMO_KEY in the environment. Note: npx @xmemo/client mcp add windsurf currently writes the pre-rename location ~/.codeium/windsurf/mcp_config.json (useful only for pre-rename installs), so Devin Desktop users should configure manually or move the file.

```
{
  "mcpServers": {
    "XMemo": {
      "serverUrl": "https://xmemo.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${env:XMEMO_KEY}",
        "X-Memory-OS-Agent-ID": "windsurf",
        "X-Memory-OS-Agent-Instance-ID": "${env:XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}
```
