ConnectConnectDevin Desktop (formerly Windsurf)

MCP Client

Devin Desktop (formerly Windsurf)

Configure the direct Devin Desktop (formerly Windsurf) MCP client with XMEMO_KEY and stable instance attribution.

Prerequisite

Use Devin Desktop (formerly Windsurf) with its direct MCP configuration support. Devin Desktop connects directly using an environment-backed bearer token with XMEMO_KEY over Streamable HTTP transport configured via serverUrl.

  • Endpoint: https://xmemo.dev/mcp.
  • Transport: Streamable HTTP (configured using serverUrl).
  • Auth mode: direct bearer token from XMEMO_KEY.
  • Config file: ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json on Windows; installs prior to the rename used ~/.codeium/windsurf/mcp_config.json).
  • Client ID: windsurf (remains windsurf for compatibility).
  • Readiness status: Evidence required (planned marketplace, not certified).

Install / setup

Configure manually: add the XMemo server block to ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json on Windows) under mcpServers. 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. Client ID remains windsurf for compatibility.

  • 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}"
      }
    }
  }
}

Set the credential

Set XMEMO_KEY in the environment before launching Devin Desktop. Keep the token in the environment rather than hardcoding it into the configuration file.

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

Generate / confirm XMEMO_AGENT_INSTANCE_ID

Generate a stable non-secret instance identifier per local Devin Desktop installation so attribution remains consistent across restarts.

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

Preserve the existing config block

Use the configuration block rendered on this page. Configure manually at ~/.config/devin/mcp_config.json (%APPDATA%\devin\mcp_config.json on Windows). Client ID remains windsurf for compatibility.

Restart the client

Restart Devin Desktop after updating ~/.config/devin/mcp_config.json or the environment so the MCP server connection is established.

Test with a real recall call

Make the first MCP call read-only. This is an actual recall invocation, not a health-check placeholder, and it does not write memory.

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

Expected response (literal shape)

A successful call returns the public ranked text shape below; the reference and content are real values from the authorized memory space.

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

Common Errors

Devin Desktop is a direct bearer client; verify environment variables if connection issues occur.

  • 401 invalid_token — XMEMO_KEY is missing, expired, revoked, or otherwise invalid: verify XMEMO_KEY in the environment and restart Devin Desktop.
  • 403 insufficient_scope — the token does not grant memory:read: issue a token with the required scope.
  • Invalid XMEMO_AGENT_INSTANCE_ID values are normalized to no instance attribution rather than raising an auth error.

Certification and readiness

Certification status: Evidence required. Marketplace status: Planned. Integration evidence is required before full certification is granted.

  • Certification status: Evidence required.
  • Marketplace status: Planned.
  • Readiness note: See /product/docs#client-capability-matrix; configure manually at ~/.config/devin/mcp_config.json.

Devin Desktop (formerly Windsurf) MCP configuration

Configuration file: ~/.config/devin/mcp_config.json

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}"
      }
    }
  }
}

Client readiness

  • Evidence required
  • Planned
  • See /product/docs#client-capability-matrix; configure manually at ~/.config/devin/mcp_config.json.

Source: Client capability matrix