Client Integrations

August 27, 2026 ยท View on GitHub

Agent Memory Bridge is a local-first stdio MCP server. The stable contract is:

  • the client launches a local subprocess
  • the bridge reads JSON-RPC on stdin
  • the bridge writes JSON-RPC on stdout
  • optional environment variables set bridge home, config path, and provenance defaults

That means the generic stdio shape matters more than any one IDE's UI.

The current source/package line is 0.32.2 with exactly 17 public MCP tools. The normal install route is pip install agent-memory-bridge; GitHub Releases remains the publication authority for source tags and release notes. Knowledge Explorer is a CLI-only, read-only derived projection over existing project knowledge; use a source checkout to evaluate an exact checkout and consult GitHub Releases for live publication availability. Its schema digest is 24c5c52321d61b4b6f647c0d74e2d8304ca68716c403e08a274e9badfd8dc9f8. Schema v12 retains governed-v2 receipts, typed event/CAS rules, one-snapshot recovery, and fail-closed projection handling, while adding an isolated internal Dynamic State release lane. Dynamic State uses typed commands, version/database- epoch guards, lifecycle idempotency, immutable history, and rebuildable heads; it adds no MCP tool and does not alter client integration behavior. Watcher continuity uses incremental cursors, explicit close, and explicit continuation. Utility and consolidation remain shadow-only. The pinned v0.27.0 route is a historical published baseline. Published release availability is listed in GitHub Releases; the published v0.30.0 source archive is https://github.com/zzhang82/Agent-Memory-Bridge/archive/refs/tags/v0.30.0.zip.

Status Labels

  • Verified: we have a real local proof path for this client or config surface
  • Documented: official docs support the shape and we provide a copyable example
  • Locally tested: we dogfooded the client path locally, but the config UX is still app-specific
  • Supported: the MCP spec path is generic stdio, not a client-specific promise

Support Matrix

ClientStatusNotes
CodexVerified reference clientStrongest dogfood path today
Generic stdio MCPSupportedWorks anywhere the client can launch a local stdio server
VS Code / CopilotDocumentedUses VS Code's servers object in mcp.json
Claude CodeDocumentedOfficial claude mcp add --transport stdio flow exists
Claude DesktopDocumentedLocal mcpServers JSON is documented; desktop extensions are separate
CursorDocumentedCurrent docs describe MCP JSON config with stdio entries
ClineDocumentedUses mcpServers JSON config
AntigravityLocally testedShared-MCP writes were observed locally; exact config file path can vary
OpenCodeLocally testedLocal JSON mcp command shape was dogfooded locally
HermesLocally testedLocal YAML mcp_servers shape was dogfooded locally; adapter workflows remain manual

Evidence And Contributions

Documented means the example matches the linked first-party client docs. It does not mean the client vendor certified Agent Memory Bridge or that a marketplace listing exists.

To report a successful install, blocker, or stale client shape, use the client integration issue form. Include the client and version, operating system, GitHub revision or install source, redacted config shape, and exact validation result. A status should move to Locally tested or Verified only with reproducible evidence.

For the Phase 1 pilot, reply with outcomes to Discussion #4. Use the integration issue form instead for a separate reproducible setup or documentation defect.

Contributions should stay client-specific: cite the official client docs, update the renderer test when generated output changes, and avoid secrets, machine paths, marketplace claims, or claims that AMB replaces client-native memory.

Generic Stdio First

Installing AMB and registering it with a coding client are separate steps. pip install agent-memory-bridge installs the server on the machine; each client that should use AMB must still register it as an MCP stdio server. Clients that should share one project memory should point to the same persistent AGENT_MEMORY_BRIDGE_HOME.

If your client can launch a local subprocess and speak stdio MCP, start here:

{
  "mcpServers": {
    "agentMemoryBridge": {
      "command": "/path/to/agent-memory-bridge/.amb-venv/bin/python",
      "args": ["-m", "agent_mem_bridge"],
      "cwd": "/path/to/agent-memory-bridge",
      "env": {
        "AGENT_MEMORY_BRIDGE_HOME": "/path/to/bridge-home",
        "AGENT_MEMORY_BRIDGE_CONFIG": "/path/to/agent-memory-bridge-config.toml",
        "AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT": "generic",
        "AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT": "stdio"
      }
    }
  }
}

For the Phase 1 pilot, choose one persistent AGENT_MEMORY_BRIDGE_HOME and use it in every client configuration. Render the approved client's real fragment before editing its config:

