Skip to content

Latest commit

 

History

History
200 lines (151 loc) · 5.31 KB

File metadata and controls

200 lines (151 loc) · 5.31 KB
title Client Setup
description Configure the Memori MCP server in Cursor, Claude Code, Codex, Warp, Antigravity, and other MCP clients with custom connectors.

Client Setup

Connect your IDE agent to the Memori MCP server. Each client uses a local MCP configuration with your API key and attribution headers.

Prerequisites

  • A Memori API key from app.memorilabs.ai
  • An entity_id (identifies the end user) and optional process_id (identifies the agent or workflow)

Set these as environment variables or replace the placeholders directly in the config:

export MEMORI_API_KEY="your-memori-api-key"
export MEMORI_ENTITY_ID="user_123"
export MEMORI_PROCESS_ID="my_agent" # optional

Cursor

Create ~/.cursor/mcp.json (global) or .cursor/mcp.json (project-level):

{
  "mcpServers": {
    "memori": {
      "url": "https://api.memorilabs.ai/mcp/",
      "headers": {
        "X-Memori-API-Key": "${MEMORI_API_KEY}",
        "X-Memori-Entity-Id": "${MEMORI_ENTITY_ID}",
        "X-Memori-Process-Id": "${MEMORI_PROCESS_ID}"
      }
    }
  }
}

Restart Cursor after saving the file.

Claude Code

You can configure via the CLI or a .mcp.json file.

CLI

claude mcp add --transport http memori https://api.memorilabs.ai/mcp/ \
  --header "X-Memori-API-Key: ${MEMORI_API_KEY}" \
  --header "X-Memori-Entity-Id: ${MEMORI_ENTITY_ID}" \
  --header "X-Memori-Process-Id: ${MEMORI_PROCESS_ID}"

Project Config

Create .mcp.json in your project root:

{
  "mcpServers": {
    "memori": {
      "type": "http",
      "url": "https://api.memorilabs.ai/mcp/",
      "headers": {
        "X-Memori-API-Key": "${MEMORI_API_KEY}",
        "X-Memori-Entity-Id": "${MEMORI_ENTITY_ID}",
        "X-Memori-Process-Id": "${MEMORI_PROCESS_ID}"
      }
    }
  }
}

Run /mcp inside Claude Code to verify the server status.

OpenAI Codex

Codex reads MCP server configuration from ~/.codex/config.toml. Add this:

[mcp_servers.memori]
enabled = true
url = "https://api.memorilabs.ai/mcp/"

[mcp_servers.memori.http_headers]
X-Memori-API-Key = "${MEMORI_API_KEY}"
X-Memori-Entity-Id = "${MEMORI_ENTITY_ID}"
X-Memori-Process-Id = "${MEMORI_PROCESS_ID}"

X-Memori-Process-Id is optional.

You can also add the server from the Codex UI: Settings > Settings > MCP Servers > + Add Server.

Warp

Warp cloud agents support MCP JSON config with remote URLs. Add the Memori server to your Warp MCP configuration:

{
  "memori": {
    "serverUrl": "https://api.memorilabs.ai/mcp/",
    "headers": {
      "X-Memori-API-Key": "your-memori-api-key",
      "X-Memori-Entity-Id": "user_123",
      "X-Memori-Process-Id": "my_agent"
    }
  }
}

X-Memori-Process-Id is optional.

Antigravity

Open Manage MCP Servers and edit mcp_config.json:

{
  "mcpServers": {
    "memori": {
      "serverUrl": "https://api.memorilabs.ai/mcp/",
      "headers": {
        "X-Memori-API-Key": "your-memori-api-key",
        "X-Memori-Entity-Id": "user_123",
        "X-Memori-Process-Id": "my_agent"
      }
    }
  }
}

Save and restart Antigravity so the tool list refreshes.

LangChain

Set headers dynamically based on the current user session:

from langchain_mcp_adapters.client import MultiServerMCPClient

client = MultiServerMCPClient({
    "memori": {
        "transport": "streamable_http",
        "url": "https://api.memorilabs.ai/mcp/",
        "headers": {
            "X-Memori-API-Key": "your-memori-api-key",
            "X-Memori-Entity-Id": "user_123",
            "X-Memori-Process-Id": "langchain_agent"
        }
    }
})

# Load the tools to be used by your LangChain agent
tools = await client.get_tools()

Slack

Set headers dynamically per request using the Slack user ID from the event payload:

const memoriHeaders = {
  "X-Memori-API-Key": process.env.MEMORI_API_KEY,
  "X-Memori-Entity-Id": slackEvent.user,         // e.g. "U04ABCDEF"
  "X-Memori-Process-Id": "supportbot",
};

Pass these headers in every MCP tool call. session_id is derived automatically from entity_id and the current UTC hour. Use process_id to isolate memories by integration or workspace so preferences from a personal workspace don't bleed into a team workspace.

Notion

Set the entity and process IDs from the Notion API user object:

const memoriHeaders = {
  "X-Memori-API-Key": process.env.MEMORI_API_KEY,
  "X-Memori-Entity-Id": notionUser.id,              // e.g. "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  "X-Memori-Process-Id": "notion_writing_assistant",
};

Pass these headers in every MCP tool call. session_id is derived automatically from entity_id and the current UTC hour. Use process_id to isolate memories by integration or workspace so preferences from a personal workspace don't bleed into a team workspace.

Verifying the Connection

After configuring any client:

  1. Confirm the MCP server shows as connected in your client's UI
  2. Check that recall and advanced_augmentation appear in the tools list
  3. Send a test message — recall should return a response (even if empty for new entities)
  4. Verify advanced_augmentation returns memory being created

If you receive 401 errors, double-check your X-Memori-API-Key value. See Troubleshooting for more help.