{
  "name": "xmemory",
  "description": "Schema-grounded memory for AI agents. A first-party store: it holds the data you explicitly save to your xmemory instance, in xmemory's own backend.",
  "homepage": "https://xmemory.ai/",
  "console": "https://console.xmemory.ai/",
  "install_page": {
    "html": "https://xmemory.ai/install/",
    "markdown": "https://xmemory.ai/install/index.html.md"
  },
  "agent_context": {
    "llms_txt": "https://xmemory.ai/llms.txt",
    "llms_full_txt": "https://xmemory.ai/llms-full.txt",
    "onboarding_prompt": "https://xmemory.ai/agent-onboarding-prompt.txt",
    "onboarding_prompt_note": "For a reader with no account or instance yet: a prompt that drives an agent through installing the CLI, signing in by email, and creating a first instance. The install page below assumes an instance id already exists."
  },
  "cli": {
    "package": "xmemcli",
    "install": "uv tool install xmemcli",
    "upgrade": "uv tool install --upgrade xmemcli",
    "status": "xmemcli --json status",
    "min_version_for_mcp_transport": "0.0.7",
    "note": "`xmemcli mcp <instance_id>` is a stdio MCP transport that supplies the credential per connection, and `xmemcli binding` / `xmemcli context` back the session-start hook. All three arrived in 0.0.7; check `xmemcli --json status` and upgrade before registering, because an older client accepts the command and then cannot run it.",
    "documentation": "https://xmemory.ai/cli/"
  },
  "mcp": {
    "base_url": "https://mcp.xmemory.ai",
    "instance_url_template": "https://mcp.xmemory.ai/instance/{instance_id}",
    "admin_url": "https://mcp.xmemory.ai/admin",
    "transport": "streamable-http",
    "authorization": "oauth2-pkce",
    "documentation": "https://xmemory.ai/mcp/"
  },
  "surfaces": {
    "claude_code": {
      "install": "plugin",
      "marketplace": "xmemory-ai/claude-code-plugin",
      "plugin": "xmemory@xmemory-ai",
      "commands": [
        "claude plugin marketplace add xmemory-ai/claude-code-plugin",
        "claude plugin install xmemory@xmemory-ai",
        "claude mcp add xmemory-{instance_id_prefix8} -- xmemcli mcp {instance_id}",
        "claude mcp add --transport http xmemory-{instance_id_prefix8} https://mcp.xmemory.ai/instance/{instance_id}"
      ],
      "per_instance_note": "Register one server per instance, named 'xmemory-' plus the first eight characters of the instance id — the same name the instance's own setup instructions print, so following either produces one entry rather than two. The client form reads the credential from the local CLI per connection and needs xmemcli 0.0.7 or newer; the direct form signs in through a browser and needs no CLI.",
      "server_name_template": "xmemory-{instance_id_prefix8}",
      "documentation": "https://xmemory.ai/install/#claude-code"
    },
    "codex": {
      "install": "plugin",
      "marketplace": "xmemory-ai/claude-code-plugin",
      "plugin": "xmemory@xmemory-ai",
      "note": "The same package as Claude Code, with a Codex entry point. Lifecycle hooks additionally require '[features] hooks = true' and per-session '/hooks' trust; until both are granted, the managed block in the global AGENTS.md carries the instructions. Installing the package and connecting an instance are separate steps.",
      "commands": [
        "codex plugin marketplace add xmemory-ai/claude-code-plugin",
        "codex plugin add xmemory@xmemory-ai",
        "codex mcp add xmemory-{instance_id_prefix8} -- xmemcli mcp {instance_id}",
        "codex mcp add xmemory-{instance_id_prefix8} --url https://mcp.xmemory.ai/instance/{instance_id}",
        "codex mcp login xmemory-{instance_id_prefix8}"
      ],
      "per_instance_note": "Register one server per instance, named 'xmemory-' plus the first eight characters of the instance id — the same name the instance's own setup instructions print, so following either produces one entry rather than two. The client form reads the credential from the local CLI per connection and needs xmemcli 0.0.7 or newer; the direct form signs in through a browser and needs no CLI.",
      "server_name_template": "xmemory-{instance_id_prefix8}",
      "documentation": "https://xmemory.ai/install/#codex"
    },
    "claude_desktop": {
      "install": "connector",
      "note": "Added manually as a custom connector; no plugins or hooks on this surface.",
      "ui_path": "Customize > Connectors > (+ on claude.ai, Add in Claude Desktop) > Add custom connector",
      "connector_url_template": "https://mcp.xmemory.ai/instance/{instance_id}",
      "sign_in": "The connector opens xmemory's own sign-in form, which asks for an xmemory API key created on the console's API Keys page. Schema management starts unchecked in the tool groups on that screen.",
      "documentation": "https://xmemory.ai/install/#claude-desktop-and-claudeai"
    },
    "chatgpt": {
      "install": "connector",
      "note": "Added manually as a custom MCP server; no plugins or hooks on this surface. The web app and the desktop app take different routes.",
      "ui_path_web": "Settings > Security and login > Developer mode (required first), then Plugins > + > New Plugin: Name, Connection = Server URL, Authentication = OAuth, confirm the risk notice, Create",
      "ui_path_desktop_app": "Settings > Plugins > MCPs > + Add server > Connect to a custom MCP: Name, Type = Streamable HTTP (the form opens on STDIO)",
      "connector_url_template": "https://mcp.xmemory.ai/instance/{instance_id}",
      "sign_in": "The connector opens xmemory's own sign-in form, which asks for an xmemory API key created on the console's API Keys page. Schema management starts unchecked in the tool groups on that screen.",
      "documentation": "https://xmemory.ai/install/#chatgpt"
    }
  },
  "policy": {
    "instance_id_is_not_a_credential": true,
    "customer_data_on_this_document": false,
    "privacy": "https://xmemory.ai/privacy-policy.html",
    "terms": "https://xmemory.ai/terms-and-conditions.html"
  }
}