<venv-python> -m agent_mem_bridge config --client <client> --python "<venv-python>" --cwd "<absolute-path-to-your-project>" --bridge-home "<absolute-path-to-one-persistent-bridge-home>"

The generated default config path is optional for this baseline. If no file exists there, doctor may warn and the baseline server can still run. Use --example only when you need placeholder-safe output for documentation; without it, the renderer uses the supplied Python path and bridge home, plus the project cwd where the target client supports one.

After the client registration gate passes, use store(...) and recall(...) as MCP tool calls through that configured client, not as terminal subcommands.

For a GitHub-source install that does not assume uv, follow llms-install.md, derive the isolated venv interpreter, and use that value as the stdio command. uvx is an optional shortcut only.

Static-schema placeholders

Some MCP clients keep static tool schemas and may include signal-only fields on kind="memory" paths: for example ttl_seconds or expires_at on store, and signal_status on recall, browse, or export. AMB normalizes those fields at the stdio MCP boundary when kind="memory", so static-schema clients do not have to strip them before calling the tools.

That compatibility does not merge the memory and signal lanes. Non-empty signal lifecycle values are not applied to kind="memory"; they remain valid only on kind="signal" paths, and lower-level store/repository behavior stays strict.

Two-Client Activation Receipt

Use this when you want a local receipt that one client wrote reviewed project memory and a second client read it under the same correlation. The receipt uses declared source_client labels only. It does not authenticate identity, certify the vendor, or prove external adoption.

The setup uses the existing public MCP operations:

# Client A stores one reviewed project memory.
store(
  namespace="project:demo",
  kind="memory",
  title="Reviewed SQLite guidance",
  content="record_type: gotcha\nclaim: Use WAL mode for concurrent SQLite readers.",
  tags=["workflow:cross-client-activation", "activation-role:writer", "reviewed:true"],
  correlation_id="activation-demo-001",
  source_client="client-a"
)

# Save the returned id as <writer_memory_id>.

Client B should recall the same correlation before it records the read signal:

recall(
  namespace="project:demo",
  query="SQLite concurrent readers",
  kind="memory",
  correlation_id="activation-demo-001"
)

store(
  namespace="project:demo",
  kind="signal",
  content="{\"observed_memory_id\":\"<writer_memory_id>\"}",
  tags=["workflow:cross-client-activation", "activation-role:reader"],
  correlation_id="activation-demo-001",
  source_client="client-b"
)

ack_signal(id="<reader_signal_id>")

Then render the local receipt:

<venv-python> -m agent_mem_bridge activation-receipt --namespace project:demo --correlation-id activation-demo-001 --format markdown

A passing receipt means exactly one writer memory and one acked reader signal matched the namespace and correlation, the reader's observed_memory_id matched the writer record id, and the two declared source_client labels were present and distinct. The receipt hashes namespace, correlation id, record ids, and source-client labels; it does not include raw memory content, private paths, session ids, model ids, or client workspace values.

If a client sets AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT, AMB can fill source_client when the client omits it. For activation receipts, make the two declared labels explicit in your review notes so the receipt is inspectable.

Dockerized Stdio

If your client can launch Docker as the subprocess, keep stdin open and mount a host-owned bridge home into the image:

docker build -t agent-memory-bridge:local .
docker run --rm -i \
  -e AGENT_MEMORY_BRIDGE_HOME=/data/agent-memory-bridge \
  -v /path/to/bridge-home:/data/agent-memory-bridge \
  agent-memory-bridge:local

The equivalent mcpServers shape is:

{
  "mcpServers": {
    "agentMemoryBridge": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "AGENT_MEMORY_BRIDGE_HOME=/data/agent-memory-bridge",
        "-e",
        "AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT=generic",
        "-e",
        "AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT=stdio",
        "-v",
        "/path/to/bridge-home:/data/agent-memory-bridge",
        "agent-memory-bridge:local"
      ]
    }
  }
}

If you mount a config file, pass it explicitly:

docker run --rm -i \
  -e AGENT_MEMORY_BRIDGE_HOME=/data/agent-memory-bridge \
  -e AGENT_MEMORY_BRIDGE_CONFIG=/config/config.toml \
  -v /path/to/bridge-home:/data/agent-memory-bridge \
  -v /path/to/agent-memory-bridge-config.toml:/config/config.toml:ro \
  agent-memory-bridge:local

VS Code / Copilot

Status: Documented

VS Code's current MCP configuration reference uses a top-level servers object in workspace or user-profile mcp.json. The workspace file is .vscode/mcp.json; use MCP: Open User Configuration for a user-scoped install.

{
  "servers": {
    "agentMemoryBridge": {
      "type": "stdio",
      "command": "<venv-python>",
      "args": ["-m", "agent_mem_bridge"],
      "env": {
        "AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT": "vscode",
        "AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT": "stdio"
      }
    }
  }
}

Review the command and trust prompt before starting the server. This is a VS Code MCP configuration for use by agent chat, not a Visual Studio Marketplace extension or an MCP gallery claim.

Codex

Status: Verified reference client

Codex uses config.toml with [mcp_servers.<name>] entries for stdio servers.

[mcp_servers.agentMemoryBridge]
command = "/path/to/agent-memory-bridge/.amb-venv/bin/python"
args = ["-m", "agent_mem_bridge"]
cwd = "/path/to/agent-memory-bridge"

[mcp_servers.agentMemoryBridge.env]
AGENT_MEMORY_BRIDGE_HOME = "/path/to/bridge-home"
AGENT_MEMORY_BRIDGE_CONFIG = "/path/to/agent-memory-bridge-config.toml"
AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT = "codex"
AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT = "stdio"

You can also manage Codex MCP servers from the codex mcp CLI, but the static TOML example above is the most direct bridge-side shape.

Claude Code

Status: Documented

Claude Code documents a local stdio add flow:

claude mcp add --transport stdio \
  --env AGENT_MEMORY_BRIDGE_HOME=/path/to/bridge-home \
  --env AGENT_MEMORY_BRIDGE_CONFIG=/path/to/agent-memory-bridge-config.toml \
  --env AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT=claude-code \
  --env AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT=stdio \
  agentMemoryBridge -- /path/to/agent-memory-bridge/.amb-venv/bin/python -m agent_mem_bridge

For a checked-in project configuration, use the generic mcpServers shape in .mcp.json and review Claude Code's project trust prompt. For user scope, prefer claude mcp add --scope user ... rather than editing internal config by hand.

Claude Desktop

Status: Documented

Claude Desktop local MCP configuration uses an mcpServers JSON object for local stdio servers. Desktop extensions and MCPB packaging are a separate distribution path and are intentionally out of scope for this release.

{
  "mcpServers": {
    "agentMemoryBridge": {
      "type": "stdio",
      "command": "/path/to/agent-memory-bridge/.amb-venv/bin/python",
      "args": ["-m", "agent_mem_bridge"],
      "cwd": "/path/to/agent-memory-bridge",
      "env": {
        "AGENT_MEMORY_BRIDGE_HOME": "/path/to/bridge-home",
        "AGENT_MEMORY_BRIDGE_CONFIG": "/path/to/agent-memory-bridge-config.toml",
        "AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT": "claude-desktop",
        "AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT": "stdio"
      }
    }
  }
}

Cursor

Status: Documented

Cursor's MCP docs describe project or user JSON config with mcpServers entries. This repository does not claim an Add to Cursor listing; use the JSON path below.

{
  "mcpServers": {
    "agentMemoryBridge": {
      "type": "stdio",
      "command": "/path/to/agent-memory-bridge/.amb-venv/bin/python",
      "args": ["-m", "agent_mem_bridge"],
      "cwd": "/path/to/agent-memory-bridge",
      "env": {
        "AGENT_MEMORY_BRIDGE_HOME": "/path/to/bridge-home",
        "AGENT_MEMORY_BRIDGE_CONFIG": "/path/to/agent-memory-bridge-config.toml",
        "AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT": "cursor",
        "AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT": "stdio"
      }
    }
  }
}

Cline

Status: Documented

Cline's MCP docs use JSON mcpServers entries for local stdio servers and expose an MCP configuration UI and cline mcp wizard. An agent-led GitHub install should follow llms-install.md, then add the derived interpreter and arguments below through Cline's approved config flow.

{
  "mcpServers": {
    "agentMemoryBridge": {
      "command": "/path/to/agent-memory-bridge/.amb-venv/bin/python",
      "args": ["-m", "agent_mem_bridge"],
      "cwd": "/path/to/agent-memory-bridge",
      "env": {
        "AGENT_MEMORY_BRIDGE_HOME": "/path/to/bridge-home",
        "AGENT_MEMORY_BRIDGE_CONFIG": "/path/to/agent-memory-bridge-config.toml",
        "AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT": "cline",
        "AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT": "stdio"
      }
    }
  }
}

Antigravity

Status: Locally tested

Antigravity has a raw MCP config view with mcpServers, and AMB shared-memory writes were dogfooded locally through that path. The exact file path can vary by app install, so document the JSON shape rather than promising one hard-coded location.

{
  "mcpServers": {
    "agentMemoryBridge": {
      "command": "/path/to/agent-memory-bridge/.amb-venv/bin/python",
      "args": ["-m", "agent_mem_bridge"],
      "cwd": "/path/to/agent-memory-bridge",
      "env": {
        "AGENT_MEMORY_BRIDGE_HOME": "/path/to/bridge-home",
        "AGENT_MEMORY_BRIDGE_CONFIG": "/path/to/agent-memory-bridge-config.toml",
        "AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT": "antigravity",
        "AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT": "stdio"
      }
    }
  }
}

OpenCode

Status: Locally tested

OpenCode's current MCP docs define local servers under mcp, with a command array and an environment object. Use opencode mcp add for the guided flow or merge the generated shape into the intended user or project config:

<venv-python> -m agent_mem_bridge first-run --namespace project:my-app --query "What should I check before submitting changes?"
<venv-python> -m agent_mem_bridge config --client opencode --example
{
  "mcp": {
    "agentMemoryBridge": {
      "type": "local",
      "command": [
        "/path/to/agent-memory-bridge/.amb-venv/bin/python",
        "-m",
        "agent_mem_bridge"
      ],
      "enabled": true,
      "environment": {
        "AGENT_MEMORY_BRIDGE_HOME": "/path/to/bridge-home",
        "AGENT_MEMORY_BRIDGE_CONFIG": "/path/to/agent-memory-bridge-config.toml",
        "AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT": "opencode",
        "AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT": "stdio"
      }
    }
  }
}

Hermes

Status: Locally tested

Hermes's current MCP docs use mcp_servers in ~/.hermes/config.yaml for local stdio servers. AMH/Hermes adapter commands remain a manual helper workflow; AMB itself remains a separate MCP store.

<venv-python> -m agent_mem_bridge first-run --namespace project:my-app --query "What should I check before submitting changes?"
<venv-python> -m agent_mem_bridge config --client hermes --example
mcp_servers:
  agentMemoryBridge:
    command: '/path/to/agent-memory-bridge/.amb-venv/bin/python'
    args:
      - '-m'
      - 'agent_mem_bridge'
    env:
      AGENT_MEMORY_BRIDGE_HOME: '/path/to/bridge-home'
      AGENT_MEMORY_BRIDGE_CONFIG: '/path/to/agent-memory-bridge-config.toml'
      AGENT_MEMORY_BRIDGE_DEFAULT_SOURCE_CLIENT: 'hermes'
      AGENT_MEMORY_BRIDGE_DEFAULT_CLIENT_TRANSPORT: 'stdio'

After editing the config, run hermes mcp test agentMemoryBridge and hermes mcp list, or reload MCP servers from Hermes and inspect the connection status.

Verify Before You Trust It

After adding the config, run:

<venv-python> -m agent_mem_bridge doctor
<venv-python> -m agent_mem_bridge verify

doctor explains install problems without touching your live bridge state. verify launches an isolated temp runtime and proves that the local stdio path actually works. It does not prove that a client loaded the configuration. doctor checks local prerequisites and resolved paths. Restart or reload the client and inspect its MCP status/tool visibility; that client registration gate proves the configuration was loaded.

What This Guide Does Not Claim

This page is intentionally narrower than a broad MCP ecosystem survey.

It does not claim:

  • packaged desktop extension distribution
  • OAuth support across every client
  • remote HTTP deployment parity
  • that every stdio-capable client has been locally verified

If your client can launch a local stdio server but is not listed above, start from the generic shape first and treat it as Supported, not automatically Verified.

P5 session evidence

The V0.30 source line has session-level evidence in both DeepSeek Harness and OpenCode using official deterministic/mock model infrastructure. DSH and OpenCode are marked SESSION VERIFIED for the captured versions; MODEL VERIFIED = No. This is evidence of the tested local MCP workflows, not a general provider compatibility claim, host endorsement, productivity result, or certification of every client version.